@dba_ru

Страница 104 из 718
Fike
13.03.2017
20:55:51
все по старинке, в одном mysql

выдумали тут

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

Fike
13.03.2017
20:57:10
эти мысли мне говорят что я что то не понимаю. видимо надо проектировать такие системы по другому
если внутри только односторонние зависимости, то появляется некоторое подобие casual consistency

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
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
Какая-то сессия съела весь temp в идеале найти сессию. Можно добавить место в temp. Но как показывает практика, сколько не добавлять, его все мало будет. Так что лучше найти причину

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
Причина в том, что я из таблицы состоящий из 80 тыс записей пытаюсь сделать xml результат. Как мне можно явно указать с каким tablespace работать для инлайн функции ?
80к записей съели темп? Либо он неадекватно мал, либо у тебя декартово даже не произведение, а возведение в степень

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

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

Dmitry
15.03.2017
05:48:28
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.
Добавьте место в темп, делов-то... Какой у вас размер темпа сейчас? Какой размер блока? Вообще, по хорошему, посмотреть бы, кто туда гадит. А гадят туда обычно сортировки на диске

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
Нужно учитывать это при проектировании схемы
Ну вот предположим, есть приложение, которое через С# драйвер пишет данные

Страница 104 из 718