Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / FAQ по Ораклу на sql.ru / 22 сообщений из 22, страница 1 из 1
01.11.2002, 13:39
    #32064011
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
Вот в этом топике администрация сайта любезно согласилась на создание FAQ по Ораклу.\r
\r
Поэтому если у кого есть какие предложения, то предлагаю вносить.\r
\r
Лично я хотел бы внести в фак часто повторяющиеся вопросы, например:\r
\r
1. Мой sql запрос работает медленно. Что делать?\r
2. Не могу запустить Оракл инсталлер на Win2K/P4 (P3).\r
3. Возврат Датасета из хранимой процедуры.\r
4. Как сделать автоинкрементное поле?\r
\r
Вопрос номер 1 могу осветить сам. Так что прошу меня поддержать по другим вопросам.
...
Рейтинг: 0 / 0
01.11.2002, 13:47
    #32064022
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
Да, это правильно. FAQ нужен. Я думаю что-бы не делать каждому лишнюю работу, действительно опубликовать полный список тем и раздать желающим. Но я считаю, что каталог верхнего уровня, должен соответсвовать разделам Oracle, что-то типа:
1. SQL и PL/SQL
2. Управление базой данных
3. Резервное копирование/восстановление
4. Настройка
5. Управление Net8 "
...
Рейтинг: 0 / 0
01.11.2002, 13:58
    #32064033
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
2 softbuilder@inbox.ru

Вот этого я и боялся. FAQ не должен быть пособием по сдаче на сертификат (чему отвечает Ваша структура вопросов) или быть всеобъемлющим руководством по администрированию Оракла, а просто давать ответы на Frequently Asked Questions на форуме sql.ru
...
Рейтинг: 0 / 0
01.11.2002, 14:06
    #32064043
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
Я тоже этого боялся(что неправильно поймут).
Каталог нужен для того, что-бы быстрее, легче можно было найти ответ на свой вопрос. Вот и всё
...
Рейтинг: 0 / 0
01.11.2002, 14:22
    #32064053
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
FAQ предусматривает возможность разбивки вопросов на логические темы. Так при заполнении формы добавления вопроса в FAQ в "разделе" выбирайте Oracle, а так же вводите название темы в поле "Предложить раздел".

Вот ссылка на faq по mssql использующий тот же механизм sql.ru/faq

Alex Sibilev
Sql.ru
...
Рейтинг: 0 / 0
01.11.2002, 14:24
    #32064056
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
Да, что-то типа этого. Только темы должны быть заранее определены, что-бы кому не лень не придумывал свои собственные названия тем в каталоге
...
Рейтинг: 0 / 0
01.11.2002, 14:40
    #32064083
none
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
И еше:
n+1) Временные таблицы
n+2) Oracle vs MSSql (с намеком на то что и тот и тот хорош)
n+3) Oracle на MSWin vs UNIX/Lunux платформах (с тем же намеком)
...
Рейтинг: 0 / 0
01.11.2002, 14:53
    #32064100
killed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
п.2 и 3 ни к чему хорошему не приведут
(везде выиграет MS ;-)
...
Рейтинг: 0 / 0
01.11.2002, 19:18
    #32064232
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
Вот сотворил вопрос для FAQ. Поругайте, пожалуйста :-).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Мой sql запрос работает медленно. Что делать? 
 ----------------------------------------------------
 
Надо сразу оговориться, что тут вы не найдете совет  "как сделать, чтоб запрос выполнялся быстро" , а лишь 
рекомендации как правильно сформулировать вопрос на форуме. Итак предварительно надо сделать следующее:

 1 . Собрать статистику на все таблицы участвующие в запросе (в примере таблица называется t):

SQL>analyze table t compute statistics ;

 2 . Получить план выполнения запроса. Это наверное самая сложная часть. Различные средства 
разработки/администрирования Oracle предоставляют такую возможность. К сожалению, иногда необходимо 
запустить некоторые дополнительные скрипты и/или сделать определенные установки. 
	a) SQL*Plus / SQL*Plus Worksheet
		- запустить скрипт $ORACLE_HOME/rdbms/admin/utlxplan.sql
		- выполнить команду set autot traceonly exp
		- выполнить запрос
	б)PL/SQL Developer
		- правый клик на тексте запроса. Пункт меню -  "Explain Plan" 
	в)TOAD
		- запустить, предварительно отредактировав скрипт ..\Qest Software\TOAD\temps\toadprep.sql
		- выбрать пункт меню  "SQL-Window" -> "Explain Plan Current SQL"  
	
 3 . Привести описание индексов (указать на каких колонках построены), показанных в плане выполнения 
запроса.

 4 . Показать как установлены следующие параметры инициализации:
optimizer_features_enable
optimizer_index_cost_adj
optimizer_mode
sort_area_size
hash_area_size

После выполнения вышеописанных шагов одного взгляда (но он может быть ну ооочень продолжительным :-) на ваш 
запрос будет достаточно, чтоб дать рекомендации по его ускорению.
...
Рейтинг: 0 / 0
01.11.2002, 19:54
    #32064246
Andy Mezentsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
2.dba

А где можно почитать/посмотреть описание параметров инициализации?

Вопрос для FAQ'а ОЧЕНЬ хороший. Я думаю все так или иначе сталкиваются с трудностями оптимизации запросов :)
...
Рейтинг: 0 / 0
01.11.2002, 20:05
    #32064251
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
>А где можно почитать/посмотреть описание параметров
>инициализации?

Вообще-то все параметры описаны в Доке "Oracle8i Reference" (смотри какая версия тебе нужна), но я думаю тебя это интересует с точки зрения программера (например, какие параметры влияют на логику работы оптимизатора), то лучше почитай "Oracle8i Designing and Tuning for Performance". Вся дока лежит на http://tahiti.oracle.com/
...
Рейтинг: 0 / 0
02.11.2002, 21:31
    #32064359
vskv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
+ OCA, связь с MSSQL и обратно, или "как прочитать DBF (excel)..."
+ идеальные tnsnames.ora и listener.ora, или как настроить listener
...
Рейтинг: 0 / 0
04.11.2002, 09:53
    #32064430
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
"2. Получить план выполнения запроса. Это наверное самая сложная часть. Различные средства
разработки/администрирования Oracle предоставляют такую возможность. К сожалению, иногда необходимо
запустить некоторые дополнительные скрипты и/или сделать определенные установки.
a) SQL*Plus / SQL*Plus Worksheet
- запустить скрипт $ORACLE_HOME/rdbms/admin/utlxplan.sql
- выполнить команду set autot traceonly exp
- выполнить запрос
"

А почему нет классического варианта получения плана при помощи команды EXPLAIN PLAN?
Или это уже считается недостойно для использования?
...
Рейтинг: 0 / 0
04.11.2002, 10:16
    #32064440
killed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
согласен, я бы тоже ориентировался прежде всего на SQL*Plus, поскольку это стандартное средство.

Еще перед пунктом 1 нужно уточнить, какой оптимизатор используется.
...
Рейтинг: 0 / 0
04.11.2002, 20:33
    #32064733
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
2 killed

>согласен, я бы тоже ориентировался прежде всего на
>SQL*Plus, поскольку это стандартное средство.

не понял - объясни, ты тоже считаешь, что нужно описать стандартный способ получения плана выполнения - через explain plan и иерархический запрос?

>Еще перед пунктом 1 нужно уточнить, какой оптимизатор
>используется.

зачем? многие кто спрашивают про быстродействие запроса - понятия не имеют про режим оптимизатора. Если будут приведены план выполнения, иниц. параметры и собрана статистика, то и так будет ясно какой режим.

Еще может необходимо предостережение, что автор Faq'а не несет ответственность за возможный ущерб :-). В некоторых ситуациях, например когда в запросе есть хинт, а статистика отсутствует, то сбор статистики может здорово затормозить запрос.

2 softbuilder@inbox.ru
ок. Вот классический:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
г) Ну и на случай  "ядерной войны" , т.е. когда Ваш инструмент работы с Ораклом не поддерживает функцию
  получения плана выполнения - надо сделать следующее:
     - запустить скрипт $ORACLE_HOME/rdbms/admin/utlxplan.sql
     - получить план в таблицу plan_table
             EXPLAIN PLAN 
             SET STATEMENT_ID = 'Raise in Chicago' 
             FOR UPDATE emp 
                   SET sal = sal *  1 . 10  
                   WHERE deptno =  (SELECT deptno 
                                            FROM dept
                                            WHERE loc = 'CHICAGO'); 

    - получить план выполнения из таблицы plan_table
            SELECT substr(LPAD(' ', 2 *(LEVEL- 1 ))||p.operation, 1 ,  20 ) operation, p.options,
                  p.object_name, p.position, p.optimizer, p.cardinality, p.cost, p.bytes
            FROM plan_table p
            START WITH id =  0  AND statement_id = 'Raise in Chicago'
            CONNECT BY PRIOR id = parent_id AND
            statement_id = 'Raise in Chicago'
...
Рейтинг: 0 / 0
05.11.2002, 09:19
    #32064780
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
Сейчас уже лучше :).
Только я так и не понял, как насчёт содержания(каталогизатора) в FAQ. Как реально поместить вопрос с ответом? Кто должен дать окончательное "добро"?
И где линк в итерфейсе что-бы выйти на FAQ Oracle?
...
Рейтинг: 0 / 0
05.11.2002, 10:36
    #32064839
killed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
1. Да, нужен стандартный вариант получения explain plan'a через SQL*Plus. А то ситуация выглядит примерно так: "Мне нужно получить план запроса, для этого в FAQ'e мне навязывают какие-то 3d-party программы. Поэтому у меня вопрос, где взять TOAD или PL/SQL Developer? Заодно подскажите волшебные ключики, чтобы они работали. и т.д. и т.п.

2. Если кто-то использует режим RULE, то сбор статистики бессмысленен (пункт 1) и будет лишь путать человека. Может быть это тема отдельная, для отдельного пункта FAQ и нужно дать на него ссылку в начале.

P.S. все ИМХО
...
Рейтинг: 0 / 0
05.11.2002, 11:10
    #32064869
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
from killed:
1) 2) Согласен.
По поводу плана выполнения, я считаю надо еще написать про вариант использования SQL-трассировки. Что для анализа план выполнения можно использовать трассировочные файлы и утилиту tkprof.
1) alter session set sql_trace=true или
sql_trace=true -- в init<SID>.ora (с перезапуском базы)
2) tkprof <trace file> <output file> exlain=user/password
Опять же это стандартный метод в Oracle
...
Рейтинг: 0 / 0
05.11.2002, 11:26
    #32064882
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
Мне кажется надо сначала в этом факе рассказать, как получить анализ плана выполнения, как правильно собрать статистику, как создать нужные для этого таблицы, понятно что это может превратить его не в ФАК а в ХОВТУ, но зато это уменьшит его обьем.
...
Рейтинг: 0 / 0
05.11.2002, 17:18
    #32065040
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
хм...

мне мой вопрос кажется законченным по следующим причинам:
1. Это действительно faq, а не howto, поэтому рассказывать как собирать статистику нет смысла, тем более, что пример использования команды analyze уже приведен.
2. Даже если стоит режим Rule, то сбор статистики может повредить только в случае использования запросов с хинтами или автоматического включения стоимостного оптимизатора на запросах, где объединяются таблицы со статистикой и без. Но на этот случай я могу указать как ее сразу же удалить :-).
Просто если сначала выяснять режим оптимизатора, то придется давать алгоритм действий с ветвлением и т.д.
Единственное, чего я хочу добиться этим вопросом faq, чтоб перед тем как спрашивать - почему запрос тормозит - человек привел необходимумую для анализа информацию. А таких вопросов согласитесь немало.
3. Трассировка это отдельный вопрос, тем более, что я не ставил задачу - "показать все 5432 способа получения плана выполнения"
4. Опубликовать вопрос в faq я думаю может любой желающий по ссылке http://www.sql.ru/faq/faq_add.aspx
Просто, мне кажется, будет неплохо их пообсуждать перед публикацией.
5. Раздел FAQ для этого вопроса предлагаю назвать "Настройка производительности".

Ну и если других кардинальных возражений нет, то попробую завтра опубликовать.
...
Рейтинг: 0 / 0
05.11.2002, 18:08
    #32065077
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
Да, согласен. Вопрос "Мой sql запрос работает медленно. Что делать? " - затрагивает достаточно широкий круг аспектов, связанных со всем, чем можно. На него невозможно ответить однозначно и перечислить все варианты его решения невозможно. Может тогда и не нужно ставить вопрос так широко? Иначе какой смысл от такого ответа, как твой, который пробегает по верхушкам и конкретно ничего даёт тому, кто зашел посмотреть ответ на этот вопрос.
...
Рейтинг: 0 / 0
07.11.2002, 16:16
    #32065717
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ по Ораклу на sql.ru
В связи с критикой и пр. решил вот так изменить название вопроса для FAQ:

Код: plaintext
1.
2.
Как правильно задать на форуме вопрос:
 "Мой sql запрос работает медленно. Что делать?"  
----------------------------------------------------


Опять же повторюсь - просто хочется отсеять вопросы типа - "У меня очень долго выполняется запрос. Что делать?". Причем даже не приводят текст самого запроса! А таких вопросов согласитесь немало. Или я неправ?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / FAQ по Ораклу на sql.ru / 22 сообщений из 22, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]