Сайт Игоря Гаршина Главная страница
Письмо автору сайта garchine@mail.ru
Опыт орадмина: 1. Инсталляция 2. Генерация 3. Миграция 4. ODBC 5. Администрация 6. Утилиты 7. Netware 8. RedHat 9. NT
Синхронизация: 1. Механизмы 2. Архитектуры 3а. Снапшоты 3б. Мастер-сайт 4. Сравнение ОС 5. RepMan Пр1. Файлы ORA Пр2. CONFIG.ORA Пр3. API Пр4. Словарь данных
Практика работы с Oracle - книга о репликации распределенной базы данных Oracle 8
Вся книга: Практика работы с Oracle: генерация, администрирование, репликация. И.К.Гаршин.
ISBN 5-901314-02-6 (рус.). УДК 004.42Oracle. ББК 32.973.26-018.2. Г21.

В 1999-2000 г. программисты «Нефтегазсистемы» разработали и внедрили в большинство ОАО МН «Транснефти Информационную систему паспортизации магистральных нефтепроводов «СКУТОР». Сначала он был создан на базе MS Access, затем переведен на Oracle 8 с поддкржкой асинхронной репликации с помощью программы Oracle Multimaster. В книге подробно описан авторский опыт перевода и внедрения этой базы данных.

Автор признателен руководителям и сотрудникам ЗАО «Нефтегазсистемы», начальникам и персоналу вычислительных центров региональных управлений ОАО «Транснефть», c чьей помощью был разработан и внедрен данный Oracle-проект.

Глава 6

Краткое описание работы с основными утилитами

 

В этой главе…

 

·        Утилиты из пакета Oracle Enterprise Manager (OEM)

·        Утилиты программной группы Oracle for Windows 95 и других групп

·        Утилиты командной строки (MS Windows 9x, NT, Novell Netware, Linux)

 

 


Утилиты из пакета Oracle Enterprise Manager (OEM)

Краткое описание назначения утилит

·         Oracle Storage Manager – настройка физических объектов БД: табличных пространств, файлов табличных пространств и сегментов отката. Присоединяться нужно как пользователь SYSTEM. Удобно также настроить вызов утилиты по сочетанию клавиш Ctrl-Alt-G.

·         Oracle Security Manager – работа с пользователями, ролями и профилями; смена паролей. Присоединяться нужно как пользователь SYSTEM. Удобно настроить вызов этой утилиты по сочетанию клавиш Ctrl-Alt-T.

·         Oracle Schema Manager – работа с логическими объектами БД: таблицами, представлениями, индексами, триггерами, снимками, связями и т.д. Удобно настроить вызов утилиты по сочетанию клавиш Ctrl-Alt-M.

·         Oracle Instance Manager – запуск и останов БД, Присоединяться нужно как пользователь SYSTEM. Удобно настроить вызов утилиты по сочетанию клавиш Ctrl-Alt-I.

·         Oracle Data Manager – экспорт и импорт таблиц, схем и полной БД. Присоединяться нужно как пользователь SYSTEM. Удобно настроить вызов утилиты по сочетанию клавиш Ctrl-Alt-D.

·         Oracle Backup Manager  – резервное копирование БД. Запускается с Oracle Console. Удобно настроить вызов утилиты по сочетанию клавиш Ctrl-Alt-B.

·         Oracle SQL Worksheet – как и Oracle SQL*Plus служит для управления БД путем ввода команд SQL и запуска скриптов. Удобно настроить вызов утилиты по сочетанию клавиш Ctrl-Alt-W.

Oracle Storage Manager (VAG.EXE)

            Основное назначение – создание и корректировка табличных пространств, файлов табличных пространств и сегментов отката (рис. 6.1-6.5).

Для создания табличного пространства войдите в утилиту пользователем SYSTEM и выполните следующее:

·         Установите курсор на ветке Tablespaces левой части окна, вызовите правой кнопкой мыши контекстное меню и запустите опцию Create… (рис. 6.6);

·         При открытой вкладке General в поле Name введите имя табличного пространства;

·         Затем на вкладке General нажмите кнопку Add;

·         В открывшемся окне при открытой вкладке General в поле Name введите имя файла, а в поле File Size – начальный размер файла;

·         Нажмите кнопку OK, а, вернувшись в предыдущее окно – кнопку Create.

Для изменения свойств табличного пространства раскройте ветку Tablespaces левой части окна, установите курсор на требуемом табличном пространстве и в правой части окна проведите необходимые корректировки. Таким же образом можно создавать и изменять файлы табличных пространств (ветка Datafiles) и сегменты отката (ветка Rollback Segments).

 

ПРИМЕЧАНИЕ.

При пересоздании табличных пространств (например для переноса их файлов в другие каталоги) необходимо запустить повторную генерацию Словаря данных (утилиты СATALOG.SQL, CATPROC.SQL, CATHS.SQL, CATREP8M.SQL из каталога %ORACLE_HOME%\RDBMS80\ADMIN\ на сервере и PUPBLD.SQL из того же каталога на Novell или %ORACLE_HOME%\DBS\ на NT).

 

 

Рис. 6.1. Утилита Oracle Storage Manager из пакета OEM.

 

 

 

Рис. 6.2. Утилита Oracle Storage Manager. Просмотр общей информации по  табличному пространству.

 

 

 

Рис. 6.3. Утилита Oracle Storage Manager. Просмотр информации по  экстентам табличного пространства.

 

 

 

Рис. 6.4. Утилита Oracle Storage Manager. Редактирование общей информации по  файлу табличного пространства.

 

 

 

Рис. 6.5. Утилита Oracle Storage Manager. Редактирование информации по  авторасширению файла табличного пространства.

 

 

 

Рис. 6.6. Утилита Oracle Storage Manager. Создание табличного пространства.

 

Oracle Security Manager (VAC.EXE)

            В гл. 3.4.7. уже было написано, как создавать пользователя. Как изменить у него пароль или создать роль с помощью этой утилиты – не требует объяснения. В левой части окна находится иерархическое меню, главными ветвями которого являются: Users, Roles и Profiles (рис. 6.7). Открывайте нужную ветвь, выбирайте нужный объект и правьте его в правой части окна. Если нужно создать новый объект – щелкните правую кнопку мыши и выберите пункт Create Также очень удобен пункт Create Like, когда можно создать объект по прототипу указанного курсором. Пункт Remove служит для удаления объекта.

 

Рис. 6.7. Утилита Oracle Security Manager из пакета OEM.

 

Oracle Schema Manager (VAS.EXE)

            Утилита предназначена для «ползания» по дереву логических объектов БД – таблиц, снимков, представлений, индексов, триггеров… (рис. 6.8). Особого объяснения здесь не требуется. Конектиться можно основным пользователем. Обратите внимание на списки для ветвей Functions, Packages и Procedures – для всех объектов списка в правой части окна должен быть статус Valid. Если где стоит Invalid, то это говорит о неправильной генерации БД (или ее перевода с одной версии на другую).

 

 

Рис. 6.8. Утилита Oracle Schema Manager из пакета OEM.

Oracle Instance Manager (VAI.EXE)

            Утилита очень удобна для запуска и останова БД (а также переводов БД: NOMOUNT -> MOUNT -> OPEN). Для этого достаточно нажимать на радиокнопки рядом со светофором (или задавать команды через меню, которое в описании не нуждается). При запуске БД необходимо только выбрать путь к Вашему файлу INIT.ORA (рис. 6.9).

Еще утилита удобна возможностью просмотреть параметры конфигурации (в т.ч. не указанные в файле INIT.ORA и установленные по умолчанию). Для этого необходимо в левой части окна установить курсор на выпадающей ветви меню Initialization Parameters и открывать вкладки Basic Tuning, Instance Specific, Advanced Tuning и Derived (рис. 6.10). Некоторые параметры можно тут же изменить, и после нажатия кн. Apply они вступят в силу в текущей сессии. После изменения других параметров (например, SHARED_POOL_SIZE, PROCESSES, DISTRIBUTED_TRANSACTIONS на вкладке Basic Tuning) выдается запрос на перезагрузку БД. Этим способом можно пользоваться для перезагрузки удаленных БД (если на клиенте отсутствуют их конфигурационные файлы). Следует только иметь ввиду, что такую перезагрузку нежелательно делать, если БД участвует в репликации и работает в ОС MS Windows NT, т.к. для загрузки может не хватить памяти [15].

 

 

Рис. 6.9. Утилита Oracle Instance Manager из пакета OEM.

 

 

Также утилитой пользуются для просмотра и принудительного останова открытых сеансов с БД Oracle (рис. 6.11). Для останова сеанса используется пункт контекстного меню Disconnect -> Immediate.

 

ПРИМЕЧАНИЕ 1.

Для управления БД нужно коннектиться как INTERNAL. Для просмотра же состояния БД и параметров конфигурации можно коннектиться просто как SYS или SYSTEM и выбрать Connect As Normal.

 

ПРИМЕЧАНИЕ 2.

При запуске удаленной БД с помощью локального конфигурационного файла необходимо в нем изменить переменные (например, %RDBMS%) на конкретные значения БД удаленного сервера.

 

 

 

Рис. 6.10. Утилита Oracle Instance Manager. Просмотр параметров конфигурации.

 

 

Рис. 6.11. Утилита Oracle Instance Manager. Просмотр сеансов Oracle.

 

Oracle Data Manager (VAD.EXE)

            Очень удобна для экспорта/импорта (рис. 6.12). Хотя разработанные скрипты (и командные файлы BAT с использованием EXP80.EXE и IMP80.EXE либо NCF с EXP80.NLM и IMP80.NLM) для наиболее частых и неизменяемых вариантов экспорта и импорта, все же удобнее.

 

 

Рис. 6.12. Утилита Oracle Data Manager из пакета OEM.

 

 

            Запускать утилиту можно без предварительной загрузки Oracle Enterprise Manager (при этом на сообщение In order to do remote imports, please ensure that the Enterprise Manager Console is running следует отвечать OK).

            Экспортировать можно всю БД, отдельные ее схемы или отдельные таблицы. Для экспорта определенной схемы БД выполните следующее:

·         В левой части окна раскройте ветку Users (единственную) и выберите требуемого пользователя.

·         Нажмите кнопку Export в левой верхней части (можно также вызвать данную опцию правой кнопкой мыши из контекстного меню либо в подменю Data\Export).

·         Введите или выберите имя файла дампа (в котором, по существу, будут находится команды SQL в формате близком к текстовому) – по умолчанию EXPDAT.DMP в каталоге %ORACLE_HOME%\SYSMAN\TEMP на клиенте, и нажмите кнопку Далее > (рис. 6.3).

·         Появится окно, в левой части которого отражены выбранные схемы, а в правой – невыбранные. Если список схем для экспорта нужно дополнить, выберите схему справа и нажмите на кнопку «влево». Нажмите Далее > (рис. 6.14).

·         В следующем окне показан список опций с установленными по умолчанию флагами (рис. 6.15):

·         Grants Associated with Database Objects

·         Indexes on Tables

·         Rows of Table Date

·         Constraints on Tables

Нажмите Далее >.

·         В следующем окне появится список трех полей ввода (рис. 6.16):

·         Record Length…

·         Buffer Size

·         Generate Log File

Отметьте последний пункт и введите или выберите имя файла протокола (рекомендуется). Нажмите кнопку Далее >.

·         В новом окне появятся следующие опции (рис. 6.17):

·         Increment type:

·         None (по умолчанию нажата)

·         Complete (All Objects)

·         Cumulative (All Objects since the last Cumulative Export)

·         Incremental (All Objects since the last Incremental Export)

·         Record the Export Operation in Database (по умолчанию флажок установлен)

·         Statistic type:

·         None (установить вместо второй радиокнопки по умолчанию)

·         Estimate Optimizer Statistics

·         Compute Optimizer Statistics

·         Export Read-Consistent View of Data (по умолчанию флажок установлен)

·         Merge Extents for Import (по умолчанию флажок установлен)

Нажмите Далее >.

·         Появится окно с суммарной информацией. Нажмите Готово (рис. 6.18).

·         Появится окно Export Status с радостно летящими по нему строками. Ждите окончания экспорта. Для прерывания экспорта можно нажать кнопку Dismiss. После успешного экспорта в окне появится сообщение «Export terminated successfully without warnings». Смело нажимайте Dismiss, выходите из утилиты и ищите свой файл.

 

 

Рис. 6.13. Утилита Oracle Data Manager. Экспорт. Шаг 1. Указание имени файла-дампа.

 

 

 

Рис. 6.14. Утилита Oracle Data Manager. Экспорт. Шаг 2. Выбор пользователя.

 

 

 

Рис. 6.15. Утилита Oracle Data Manager. Экспорт. Шаг 3. Указание объектов экспорта.

 

 

 

Рис. 6.16. Утилита Oracle Data Manager. Экспорт. Шаг 4. Указание имени файла-протокола.

 

 

 

Рис. 6.17. Утилита Oracle Data Manager. Экспорт. Шаг 5. Указание типа экспорта.

 

 

 

Рис. 6.18. Утилита Oracle Data Manager. Экспорт. Шаг 7. Завершение и просмотр информации по экспорту.

 

 

Для описанного варианта экспорта схемы в дампе будут «зашиты» следующие команды (в различной последовательности):

 

·         CREATE SEQUENCE …

·         ALTER TABLE "…" ADD  CONSTRAINT "…" PRIMARY KEY …

·         COMMENT ON COLUMN …

·         CREATE TABLE …

·         Сами данные (вместо INSERT INTO …)

·         INSERT INTO …

·         ALTER TABLE "…" ENABLE CONSTRAINT…

 

 

Oracle Backup Manager (VAR.EXE)

                Это простая и полезная утилита для «холодного» резервного копирования файлов БД: табличных пространств, журналов повтора и контрольных (управляющих).

 

ВНИМАНИЕ !

Конфигурационный файл (INIT<SID>.ORA), файл настройки сервера Oracle (CONFIG.ORA), файл паролей (PWD<SID>.ORA) и архивированные файлы регистрации транзакций этой утилитой не копируются.

 

            Утилита запускается из консоли Oracle (в т.ч. после загрузки самой утилиты Oracle Enterprise Manager). Нужно всего лишь выбрать режим OfflineFull Database («холодное» копирование для всей БД), указать куда копировать (на ленту – выбрать Type Device, на диск – указать путь в Disk Directory) и нажать кнопку Backup.

            Следует также иметь ввиду, что BACKUP – процесс ресурсоемкий. Например, для БД, файлы которой занимают 140 Мбайт, требуется 4,2 Гбайт свободного пространства!

            Не рекомендуется копировать на устройство, где располагается сама БД.

            Также следует заметить, что, хотя эта утилита применяется для «холодного» резервного копирования, но для ее запуска необходимо, чтобы БД была открыта, т.к. необходимо из БД выбрать список самих файлов для копирования. Перед копированием утилита автоматически закрывает БД. Если технология работы с БД не позволяет блокировать сеансы, базу данных можно открыть в режиме RESTRICT.

            Об утилите Oracle Backup Manager можно прочитать в [3], стр. 505, 509.

Oracle SQL Worksheet (VAW.EXE)

            Краткое описание этой утилиты дано в: Часть 1, Глава 5: Что применять для ввода команд: Svrmgr30, SQL Plus или SQL Worksheet? . Если этого мало – почитайте литературу (например, [3] или [1], где описания еще короче). В целом так: читайте в любой литературе про Oracle SQL*Plus – и почти все это можно делать в SQL Worksheet (рис. 6.19).

 

 

Рис. 6.19. Утилита Oracle SQL Worksheet из пакета OEM.

 

Утилиты программной группы Oracle for Windows NT и других групп

Oracle SQL*Plus (PLUS80W.EXE)

            Краткое описание достоинств и недостатков этой утилиты дано в: Часть 1, Глава 5: Что применять для ввода команд: Svrmgr30, SQL Plus или SQL Worksheet?. Исчерпывающая информация – в любой литературе по Oracle ([1], [3], [4]). Не забудьте после ввода команды SQL ввести точку с запятой и нажать на Enter. Для тех кто привык работать с Oracle SQL Worksheet: «строка соединения» в окне логина соответствует сервису в Oracle SQL Worksheet (псевдоним соединения с Oracle, описываемый в TNSNAMES.ORA).

 

РЕКОМЕНДАЦИЯ 1.

Перед выводом длинных строк по запросу SELECT зайдите в подменю «Конфигурация» и установите параметры: buffer size = 1000, line size = 1000 (рис. 6.20).

 

 

Рис. 6.20. Утилита Oracle SQL*Plus. Установка параметров работы.

 

РЕКОМЕНДАЦИЯ 2. 

Хорошим правилом является задание команды spool on <ФайлПротокола> в начале скрипта и spool off – в конце. При этом все команды и сообщения будут выводится в указанный файл, что очень удобно для последующей проверки выполнения (например,  поиском ошибок ORA- и других). Если задать команду set echo off, то исполняемый текст выводиться не будет (будут выводится только сообщения). Можно еще более ускорить выполгнение скрипта, полностью отменив вывод на терминал командой set termout off.

 

РЕКОМЕНДАЦИЯ 3.

При копировании строк из экрана Oracle SQL*Plus не обязательно клавишами вводить команды для копирования в буфер обмена (Ctrl-C) и вставки из него (Ctrl-V). Достаточно выделить текст левой кнопкой мыши и, не отпуская, тут же щелкнуть правой.

 

ПРИМЕЧАНИЕ 1.

Присоединяться к Oracle пользователем INTERNAL при загрузки утилиты Oracle SQL*Plus можно только на сервере MS Windows NT. На клиенте будет выдана ошибка.

 

ПРИМЕЧАНИЕ 2.

После останова БД, на которую был сеанс Oracle SQL*Plus, требуется выгрузить и вновь запустить утилиту.

 

            Удобно настроить вызов утилиты по сочетанию клавиш Ctrl-Alt-S.

 

 

Oracle Net8 Easy Config (N8SW.EXE)

            Утилита служит для добавления, модификации, удаления и тестирования сервиса в файле TNSNAMES.ORA.

            Для добавления сервиса запустите утилиту Oracle Net8 Easy Config и выполните следующее:

·         Установите радиокнопку Add New Service, в поле ввода New Service Name введите имя сервиса и нажмите кн. Next >  (рис. 6.21).

·         Выберите протокол TCP/IP (первая строка) и нажмите кн. Next >  (рис. 6.22).

·         В поле ввода Host Name укажите IP-адрес сервера или его имя (лучше адрес), в поле Port Number оставьте значение 1521 и нажмите кн. Next >  (рис. 6.23).

·         В поле ввода Database SID введите SID экземпляра Oracle и нажмите кн. Next >  (рис. 6.24).

·         Нажмите кн. Test Service и в новом окне введите в поля Username и Password имя пользователя и его пароль для соединения с БД; нажмите кн. Test  (рис. 6.25-6.26).

·         Если соединения не произошло, появится сообщение:

 

The test did not succeed.

ORA-12203: TNS:unable to connect to destination

 

There may be an error in the fields entered

or the server may not be ready for a connection.

You can check the server and retry, or continue.

 

Уточните и исправьте введенные параметры (возврат к предыдущему окну - кн. < Previous), проверьте, запущена ли БД, и снова нажмите кн. Test.

·         При удачном соединении появится сообщение "The connection test was successful". Нажмите кн. Done, затем кн. Next >, затем кн. Finish  (рис. 6.27)

 

Рис. 6.21. Утилита Oracle Net8 Easy Config. Добавление сервиса. Шаг 1. Описание имени.

 

 

 

Рис. 6.22. Утилита Oracle Net8 Easy Config. Добавление сервиса. Шаг 2. Указание протокола.

 

 

 

Рис. 6.23. Утилита Oracle Net8 Easy Config. Добавление сервиса. Шаг 3. Ввод сетевого адреса и номера порта.

 

 

 

Рис. 6.24. Утилита Oracle Net8 Easy Config. Добавление сервиса. Шаг 4. Ввод системного идентификатора базы данных.

 

 

 

Рис. 6.25. Утилита Oracle Net8 Easy Config. Добавление сервиса. Шаг 5. Подтверждение запроса на тестирование.

 

 

 

Рис. 6.26. Утилита Oracle Net8 Easy Config. Добавление сервиса. Шаг 6. Указание имени пользователя и пароля для тестирования соединения с Oracle.

 

 

 

Рис. 6.27. Утилита Oracle Net8 Easy Config. Добавление сервиса. Шаг 7. Завершение.

 

 

Для удаления сервиса: укажите Delete, выберите сервис, нажмите кн. Next> и подтвердите удаление (кн. OK).

 

            Для изменения параметров сервиса укажите Modify, имя сервиса, и измените парвметры, передвигаясь по окнам с помощью кнопок Next> и <Previous.

 

            Для тестирования правильного описания сервиса:

·         укажите Test, выберите сервис и нажмите кн. Next>;

·         далее - как в описано тестирование при добавлении сервиса.

 

                Удобно настроить вызов утилиты по сочетанию клавиш Ctrl-Alt-E.

 

Утилиты командной строки (DOS, MS Windows 9x, NT, Novell Netware, Linux)

 TNSPING80.EXE (NT), TNSPNG80.NLM (Netware) и tnsping (Linux)

            Служит для «прозванивания» связи по протоколу TCP/IP, но, в отличие от утилиты PING, параметром является не адрес или имя компьютера, а имя БД.

LSNRCTL80.EXE (NT), LSNCTL80.NLM (Netware) и lsnrctl (Linux)

            Главное назначение: перезапуск процесса «прослушивания» сервисов Oracle. Для этого после запуска утилиты задайте команду STOP, затем START (можно вместо этих двух команд использовать новую команду RELOAD). Перезапуск «прослушивания» необходим, если на сервере был исправлен файл LISTENER.ORA.

            Можно также воспользоваться другим способом перезапуска «прослушивания». Введите последовательно команды:

 

UNLOAD TNSLSN80

ORLOADS15 TNSLSN80

 

Чтобы узнать о всех функциях утилиты, введите команду HELP. Появится следующий список команд:

Для выхода из утилиты введите команду EXIT или QUIT.

ORAPWD80.EXE (NT), ORAPWD80.NLM (Netware) и orapwd (Linux)

            Служит для изменения пароля пользователя INTERNAL.

 

ПРИМЕР:

 

LOAD ORAPWD80 FILE=VOL1:ORANW804\DATABASE\PWDORC1.ORA PASSWORD=ILOND ENTRIES=4

 

 

SVRMGR30.EXE (NT), SVRMGR30.NLM (Netware) и svrmgrl (Linux)

            Краткое описание достоинств и недостатков этой утилиты дано в: Часть 1, Глава 5: Что применять для ввода команд: Svrmgr30, SQL Plus или SQL Worksheet?. Для более подробной информации введите команду HELP после запуска этой утилиты. Много полезного найдете в [4], прочитав о командах предшествующей утилиты – SQL*DBA.

            Следует обратить внимание, что этой утилитой можно восстанавливать БД (команда RECOVER).

            На рис. 6.28 приведен вид на удаленной консоли сервера Netware после запуска утилиты SVRMGR30.NLM.

 

 

Рис. 6.28. Утилита SVRMGR30.NLM. Вид на удаленной консоли сервера.

 

EXP80.EXE (NT), EXP80.NLM (Netware) и exp (Linux)

Служит для экспорта всей БД, отдельных схем БД или отдельных таблиц БД:

 

Пример 1. Экспорт всей БД (ExpFulAn.bat):

 

exp80 system/manant@pli_anta direct=y file=ExpFulAN.dmp full=y

  log=ExpFulAN.log

 

Пример 2. Экспорт схемы PLIOCN  (вызывается в файле PliOcExp.bat):

 

exp80 system/manor@oracle direct=y file=I:\PLIS\PliOcExp.dmp

  owner=plioc log=I:\PLIS\PliOcExp.log

 

Пример 3. Экспорт отдельных таблиц (ExpTbSys.bat):

 

exp80 system/manant@pli_anta direct=y file=ExpTbSys.dmp

  tables=(ACCESS$,AQ$_MESSAGE_TYPES) owner=SYS log=ExpTbSYS.log

 

Пример 4. Экспорт одной таблицы (ExpWorks.bat):

 

exp80 system/manpek@pekin direct=y file=ExpWorks.dmp

  tables=PLIPEKIN.WORKS log=ExpWorks.log

 

ПРИМЕЧАНИЕ 1.

Файл протокола по умолчанию создается в подкаталоге RDBMS80, если был произведен запуск EXP80.NLM с сервера Netware, или в текущем каталоге, если был запущен EXP80.EXE с клиента.

 

ПРИМЕЧАНИЕ 2.

При экспорте могут остановится другие процессы в БД, в частности, при этом к БД иногда невозможно даже подсоединиться.

 

ПРИМЕЧАНИЕ 3.

Если экспорт зависает, то можно удалить сессию с помощью Oracle Instance Manager либо перезапустить БД.

 

ПРИМЕЧАНИЕ 4.

Для вывода справки о ключах утилит EXP80 и IMP80 укажите в командной строке HELP = Y.

IMP80.EXE (NT), IMP80.NLM (Netware) и imp (Linux)

Служит для импорта всей БД, отдельных схем БД или отдельных таблиц БД. Перед импортом эти таблицы должны быть удалены, а триггеры отключены (либо проще удалить таблицы каскадно со всеми объектами).

Для удаления таблиц (со связанными объектами: триггерами, функциями, журналами снимков) и последовательностей перед импортом воспользуйтесь файлом DTabSeq.sql, в котором для каждой таблицы, начиная с наинизшего ссылочного приоритета выполняются следующие команды:

 

drop table PARWTANK cascade constraints;

drop sequence PARWTANK_SEQ;

 

Пример1. Импорт всей БД (ImpFulAn.bat):

 

imp80 system/manant@pli_anta file=D:\DATABASE\ExpFulAN.dmp full=y

  grants=y log=D:\DATABAS\ImpFulAN.log

 

Пример 2. Импорт всех объектов схемы:

 

imp80 system/manteg@pli_teger file=P:\PIP\ExpUsTEG.dmp

  fromuser=pliteger touser=pliteger grants=y log=P:\PIP\ImpUsTEG.log

 

Пример 3. Импорт определенных таблиц (ImpBERL.bat):

 

imp80 system/manber@pli_berl

  file=M:\ORANW804\DATABASE\ExpUsBER.dmp

  fromuser=pliberl touser=pliberl tables=(BOOK,FEATURES)

  grants=y log=M:\ORANW804\DATABASE\ImpUsBER.log

 

Пример 4. Импорт одной таблицы (ImpWorks.bat):

 

imp80 system/manbel@pli_belg file=ExpWorks.dmp fromuser=plibelg

  touser=plibelg tables=WORKS grants=y log=ImpWorks.log

 

ПРИМЕЧАНИЕ.

Большой интерес представляет параметр SHOW=Y. При этом вместо импорта объектов в БД создается файл с командами, выполняемыми при импорте (одно неудобство – в кавычках). После корректировки этот файл можно использовать как скрипт для создания БД (при условии предварительного создания табличного пространства SYSTEM).

SQLLDR80.EXE (NT), SQLLDR80.NLM (Netware) и sqlldr (Linux)

            Утилита служит для загрузки данных в таблицы БД Oracle. В командной строке задаются следующие основные параметры:

·         USERID – строка как для команды CONNECT

·         CONTROLфайл с описанием данных

·         LOG – файл протокола загрузки

 

Пример загрузки таблицы CONOPF:

 

SQLLDR80.EXE USERID=PLIBAGD/BAGD@BAGD CONTROL=I:\PLIS\CONOPF.DAT

  LOG=I:\PLIS\CONOPF.LOG DIRECT=TRUE

 

Пример файла CONOPF.DAT

 

LOAD DATA

INFILE *

INTO TABLE CONOPF

FIELDS TERMINATED BY '|'

(ID,CADOPF,COD_OPF,CORDATE DATE "MM-DD-YYYY",USERNAME)

BEGINDATA

-1560772095|393|006|09-27-1999|Initial

-312239604|461|009|09-27-1999|Initial

-165012457|431|008|09-27-1999|Initial

633061422|416|007|09-27-1999|Initial

2112412701|376|010|09-27-1999|Initial

 

Пример файла CONOPF.LOG:

 

SQL*Loader: Release 8.0.4.0.0 - Production on Mon Sep 27 20:56:27 1999

(c) Copyright 1997 Oracle Corporation.  All rights reserved.

 

Control File:   I:\PLIS\ConOPF.dat

Data File:      I:\PLIS\ConOPF.dat

Bad File:       I:\PLIS\ConOPF.bad

Discard File:   none specified

 

(Allow all discards)

 

Number to load: ALL

Number to skip: 0

Errors allowed: 50

Continuation:   none specified

Path used:      Direct

 

Table CONOPF, loaded from every logical record.

Insert option in effect for this table: INSERT

 

Column Name             Position   Len   Term Encl Datatype

----------------------- ---------- ----- ---- ---- -----------------

ID                            FIRST    *   |       CHARACTER           

CADOPF                        NEXT     *   |       CHARACTER           

COD_OPF                       NEXT     *   |       CHARACTER           

CORDATE                       NEXT     *   |       DATE MM-DD-YYYY     

USERNAME                      NEXT     *   |       CHARACTER           

 

 

The following index(es) on table CONPHY were processed:

index PLIPEKN.CONOPF_PK0 loaded successfully with 5 keys

index PLIPEKN.CONOPF_UNQ0 loaded successfully with 5 keys

 

Table CONOPF:

5 Rows successfully loaded.

0 Rows not loaded due to data errors.

  0 Rows not loaded because all WHEN clauses were failed.

  0 Rows not loaded because all fields were NULL.

 

Bind array size not used in direct path.

Space allocated for memory besides bind array:        0 bytes

 

Total logical records skipped:          0

Total logical records read:             5

Total logical records rejected:         0

Total logical records discarded:        0

 

Run began on Mon Sep 27 20:56:27 1999

Run ended on Mon Sep 27 20:56:29 1999

 

Elapsed time was:     00:00:01.87

CPU time was:         00:00:00.23   

 

ПРИМЕЧАНИЕ.

Ограничения во время загрузки отключаются автоматически и их затем следует включать командой ALTER TABLE, например:

 

alter table PLIPEKN.CONOPF enable constraint CONOPF_PK

 


Игорь Гаршин, E-mail: garchine@mail.ru, URL: garshin.ru.

Страницы со статьей: Репликация Oracle | Все статьи
Я.Метрика: просмотры, визиты и хиты сегодня
На правах рекламы (см. условия):