Перевод БД на другую версию сервера Oracle (upgrade и downgrade)
Перевод
БД на старую версию сервера Oracleназывается
downgrade, на новую – upgrade. И
то и другое обычно описывается в технической документации. Например, перевод БД
с версии 8.0.3 на версию 8.0.4 сервера Oracleдля NovellNetware 5 в (в
разделе UpgradinganOracle8 Database) описывается слишком
упрощенным способом (используя который без опыта, можно иногда «запороть» БД):
·Шаг 1Остановите БД
версии 8.0.3.
·Шаг 2: Создайте резервную копию БД версии 8.0.3.
·Шаг 3:ПоправьтепараметрcompatibleвфайлеINIT<SID>.ORAдляБДверсии 8.0.3. (Имеется ввиду – введите номер новой версии сервера Oracle).
·Шаг 4:Проинсталлируйте Oracle8 Enterprise Edition
Release 8.0.4 (имеетсяввидусервернаячасть).
·Шаг 5: Запустите скрипт CAT8004.SQL.
По-настоящему, все, конечно, значительно сложнее:
например, в документации забыли указать, что необходимо перекомпилировать все
модули, перезапустить некоторые постпроцедуры, перед запуском CAT8004.SQL необходимо запустить БД, причем она должна быть
открытой (в состоянии OPENED), а
присоединяться нужно как INTERNAL и
т.д. А вообще, это все тоже может не привести к ожидаемому результату, потому
что Словарь БД оказывается разрушенным, в результате чего Oracleне видит
пользователя SYSTEM, а целый ряд постпроцедур и важных скриптов из-за
этого не выполняется.
Существуют и другие способы для upgradeБД. Например,
сделать полный экспорт БД, инсталлировать новую версию сервера и сделать импорт
и пр.
Определение оптимальности некоторых конфигурационных параметров
·Для определения, нужно ли изменять
размер буферного кэша, введите запрос:
select NAME,
VALUE from V$SYSSTAT where NAME in
(‘CONSISTENT_GETS’,
‘DB_BLOCK GETS’, ‘PHYSICAL_READS’);
Затем вычислите коэффициентт попадания в SGAпо следующей
формуле:
HIT_RATIO =
1-(PHYSICAL READS / (DB BLOCK_GETS + CONSISTENT_GETS)
Если HIT_RATIO меньше 0.7 — увеличьте
параметр DB_BLOCK_BUFFERS
·Для определения, нужно ли изменять
размер разделяемого пула, введите запросы:
select sum(PINS)
PINS, sum(RELOADS) RELOADS from V$LIBRARYCACHE;
ЕслиPINS / RELOADSбольше 1 – увеличтепараметрSHARED_POOL_SIZE
select sum(GETS)
GETS, sum(GETMISSES) GETMISSES from V$ROWCACHE;
ЕслиGETS / GETMISSESбольше 0.1 — увеличтепараметрSHARED_POOL_SIZE
·Для определения, нужно ли изменять
размер области сортировки, введите запрос:
select NAME, VALUE from
V$SYSSTAT where NAME like ‘sort%’
Возможен
такой результат запроса:
NAMEVALUE
——————————————————
———-
sorts
(memory) 231
sorts
(disk) 0
sorts
(rows) 340
Если
sorts (disk) больше 0, значит для параметра SORT_AREA_SIZEтребуется
больше памяти
Для
параметра SORT_AREA_SIZE_RETAINEDможно
установить минимальный размер
·Для определения, имеется ли
конкуренция за журнальные файлы, введите запрос:
select
NAME,GETS,MISSES,SLEEPS,IMMEDIATE_GETS,IMMEDIATE_MISSES
from V$LATCH where NAME
in (‘REDO ALLOCATION’, ‘REDO COPY’)
Вычислитедвазначения
IMM_CONTENT=(IMMEDIATE_MISSES/(IMMEDIATE_GETS+IMMEDIATE_MISSES))
WAIT_CONTENTION=(MISSES/(GETS+MISSES))
Если
любое значение больше 1, то имеетсяся конкуренцияция за защелку.
·чтобы снизить конкуренцию за
защелку выделения журнального буфера – уменьшите параметр LOG_SMALL_ENTRY_MAX_SIZE
·чтобы снизить конкуренцию за
защелку копирования журнала – увеличьте параметр LOG_SIMULTANEOUS_COPIES
Установка SQL Developer
Как было сказано, для работы среды SQL Developer требуется Java SE, поэтому у Вас на компьютере должен быть установлен Java Development Kit (JDK) это разработанный компанией Oracle, бесплатный комплект разработчика на языке Java, который включает стандартный компилятор, библиотеки классов Java и исполнительную среду JRE.
Если у Вас не установлен пакет JDK, и Вы выбрали тот же файл что и я Windows 32/64-bit — Installation Notes то, нам еще необходимо установить JDK, так как в данную сборку этот пакет не включен, если бы мы выбрали, например платформу Windows 64-bit — zip file includes the JDK 7, то, как видите из названия, комплект JDK включен в сам дистрибутив SQL Developer. (А если у Вас уже установлен JDK, то можете переходить сразу к пункту .)
Поэтому нам сначала необходимо скачать и установить JDK, скачать его можно также на официальном сайте. Например, я буду скачивать, и устанавливать 7 версию JDK (кстати, доступна уже 8 версия, но я захотел именно эту). 7 версия JDK на сегодняшний день доступна на странице
я перехожу на эту страницу, и у пункта Java SE Development Kit 7u72 снова соглашаюсь с лицензионным соглашением, путем выбора переключателя Accept License Agreement и выбираю файл для 32 разрядных операционных систем Windows, а конкретно jdk-7u72-windows-i586.exe.
Установка Java SE Development Kit 7u72 (JDK)
У нас загрузился файл jdk-7u72-windows-i586.exe мы соответственно его и запускаем.
После запуска появится стартовое окно установщика JDK, мы жмем
Затем советую оставить все по умолчанию, жмем
И в процессе установке появится окно для запроса на установку JRE, жмем
Далее соответственно будет производиться установка JRE
После появления следующего окна установка будет завершена, жмем
Запуск SQL Developer 4.0.3
После распаковки архива sqldeveloper-4.0.3.16.84-no-jre.zip и установки JDK, переходим в распакованный каталог, открываем папку sqldeveloper и запускаем программу sqldeveloper.exe.
И при первом запуске SQL Developer попросит указать путь к комплекту JDK, и если Вы не меняли путь при установке JDK, то программа сама его подставит, нам останется нажать , а если все же Вы изменили путь, то его необходимо будет указать.
И вот сейчас мы сможем наблюдать, как у нас будет открываться программа SQL Developer
После чего она соответственно откроется, и мы увидим стартовую страницу
Настраиваем подключение с сервером и базой данных
Так как в прошлом материале мы установили Oracle Database Express Edition, соответственно именно с этим сервером мы и будем соединяться.
Для этого жмем плюсик
После чего у Вас откроется окно настройки подключения, Вы соответственно вводите название Вашего подключения (Connection Name), имя пользователя (Username) и пароль (Password), если Oracle Database установлен на этом же компьютере, то в поле Hostname так и оставляем Localhost, порт 1521 (Port), SID, т.е. название базы данных, в случае с Express Edition это XE. (Если помните, я говорил что sql developer можно настроить на работу с базой Access mdb, для этого перейдите на вкладку Access). После ввода советую сначала нажать Test и если Вы получили ответ в строке состояния , т.е. Status: Success
То это означает что все хорошо, можем нажимать
В случае если Вы получили в ответ следующую ошибку:
То, это означает, что в связи с языковыми настройками операционной системы Windows, Вы не можете подключиться, но, это можно исправить, если в конфигурационной файл, он расположен по следующему пути
в конец добавить две строки
затем перезапустить SQL Developer
После подключения к базе Вы увидите название своего подключения в списке подключений
Если плюсиком открыть подключение мы увидим все типы объектов в базе данных
Вот и все теперь можно писать запросы, разрабатывать функции, процедуры на языке PL/SQL, но об этом в следующем материале. Удачи!
Oracle SQL Developer — это бесплатная интегрированная среда разработки для работы с SQL в базах данных Oracle. В нем используется набор для разработчиков Java Development Kit.
Также данный продукт умеет работать с такими базами данных, как:
- IBM DB2;
- Microsoft Access;
- Microsoft SQL Server;
- MySQL;
- Sybase Adaptive Server;
- Teradata.
Скачиваем с официального сайта Oracle последнию версию Oracle SQL Developer. Стоит отметить, что данная среда разработки работает только при условии, если у вас установлена версия Java не ниже 1.6.
Для проверки установленной версии, вводим команду в терминале:
В моем случае вывод такой:
После того, как версия Java определена, Oracle SQL Developer скачен, распаковываем и переходим в его директорию:
и затем запускаем скрипт установки:
Во время установки вам надо будет показать путь до установленной в вашей системе Java.
После установки запускаем Oracle SQL Developer:
Использование встроенных модулей
В
Oracle 8 существуют следующие встроенные модули (подчеркнутые
– используемые в настоящей документации) :
·DBMS_ALERT – Синхронное взаимодействие соединений (сеансов)
·DBMS_APPLICATION_INFO – Регистрация приложений для трассировки
·DBMS_AQи DBMS_AQADM – Управление средством Oracle8 AdvancedQueuing
·DBMS_DEFER, DBMS_QUERYи DBMS_DEFER_SYS – Создание отложенных вызовов удаленных процедур и
управление этими вызовами (используется в репликационном механизме Multimaster)
·DBMS_DDL – PLSQL-эквиваленты для некоторых команд DDL
·DBMS_SESCRIBE – Описание хранимых подпрограмм
·DBMS_JOB – Планирование выполнения процедур PLSQL
·DBMS_LOB – Работа с объектами LOBв Oracle8
·DBMS_LOCK – Блокировки,
определяемые пользователями
·DBMS_OUTPUT – Вывод информации на экран
·DBMS_PIPE — Асинхронное взаимодействие соединений (сеансов)
·DBMS_REFRESH и DBMS_SNAPSHOT – Работа с моментальными снимками
·DBMS_REPCAT, DBMS_REPCAT_ADMIN, DBMS_REPCAT_AUTH – Работа со средством симметричного тиражирования Oracle
(используется в репликационном механизме Multimaster)
·DBMS_ROWID – Получение информации из идентификаторов строк (ROWID). Преобразование ROWID Oracle7 в ROWID Oracle8 и наоборот
·DBMS_SESSION – PL/SQL-эквиваленткомандыalter session
·DBMS_SHARED_POOL – Управление разделяемым пулом
·DBMS_SQL – Динамические PLSQLи SQL (пример
в Главе 3 Части 1)
·DBMS_TRANSACTION – Команды
управления транзакциями
·DBMS_UTILITY – Дополнительные служебные процедуры
·UTL_FILE – Файловый ввод-вывод
Эти модули иногда бывают очень полезны (вывод на
экран, обмен сообщениями), а в ряде случаев без них не обойтись. Например, при
импорте схемы в БД для замены устаревших данных в таблицах данного пользователя
необходимо сначала отключить все триггеры и ограничения для этих таблиц, затем удалить
все данные, и только после этого производить импорт. Затем нужно опять включить
ограничения и триггеры. Чтобы в скрипте не перечислять имена всех таблиц,
триггеров и ограничений, можно их выбрать из Словаря данных (USER_OBJECTSи
др.) и затем использовать как параметры. Это достигается с помощью модуля DBMS_SQL (в Главе 5 Части 1 это будет подробно описано).
Local Naming
Используя эту технику пользователь использует псевдоним (Oracle Net service alias) в строке подключения, а псевдоним преобразуется в сетевой адресс, протокол, сервис или имя экземпляра с помощью локального файла. Этот файл и есть пресловутый tnsnames.ora, который доставил много горя DBA. Рассмотрим пример файла tnsnames.ora
ocp11g =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = jwlnx1.bplc.co.za)(PORT = 1522))
(CONNECT_DATA =
(service_name = ocp11g)
test =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = serv2.bplc.co.za)(PORT = 1521))
(CONNECT_DATA =
(sid = testdb)
Этот файл содержит два Oracle Net Service alias: ocp11g и test. Эти псевдоним и есть то, что будут использовать пользователи в строке подключения. Первый псевдоним ocp11g указывает на то, что если в строке подключения найдено «@ocp11g», то пользовательский процесс по протоколу TCP, порту 1522 подключится к машине jwlnx1.bplc.co.za и попросит listener создать сессию для экземпляра с названием сервиса ocp11g. Второй алиас test направит пользовательские процессы по другому адресу, порту и сессии будут создаваться для экземпляра testdb.
Метод local naming поддерживает все протоколы и возможность Oracle Net, но управление файлами tnsnames.ora на клиентских машинах может быть задачей, занимающей очень много времени. Также tnsnames.ora файл очень чувствителен к ошибкам синтаксиса. Использование графических программ поможет избегать этих ошибок.
Easy connect
Метод easy connect был представлен в версии 10g. Его очень использовать – он не требует настройки. Но доступен при использовании только одного протокола: TCP. Остальные методы могут работать с любыми поддеживаемыми протоколами. Easy connect не может использовать дополнительные возможности Oracle Net, такие как балансировка нагрузки или поддержка сетевой маршрутизации. Этот метод часто используется DBA но для пользователей он не сильно удобен. Пример подключения
connect store/[email protected]:1522/ocp11g
В этом примере пользовательский процесс использя TCP протокол подключится к порту 1522 по IP адрессу определённому из имени хоста. Если listener запущен на этом порту этого сервера – пользовательский процесс запроси listener создать серверный процесс на instance ocp11g. Можно ещё упростить эту команду
connect store/admin123@ jwlnxl.bplc.co
Такая команда сработает только если listener запущен на порту 1521 и имя сервиса совпадает с именем хоста jwlnxl.bplc.co
Запуск и останов БД
Запуск БД
Процесс запуска БД проходит 3
стадии:
·NOMOUNT, когда открывается файл INIT<SID>.ORA и в ОЗУ компьютра создается экземпляр БД
·MOUNT, когда открываются управляющие файлы (CTL1<SID>.ORAи
т.д.)
·OPEN, когда открываются файлы табличных пространств
Если запустить утилиту SVRMGR30 и ввести команду
startup
pfile=%ORACLE_HOME%\DATABASE\INIT<SID>.ORA
то
произойдет запуск БД до состояния OPEN (по
умолчанию). Можно ввести команду ORASTART.NCF, что
приведет к аналогичному эффекту. Можно ввести эту же команду, но добавить
параметр NOMOUNT. При этим произойдет запуск БД до первого состояния.
Чтобы затем ее открыть, нужно последовательно задать команды:
alterdatabasemount;
alterdatabaseopen;
Установка Oracle SQL Developer 4.0.3 и настройка подключения с сервером
Продолжаем осваивать СУБД от Oracle и сейчас давайте рассмотрим инструмент разработки и администрирования баз данных SQL Developer, мы узнаем, для чего нужен данный инструмент, затем установим его и настроим на работу с базой данных.
Как помните, в прошлом материале мы рассмотрели бесплатную СУБД от Oracle, а именно Oracle Database Express Edition 11g Release 2. И теперь для того чтобы разрабатывать базы данных и приложения на PL/SQL, необходимо установить соответствующий инструмент, и я, конечно же, для этих целей предлагаю использовать, также бесплатную программу SQL Developer, которую компания Oracle выпускает специально для разработки и управления баз данных на СУБД Oracle Database.
Установка SQL Developer
Как было сказано, для работы среды SQL Developer требуется Java SE, поэтому у Вас на компьютере должен быть установлен Java Development Kit (JDK) это разработанный компанией Oracle, бесплатный комплект разработчика на языке Java, который включает стандартный компилятор, библиотеки классов Java и исполнительную среду JRE.
Если у Вас не установлен пакет JDK, и Вы выбрали тот же файл что и я Windows 32/64-bit — Installation Notes то, нам еще необходимо установить JDK, так как в данную сборку этот пакет не включен, если бы мы выбрали, например платформу Windows 64-bit — zip file includes the JDK 7, то, как видите из названия, комплект JDK включен в сам дистрибутив SQL Developer. (А если у Вас уже установлен JDK, то можете переходить сразу к пункту «».)
Поэтому нам сначала необходимо скачать и установить JDK, скачать его можно также на официальном сайте. Например, я буду скачивать, и устанавливать 7 версию JDK (кстати, доступна уже 8 версия, но я захотел именно эту). 7 версия JDK на сегодняшний день доступна на странице
я перехожу на эту страницу, и у пункта Java SE Development Kit 7u72 снова соглашаюсь с лицензионным соглашением, путем выбора переключателя Accept License Agreement и выбираю файл для 32 разрядных операционных систем Windows, а конкретно jdk-7u72-windows-i586.exe.
Установка Java SE Development Kit 7u72 (JDK)
У нас загрузился файл jdk-7u72-windows-i586.exe мы соответственно его и запускаем.
После запуска появится стартовое окно установщика JDK, мы жмем «Next»
Затем советую оставить все по умолчанию, жмем «Next»
Началась установка
И в процессе установке появится окно для запроса на установку JRE, жмем «Next»
Далее соответственно будет производиться установка JRE
После появления следующего окна установка будет завершена, жмем «Close»
Запуск SQL Developer 4.0.3
После распаковки архива sqldeveloper-4.0.3.16.84-no-jre.zip и установки JDK, переходим в распакованный каталог, открываем папку sqldeveloper и запускаем программу sqldeveloper.exe.
И при первом запуске SQL Developer попросит указать путь к комплекту JDK, и если Вы не меняли путь при установке JDK, то программа сама его подставит, нам останется нажать «OK», а если все же Вы изменили путь, то его необходимо будет указать.
И вот сейчас мы сможем наблюдать, как у нас будет открываться программа SQL Developer
После чего она соответственно откроется, и мы увидим стартовую страницу
Настраиваем подключение с сервером и базой данных
Так как в прошлом материале мы установили Oracle Database Express Edition, соответственно именно с этим сервером мы и будем соединяться.
Для этого жмем плюсик «New Connection»
После чего у Вас откроется окно настройки подключения, Вы соответственно вводите название Вашего подключения (Connection Name), имя пользователя (Username) и пароль (Password), если Oracle Database установлен на этом же компьютере, то в поле Hostname так и оставляем Localhost, порт 1521 (Port), SID, т.е. название базы данных, в случае с Express Edition это XE. (Если помните, я говорил что sql developer можно настроить на работу с базой Access mdb, для этого перейдите на вкладку Access). После ввода советую сначала нажать Test и если Вы получили ответ в строке состояния «Успех», т.е. Status: Success
То это означает что все хорошо, можем нажимать «Connect»
В случае если Вы получили в ответ следующую ошибку:
Status : Failure -Test failed: ORA-00604: error occurred at recursive SQL level 1 ORA-12705: Cannot access NLS data files or invalid environment specified
То, это означает, что в связи с языковыми настройками операционной системы Windows, Вы не можете подключиться, но, это можно исправить, если в конфигурационной файл, он расположен по следующему пути
sqldeveloper\sqldeveloper\bin\sqldeveloper.conf
в конец добавить две строки
AddVMOption -Duser.language=en AddVMOption -Duser.region=us
затем перезапустить SQL Developer
После подключения к базе Вы увидите название своего подключения в списке подключений
Если плюсиком открыть подключение мы увидим все типы объектов в базе данных
Аннотация
В этой статье описывается настройка связанного сервера с компьютера под управлением Microsoft SQL Server в базу данных Oracle, а также приводятся основные действия по устранению распространенных ошибок, которые могут возникнуть при настройке связанного сервера в Oracle. Большая часть сведений, приведенных в этой статье, относится к средам, настроенным для использования поставщика Microsoft OLEDB для Oracle (MSDAORA). Избегайте использования этой функции в новых работах по разработке и планируйте изменение приложений, которые в настоящее время используют эту функцию. Вместо этого используйте поставщик OLE DB oracle.
Дополнительные сведения о настройке связанного сервера с помощью поставщика OLEDB oracle см. в статье Как приступить к работе с Oracle и связанными серверами.
Важно!
Текущая версия microsoft ODBC Driver for Oracle соответствует спецификации ODBC 2.5, а поставщик OLE DB для Oracle — это собственный поставщик API OCI Oracle 7. Драйвер и поставщик используют клиент SQL*Net (или клиент Net8 для Oracle 8x), библиотеку Интерфейса вызовов Oracle (OCI) и другие клиентские компоненты Oracle для подключения к базам данных Oracle и получения данных. Клиентские компоненты Oracle важны и должны быть правильно настроены для успешного подключения к базам данных Oracle с помощью драйвера и поставщика.
В компонентах доступа к данным Майкрософт (MDAC) версии 2.5 и более поздних версиях драйвер Microsoft ODBC и поставщик OLE DB поддерживают только Oracle 7 и Oracle 8i со следующими ограничениями:
-
Типы данных Oracle 8.x, такие как CLOB, BLOB, BFILE, NCHAR, NCLOB и NVARCHAR2, не поддерживаются.
-
Функция Юникода для серверов Oracle 7.x и 8.x не поддерживается.
-
Несколько клиентских экземпляров Oracle или несколько домов Oracle не поддерживаются, так как они используют первое вхождение дома Oracle в переменной SYSTEM PATH.
-
Возврат нескольких наборов результатов из хранимой процедуры или пакетной инструкции SQL не поддерживается с помощью ADO или OLEDB.
-
Вложенные внешние соединения не поддерживаются.
-
Сохраняемость XML не поддерживается.
-
Версии больше 8i не поддерживаются с помощью этих драйверов.
Примечание.
Сторонние продукты, которые обсуждаются в этой статье, производятся компаниями, независимыми от Microsoft. Корпорация Майкрософт не дает никаких явных, подразумеваемых и прочих гарантий относительно производительности или надежности этих продуктов.
SQL Developer
SQL Developer – это инструмент для подключения к серверу Oracle (и не только Oracle) и выполнения команд SQL. В нём также можно разрабатывать PL/SQL объекты. В отличие от SQL *Plus – это графический инструмент с настроенными макросами для распространённых действий. SQL Developer разработан на языке Java и наличие JRE необходимо для запуска. Т.е. SQL Developer доступен для любой платформы для которой существет Java Runtime Environment. Последнюю версию можно скачать с сайта Oracle.
На рисунке 2-3 показан пример пользовательского интерфейса SQL Developer подключенного к БД и выполняющего простой SQL запрос. Он состоит из левой части используемой для навигации между объектами БД и правой части для ввода и вывода информации.
Вместо вступления.
Эта статья и её продолжение появились благодаря вопросам студентов на семинарах по СУБД. Каждый студент должен был выбрать тему для проектирования базы данных, реализовать полный цикл проектирования от логической и физической диаграммы в Oracle SQL Developer Data Modeler (SDDM) до работающей базы данных в СУБД Oracle с использованием APEX. Затем стать пользователем своей разработки: заполнить схему данными и написать аналитические запросы. Некоторые возможности SDDM оказались неочевидными и мы потратили полтора занятия, что бы рассмотреть самое необходимое.
Некоторым студентам, имеющим некоторый стихийно накопленный опыт разработки приложений с использованием СУБД, тяжело перестраиваться на анализ предметной области, трудно понять важность методик проектирования реляционной модели. Потому статья начнется с напоминания порядка разработки
Не надо сразу делать таблицы. Порядок разработки следующий:
- анализ данных, процессов обработки информации и бизнес-правил, документирование собранной информации
- выявление и определение сущностей
- выявление, описание атрибутов сущностей, определение типов атрибутов
- выявление, описание и определение типов связей между сущностями
- создание матрицы связей и проверка идеи на прочность анализом матрицы связей, документирование бизнес-правил и ограничений
- создание логической диаграммы сущность-связь (ERD) в SDDM, в свойствах атрибутов и связей в том числе отражаются бизнес-правила и ограничения, те что не могут быть реализованы в СУБД описываются отдельным документом и реализуются на прикладном уровне триггерами
Статью готовил я, Присада Сергей Анатольевич, сейчас работаю в Финансовом университете при Правительстве РФ, почта sergey.prisada на яндексе.
Создание файла ini-initdev.ora
Затем создайте файл ora.ini для новой базы данных. Это файл инициализации для новой базы данных.
В зависимости от версии вашей Oracle, вы можете увидеть образец файла init.ora в $ ORACLE_HOME. Если у вас есть, используйте его в качестве базового и отредактируйте соответствующие значения.
cd $ORACLE_HOME/dbs cp init.ora initdev.ora
Примечание:
Как было показано выше, файл инициализации для новой базы данных должен быть такого формата: INIT {ORACLE_SID} .ora – Итак, в этом случае имя файла будет: initdev.ora
Если вы не видите шаблон по умолчанию init.ora в вашем $ORACLE_HOME/DBS, используйте следующий образец.
*.db_name='dev' *.db_domain='' *.audit_file_dest='/u01/app/oracle/admin/dev/adump' *.audit_trail='db' *.compatible='11.2.0.0.0' *.memory_target=1G *.control_files='/u01/app/oracle/oradata/dev/control01.ctl','/home/oracle/u02/oradata/dev/control02.ctl' *.db_block_size=8192 *.diagnostic_dest='/u01/app/oracle/admin/dev' *.open_cursors=250 *.processes=100 *.remote_login_passwordfile='EXCLUSIVE' *.undo_tablespace='UNDOTS'
Несколько пунктов необходимо рассмотреть в указанном файле:
- В указанном файле, убедитесь, что вы установите db_name на имя ORACLE_SID, установленной в предыдущем шаге
- Как бы ни называлось undo_tablespace, мы указываем, что должны использовать точное название в команде CREATE DATABASE.
- Изменение расположения каталогов надлежащим образом, основываясь на вашей системе. Не забудьте изменить «dev» в вышеуказанном каталоге на ваше имя ORACLE_SID.
Для чего нужен SQL Developer?
Oracle SQL Developer — это бесплатная графическая среда управления базами данных и разработки приложений на языках программирования SQL и PL/SQL, разработанная специально для СУБД Oracle Database.
Данная среда написана на языке программирование Java и она работает на всех платформах где есть Java SE.
SQL Developer, позволяет просматривать объекты базы данных, запускать различные SQL инструкции, создавать и редактировать объекты базы данных, импортировать и экспортировать данные, а также создавать всевозможные отчеты.
Oracle SQL Developer помимо Oracle Database может подключаться и к другим базам данных, например, Microsoft SQL Server, MySQL и другим, но для этого необходимы специальные плагины, хотя возможность подключения к базе Access (mdb файл) есть по умолчанию.
На момент написания статьи доступна версия Oracle SQL Developer 4.0.3 (4.0.3.16.84) поэтому именно ее мы и будем устанавливать.
Где скачать Oracle SQL Developer?
Так как это продукт компании Oracle соответственно его можно скачать на официальном сайте компании, на данный момент доступна страница
После перехода на страницу мы соглашаемся с лицензионным соглашением путем выбора переключателя Accept License Agreement, затем выбираем платформу, на которую мы будем устанавливать, я хочу устанавливать на Windows 7 x32, соответственно выбираю:
Windows 32/64-bit — Installation Notes Download 226 M
Жму Download, потом, как и при скачивании Oracle Database Express Edition необходимо указать учетные данные от Oracle если они есть, а если нет, то соответственно необходимо завести учетную запись на Oracle (нажать «Создать учетную запись»). После чего загрузится файл sqldeveloper-4.0.3.16.84-no-jre.zip размером почти 226 мегабайт (это архив его можно разархивировать, например программой 7-zip).
6. Соединение с инстансом (instance).
Запустите SQL*Plus и присоединитесь к экземпляру (instance) базы данных Oracle с системными привилегиями .
-
Для аутентификации с помощью password file, введите следующие команды, затем введите пароль.
$ sqlplus /nolog SQL> CONNECT SYS AS SYSDBA
-
Для аутентификации с помощью ОС, введите такие команды:
$ sqlplus /nolog SQL> CONNECT / AS SYSDBA
SQL*Plus выдаст следующее сообщение:
Connected to an idle instance.
Внимание. SQL*Plus может выдать следующее сообщение:
Сonnected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production With the Partitioning, OLAP and Data Mining options
Это значит, что экземпляр уже запущен. Возможно, Вы присоединились к неверному экземпляру. Выйдите из SQL*Plus с помощью команды , проверьте правильно ли указан и повторите попытку.
Некоторые рекомендации по настройке объектов БД
1.Рекомендуемые
параметры для таблиц
Параметр |
По умолчанию |
Общая рекомендация |
Для относи-тельно |
Для таблиц с |
PCTFREE |
10% |
5-20% (15) |
5 или меньше (но не 0) |
Более 10 |
PCTUSED |
40% |
55-90% (60) |
65 или даже 80 |
Даже 20 |
PCTINCREASE |
50% |
0% |
||
INITIAL |
10240 или 20480 |
Все даннае должны помещаться в 1 экстенте с небольшим |
||
NEXT |
10240 или 20480 |
От 25% до размера INITIAL |
ПРИМЕЧАНИЕ.
Должно
выполняться всегда следующее: PCTFREE + PCTUSED < 100
2.Рекомендации по количеству
сегментов отката:
·желательно на 5 пользователей 1 RBS;
·обязательно MINEXTENTS не менее 2 и PCTINCREASE не может быть указан
·Если количество одновременных
транзакций
·меньше 16 — использовать 4 RBS
·16-32 — использовать 8
RBS
·более 32 использовать 1 RBS
на 4 транзакции, но меньше 50
3.Для определения, имеется ли
конкуренция за сегменты отката, введите запрос:
select R.NAME,
S.GETS, S.WAITS
from V$ROLLSTAT
S, V$ROLLNAME R where S.USN=R.USN
Возможен такой результат запроса:
NAMEGETSWAITS
—————————— ———-
———-
SYSTEM
105 0
RB1
161 0
…
Если
WAITSGETS >= 2 — нужно сделать больше RBS
4.Другие настройки
·Для определения, имеется ли
конкуренция за ввод-вывод, введите запрос:
select
D.NAME,F.PHYRDS,F.PHYWRTS
from V$DATAFILE
D, V$FILESTAT F
where
D.FILE#=F.FILE#
Возможен такой результат запроса:
NAMEPHYRDSPHYWRTS
—————————————-
———- ———-
D:\ORAWIN95\DATABASE\SYS1ORCL.ORA
648 34
D:\ORAWIN95\DATABASE\USR1ORCL.ORA
0 0
D:\ORAWIN95\DATABASE\RBS1ORCL.ORA
65 75
D:\ORAWIN95\DATABASE\TMP1ORCL.ORA
0 0
D:\ORAWIN95\DATABASE\PLIS1.ORA
6 31
·Для определения степени
фрагментации, введите запрос:
select
TABLESPACE_NAME, sum(BYTES), max(BYTES),
COUNT(TABLESPACE_NAME)
from
DBA_FREE_SPACE GROUP BY TABLESPACE_NAME
order by
TABLESPACE_NAME
Если count(TABLESPACE_NAME) >10 -15, то необходима
дефрагментация
·Для определения, происходит ли
чрезмерное динамическое расширение, введите запрос:
select OWNER,
SEGMENT_NAME, SUM(EXTENTS)
from DBA_SEGMENTS
where
SEGMENT_TYPE in (‘TABLE’,’INDEX’)
group by OWNER,
SEGMENT_NAME
order by OWNER,
SEGMENT_NAME