Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Oracle |
![]() ![]() |
Denis Popov Member Откуда: Санкт-Петербург Сообщений: 7862 |
В первую очередь, обратите пожалуйста внимание на FAQ:Получение доступа и использование документации Раз Вы здесь, то посмотрите еще FAQ: Как мне оформить свое сообщение? P.S. Раньше все было в одном сообщении, теперь разбросано по нескольким. Старые номера, которые могли быть указаны в сообщениях, перекочевали на новые места: 1. Где можно скачать Oracle? Общие вопросы N1 2. Подскажите среду разработки для Oracle. Общие вопросы N2 3. Как создать автоинкрементное поле, поле-счетчик? SQL, PL/SQL N1 4. Почему в своем pl/sql-коде (представлении/процедуре/триггере/пакете) не удается использовать чужой объект - выдается ошибка ORA-00942 table or view does not exist? Общие вопросы N7 5. Как вернуть запрос из функции? SQL, PL/SQL N4 6. Как обойти мутирование таблиц? SQL, PL/SQL N7 7. Для чего нужна таблица SYS.DUAL? Общие вопросы N6 8. Почему не получается сравнение с пустой строкой? Общие вопросы N8 9. Мне нужно создать из процедуры или пакета PL/SQL временную таблицу, поработать с ней а затем удалить. Как? SQL, PL/SQL N8 10. Трассировка сессий: как получить список запросов, выполняемых сессией (моей, чужой) в Oracle? Общие вопросы N4 11. Как запросом получить требуемое количество записей? SQL, PL/SQL N3 12. Как в PL/SQL работать с массивами? SQL, PL/SQL N9 13. Как в Oracle получить запросом данные из других не-Oracle баз данных? Администрирование и настройка N2 14. Как получить все значения одного поля в одной строке? SQL, PL/SQL N5 15. Где Oracle хранит метаданные о своих объектах? Как получить запросом список пользователей, ролей, объектов БД, скрипт на создание объектов БД? Общие вопросы N5 16. Как перенести базу данных Oracle на другую машину? Как создать копию БД Oracle? Администрирование и настройка N1 17. Как уменьшить размер временного табличного пространства (temporary tablespace) TEMP? Администрирование и настройка N3 18. Как получить историю команд для SQL*Plus, RMan и т.п. на и т.п. на Unix, Linux терминалах? Общие вопросы N3 Сообщение было отредактировано: 17 июл 07, 16:54 |
31 авг 05, 18:16 [1834103] Ответить | Цитировать Сообщить модератору |
Между сообщениями интервал более 1 года. |
Denis Popov Member Откуда: Санкт-Петербург Сообщений: 7862 |
Общие вопросы 1. Вопрос. Где можно скачать Oracle? Ответ. Базы Данных Oracle различных версий и другие продукты Oracle доступны для скачивания на Oracle Technology Network в разделе Download. На данный момент ссылка на Oracle10g: http://www.oracle.com/technology/software/products/database/oracle10g/index.html Далее смотрите условия лицензионного соглашения. 2. Вопрос. Подскажите средства разработки для Oracle. Ответ. FAQ: Средства разработки для Oracle 3. Вопрос. Как получить историю команд для SQL*Plus, RMan и т.п. на и т.п. на Unix, Linux терминалах? Как заставить работать кнопки "стрелка вверх", "стрелка вниз" на *nix''ах? Ответ. Воспользуйтесь утилитой rlwrap: sql*plus на UNIX терминалах (история команд) 4. Вопрос. Трассировка сессий: как получить список запросов, выполняемых сессией (моей, чужой) в Oracle? Ответ. FAQ:Как включить трассировку сессии? Для Windows-клиентов, работающих через OCI, есть утилиты: Above software Statement Tracer for Oracle Toadsoft SQL Monitor Quest software SQL Monitor в составе продуктов SQL Navigator, TOAD for Oracle Ответ. Oracle9i Database Concepts Release 2 (9.2) -> The Data Dictionary Oracle9i Database Reference Release 2 (9.2) -> Static Data Dictionary Views Oracle9i Supplied PL/SQL Packages and Types Reference Release 2 (9.2) -> DBMS_METADATA Список представлений словаря: select * from dictionary; 6. Вопрос. Для чего нужна таблица SYS.DUAL? Ответ. В Oracle, в отличие от тех же MSSQL или Sybase, нельзя сделать запрос "из ниоткуда" : SQL> select 1 as value; select 1 as value * ERROR at line 1: ORA-00923: FROM keyword not found where expectedКак правило, для таких запросов используется таблица DUAL в схеме SYS, содержащая только одну запись. 7. Вопрос. Почему в своем pl/sql-коде (представлении/процедуре/триггере/пакете) не удается использовать чужой объект - выдается ошибка ORA-00942 table or view does not exist - хотя в sql-запросе или в анонимном pl/sql/блоке все нормально, обращение к объекту другого пользователя проходит без проблем? Ответ. Скорее всего на чужой объект есть привилегия, выданная только через роль. Для использования объектов другого пользователя или системных привелегий в своих процедурах/триггерах и т.д., а также в job-ах необходимо дать на них привилегию напрямую, не через роль. Так же это правило следует учесть для динамического SQL: FAQ: ORA-01031: insufficient privileges при выполнении динамического SQL в процедурах 8. Вопрос. Почему не получается сравнение с пустой строкой? Ответ. FAQ: Пустая строка в Oracle. Сравнение с пустой строкой 9. Вопрос. При попытке подключения к Oracle 10g Express Edition возникает ошибка ORA-12705: Cannot access NLS data files or invalid environment specified. Ответ. В Oracle 10g Express Edition отсутствует значение NLS_TERRITORY=CIS, вместо него используется NLS_TERRITORY=RUSSIA. Следует указать его в значении переменной NLS_LANG при работе через клиент Oracle. Для Java приложений при запуске можно указать параметр -Duser.language=en, тогда будут использовать английские настройки для NLS_TERRITORY. Сообщение было отредактировано: 25 ноя 08, 23:44 |
11 окт 06, 15:38 [3248256] Ответить | Цитировать Сообщить модератору |
Denis Popov Member Откуда: Санкт-Петербург Сообщений: 7862 |
Администрирование и настройка 1. Вопрос. Как перенести базу данных Oracle на другую машину? Как создать копию БД Oracle? Ответ. 4FAQ - клонирование базы 2. Вопрос. Как в Oracle получить запросом данные из других не-Oracle баз данных, как связать Oracle и другую не-Oracle базу данных? Ответ. Для Oracle на Windows (для операционной системы с имеющимся ODBC?) Создание гетерогенного сервиса с использованием ODBC в Oracle для Windows на примере Excel. 3. Вопрос. Резко вырос размер временного табличного пространства (temporary tablespace) TEMP. Как уменьшить (очистить) его? Ответ. AskTom "temporary tablespace"
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Если вы уверены, что размер TEMP слишком большой для ваших приложений, то пересоздайте его. Заодно поищите причину его роста. 4. Вопрос. Стоимостной оптимизатор (CBO) выбирает неверный план выполнения запроса. Как заставить оптимизатор выбирать другой план выполнения, например, использовать (не использовать) индекс? Ответ. FAQ: Основные причины ошибок CBO. Сообщение было отредактировано: 22 ноя 06, 12:33 |
||
11 окт 06, 15:48 [3248322] Ответить | Цитировать Сообщить модератору |
Denis Popov Member Откуда: Санкт-Петербург Сообщений: 7862 |
SQL, PL/SQL 1. Вопрос. Как создать автоинкрементное поле, поле-счетчик? Какой существует аналог IDENTITY, AUTOINCREMENT? Ответ. Воспользоваться таким объектом БД как SEQUENCE: FAQ: Автоинкрементное поле 2. Вопрос. Неуникальные строки, строки-дубликаты: как найти неуникальные строки в таблице, как удалить лишние строки и оставить только уникальные? Ответ. FAQ: Поиск и удаление строк - дубликатов. 3. Вопрос. Как запросом получить требуемое количество записей? Ответ. Пример обсуждения: select натуральный ряд. Статья в Oracle Magazine: Turning On Pivot Tables. 4. Вопрос. Как вернуть запрос из функции? Ответ. Стандартным средством Oracle для возврата выборки из процедуры/функции является работа с REFCURSOR''ом: FAQ: Курсор(select) из хранимых процедур, функций. Если требуется использовать функцию в секции FROM запроса, то следует воспользоваться: FAQ: Запрос из функции, FAQ: Запрос из функции 2 5. Вопрос. Как получить все значения одного поля в одной строке, через разделители? Ответ. Нужна помощь в составлении запроса., Результат SELECT-а в одну строку, Как получить значения всех строк определенного столбца в одной строке?, недокументированная функция wmsys.WM_CONCAT(). Обратите внимание на следующий вопрос: 6. Вопрос. Можно ли написать собственную агрегирующую функцию, например, для конкатенации строк или умножения чисел? Ответ. AskTom "Function to concatenate output", “Простые дроби”, “В коробке с карандашами...” или Агрегирующие Функции Определяемые Пользователем. 7. Вопрос. Как обойти мутирование таблиц? Что означает ошибка ORA-04091 table string.string is mutating, trigger/function may not see it? Ответ. Один из примеров: FAQ: Мутирование таблиц 8. Вопрос. Временные таблицы: существуют ли они в Oracle, как создать временную таблицу из процедуры или пакета PL/SQL, поработать с ней а затем удалить. Как? Ответ. В Oracle для этих целей используются временные таблицы, но их поведение и применение отличается от других SQL-серверов. FAQ: Временные таблицы 9. Вопрос. Как в PL/SQL работать с массивами? Ответ. Под массивами могут подразумеваться PL/SQL-таблицы или объектные типы-таблицы. Oracle® Database PL/SQL User''s Guide and Reference 10g Release 2 5. Using PL/SQL Collections and Records //http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14261/collections.htm#i26701 10. Вопрос. Как проверить, что строка символов является числом? Ответ. Отсечение цифр от букв....., Сортировка строки как числа, Можно ли выбрать только те значения, которые являются числами, Ошибка с To_Number. Сообщение было отредактировано: 19 ноя 10, 12:25 |
11 окт 06, 15:51 [3248342] Ответить | Цитировать Сообщить модератору |
Все форумы / Oracle | ![]() |