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

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

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

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

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

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

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

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

Еще перед пунктом 1 нужно уточнить, какой оптимизатор используется.
...
Рейтинг: 0 / 0
FAQ по Ораклу на sql.ru
    #32064733
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
FAQ по Ораклу на sql.ru
    #32064780
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас уже лучше :).
Только я так и не понял, как насчёт содержания(каталогизатора) в FAQ. Как реально поместить вопрос с ответом? Кто должен дать окончательное "добро"?
И где линк в итерфейсе что-бы выйти на FAQ Oracle?
...
Рейтинг: 0 / 0
FAQ по Ораклу на sql.ru
    #32064839
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Да, нужен стандартный вариант получения explain plan'a через SQL*Plus. А то ситуация выглядит примерно так: "Мне нужно получить план запроса, для этого в FAQ'e мне навязывают какие-то 3d-party программы. Поэтому у меня вопрос, где взять TOAD или PL/SQL Developer? Заодно подскажите волшебные ключики, чтобы они работали. и т.д. и т.п.

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

P.S. все ИМХО
...
Рейтинг: 0 / 0
FAQ по Ораклу на sql.ru
    #32064869
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
FAQ по Ораклу на sql.ru
    #32064882
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется надо сначала в этом факе рассказать, как получить анализ плана выполнения, как правильно собрать статистику, как создать нужные для этого таблицы, понятно что это может превратить его не в ФАК а в ХОВТУ, но зато это уменьшит его обьем.
...
Рейтинг: 0 / 0
FAQ по Ораклу на sql.ru
    #32065040
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм...

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

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

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


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


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