
Fike
13.03.2017
20:55:51
все по старинке, в одном mysql
выдумали тут

Алексей
13.03.2017
20:56:05
эти мысли мне говорят что я что то не понимаю. видимо надо проектировать такие системы по другому

Fike
13.03.2017
20:57:10

Google

Fike
13.03.2017
21:00:36
Там все равно невозможно гарантировать отсутствие мусора внутри. Можно только заставить приложения участвовать в его подчищении.

I
14.03.2017
12:56:59
Кто можен направить в исправлении проблемы в Oracle?

Алексей
14.03.2017
12:57:22
это викторина ?

I
14.03.2017
12:57:25
ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
ORA-00942: table or view does not exist
01652. 00000 - "unable to extend temp segment by %s in tablespace %s"
*Cause: Failed to allocate an extent of the required number of blocks for
a temporary segment in the tablespace indicated.
*Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more
files to the tablespace indicated.
Error at Line: 2 Column: 6

Алексей
14.03.2017
12:57:28
думаю oracle dba

Amber 8
14.03.2017
12:58:03

I
14.03.2017
12:58:10
Я просто не силен в оракле

Kirill
14.03.2017
12:59:07
Я тоже не силён, но похоже, что память аллоцировать не может
Место есть свободное на диске? У пользователя есть права на создание файлов?

I
14.03.2017
13:00:35
Место есть, права есть на создание

Kirill
14.03.2017
13:00:57
Я имею ввиду пользователя ос, а не бд

I
14.03.2017
13:01:06
Да
От админа захожу

Google

Kirill
14.03.2017
13:04:03
Возможно, тут есть ответ. Щас на работе, разбираться нет времени
http://stackoverflow.com/questions/25350703/ora-01652-unable-to-extend-temp-segment-by-128-in-tablespace-system-how-to-ext
ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
You will not be able to solve this error with "hints", but you have two alternatives:
1) Have the DBA modify the datafile associated to the TEMP tablespace to AUTOEXTEND ON — or — he needs to allocate more storage to the TEMP tablespace.
2) Convert some of the inline views to temporary tables and then join them to the main query.
http://forums.devshed.com/oracle-development-96/ora-01652-unable-extend-temp-segment-128-tablespace-temp-602270.html

Ivan
14.03.2017
16:20:42
а кто как контролирует версию схемы бд?

Vladislav
14.03.2017
16:20:56
а вот это хороший вопрос
мне тоже интересно

Fike
14.03.2017
16:21:07
поднимающийся не в первый раз

Vladislav
14.03.2017
16:21:18
думаю сейчас предложат workbench

Fike
14.03.2017
16:21:25
phinx для php, liquibase для java
если в чате про постгре поискать эти два названия, то там должны всплыть все аналогичные обсуждения, где, насколько помню, упоминались похожие решения

Ivan
14.03.2017
16:25:45
а чо за чатик?

Fike
14.03.2017
16:26:11
@pgsql

Ivan
14.03.2017
16:26:30
спс

Максим
14.03.2017
17:15:26

I
14.03.2017
17:18:59
Причина в том, что я из таблицы состоящий из 80 тыс записей пытаюсь сделать xml результат. Как мне можно явно указать с каким tablespace работать для инлайн функции ?
И как можно почистить temp tablespace ?

Максим
14.03.2017
17:21:09
Temp сам чистится, когда транзакция завершается

I
14.03.2017
17:22:01
А если транзакция не закрыта ?
Как мне можно найти ее и принудительно закрыть ?

Максим
14.03.2017
17:27:23
Попробуй запрос
select s.sid,s.username,s.osuser,s.machine,s.program,u.tablespace,u.contents,u.segtype,u.extents,u.blocks
from v$sort_usage u, v$session s
where u.session_addr = s.saddr
order by BLOCKS desc;

Google

I
14.03.2017
17:30:00
Спасибо , завтра буду пробовать.
А всё же. В оракле можно создать темп tablespace и назначить его для инлайн функции ??

Максим
14.03.2017
17:32:34
что подразумевается под инлайн функцией? Пример можно?

I
14.03.2017
17:35:33
Select p.Name, o.Name from projects p join organization o on p.OrganizationID = o.ID ... using MyTablespace
Что то такое
?

Максим
14.03.2017
17:44:18
Такого вроде нет. Можно создать отдельный temp и назначить его по умолчанию. Но я бы начал с оптимизации запроса.

I
14.03.2017
17:50:07
Пример оптимизации можно в таких случаях?

Максим
14.03.2017
18:17:04
я так понимаю в запросе есть объединение таблиц и темп съедается из-за него. Вот документация оракл по джойнам.
https://docs.oracle.com/database/121/TGSQL/tgsql_join.htm#TGSQL242

Amber 8
14.03.2017
18:50:51

Oleg
14.03.2017
20:06:46

Fike
14.03.2017
20:09:21
да-да, система, в которой пишешь миграции на sql и не можешь откатиться

Oleg
14.03.2017
20:51:01

Fike
14.03.2017
21:02:17
флайвей

Глеб
15.03.2017
02:39:13
Ребят подсткажите пожалуйста. Имееться база вида message_id | user_one | user_two | message. Как можно умудриться вывести из того чаты пользователя с последним сообщением в нём? Проще говоря, не могу додумать как вывести последнее собщение, которое он пишет другому человеку или другой человек пишет ему
Хочу выводить биологи вида, если я пользователь 1 и у меня был диалог с пользователем 2, то для меня диалог виден с id 2 а для пользователя 2 с id 1

Kirill
15.03.2017
05:30:35

Dmitry
15.03.2017
05:48:28
set pagesize 10000
set linesize 170
col sessid format a15 heading 'Sess Id'
col tablespace format a15 heading 'Tablespace Name'
col segfile# format 9,999 heading 'File|ID'
col segblk# format 999,999,999 heading 'Block|ID'
col blocks format 999,999,999 heading 'Blocks'
col username format a15
col osuser format a12
select su.tablespace,
su.segfile#,
su.segblk#,
su.blocks,
s.sid||','||s.serial# sessid,
s.username,
s.osuser,
s.status,
s.sql_id,
s.machine --,
--s.module,
--s.program
from V$SESSION s,
V$TEMPSEG_USAGE su
where s.saddr = su.session_addr
order by su.tablespace,su.segfile#,su.segblk#,su.blocks;
Всё что до select - это для форматирования в sqlplus

Google

Oleg
15.03.2017
05:55:55
флайвей
понятно, на работе у меня ликвибейз, для своих проектов флайвей и ни разу не понадобилось откатывать миграции. у нас такие вещи проходят путем dev -> staging -> production, поэтому и необходимости, видимо не было. хотя я и не отрицаю, что такое может понадобиться.


I
15.03.2017
06:11:20
ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
Error at Line: 2 Column: 22
Это сообщение выходит на запрос " Попробуй запрос
select s.sid,s.username,s.osuser,s.machine,s.program,u.tablespace,u.contents,u.segtype,u.extents,u.blocks
from v$sort_usage u, v$session s
where u.session_addr = s.saddr
order by BLOCKS desc;"
И тоже самое на запрос "select su.tablespace,
su.segfile#,
su.segblk#,
su.blocks,
s.sid||','||s.serial# sessid,
s.username,
s.osuser,
s.status,
s.sql_id,
s.machine —,
—s.module,
—s.program
from V$SESSION s,
V$TEMPSEG_USAGE su
where s.saddr = su.session_addr
order by su.tablespace,su.segfile#,su.segblk#,su.blocks;"

Admin
ERROR: S client not available

Dmitry
15.03.2017
06:54:21
А из под какого пользователя запускаете запрос? Предполагается, что у вас есть пароль на system или пользователь с аналогичными привилегиями

I
15.03.2017
07:07:17
Не могу точно сказать . ROLE_ROLE_PRIVS из этой таблицы могу узнать привелегии ??

Максим
15.03.2017
07:15:50
Под каким пользователем логинетесь?
Попробуй user_tab_privs
Или all_tab_privs
Если учетка не административная, то привилегий на эти объекты скорее всего нет

I
15.03.2017
07:19:49
user_tab_privs по нему пусто
all_tab_privs по нему выдал список таблиц к которым есть привелегия select и execute

Максим
15.03.2017
07:23:23
Поищи там v_$session, v_$sort_usage, v$tempseg_usage
Но скорее всего их там нет.

I
15.03.2017
07:25:13
Дал такой запрос select * from all_tab_privs Where TABLE_NAME like '%v_$session%' or TABLE_NAME like '%v_$sort_usage%' or TABLE_NAME like '%v$tempseg_usage%' ;

Максим
15.03.2017
07:25:27
Эти представления нужны для поиска запроса который занимает темп. Я так понимаю - это твой запрос.
Так что начни с изучения плана своего запроса.

I
15.03.2017
07:25:28
Пустой результат

Максим
15.03.2017
07:44:27
в оракл все имена таблиц хранятся прописными буквами. И лучше начать с изучения плана своего запроса

Старый
15.03.2017
14:12:28
здравствуйте, ток осваиваю кассандру, возник вопрос, как её правильно чистить
вот предположим, есть 3 талицы и 8-12 млрд строк, они больше не нужны, как и сами таблицы, или например ненужны ток данные или половина данных

Google

Старый
15.03.2017
14:13:52
что помимо дропа и транкейт нужно сделать, чтобы не падала сильно скорость записи и чтения

Fike
15.03.2017
14:15:46
она реально падает?

Старый
15.03.2017
14:19:05
lf
да и сильно
со 600 в сек на кластер до 134 тыс
мож какой мусор нужно чистить попимо самой базы

Fike
15.03.2017
14:22:36
он у тебя видимо SSTable в это время очищает
и ты можешь по этому слову поискать какие-нибудь ограничения на скорость операции, но, думаю, дело глухо
или наоборот, забивает его tombstone
в этом случае единственное, что можно сделать - это вручную проводить операции удаления с меньшим рейтом


Denys ??
16.03.2017
01:01:11
truncate и drop в кассандре просто убивают директорию с таблицей (уж простите терминологию sql). Проблема что вместе с этим на месте удаленной таблицы cassandra делает снапшот, на случай если вы потом захотите данные восстановить. И по моему это запретить нельзя.
С частичным удалением все хуже. Кассандра данные не удаляет (и не обновляет тоже, кстати) просто пишет в журнал новое значение (или tombstone если запись была удалена). Данные мерджатся и томбстоуны чистятся только во время компакта таблиц, до этого момента кассандра должна вычитывать все записи и мерджить их "в уме".
То есть транкейт и дроп - хорошо, частичное удаление - плохо
Нужно учитывать это при проектировании схемы

Старый
16.03.2017
06:36:59