Создание базы данных Oracle вручную. Использование DBCA для создания БД Скрипт создания БД

Процесс создания БД состоит из следующих шагов

  1. Создание файла параметров
  2. Создание экземпляра
  3. Выполнение команды CREATE DATABASE / это приведёт к созданию минимум файла контроля, двух файлов логов, двух файлов данных для табличных пространств SYSTEM и SYSAUX внутри которых будет создан словарь данных.
  4. Запуск SQL скриптов для создания представлений надо словарём данных и необходимых PL/SQL объектов
  5. Запуск SQL скриптов для создания объектов необходимых для работы Enterprise Manager Database Control и других настроеных в процессе установки утилит

В системе Windows также необходим дополнительный шаг, так как в Windows Oracle сервер работает как сервис. Oracle предоставляет дополнительный инструмент oradim.exe в помощь при создании этого сервиса

Эти шаги могут быть последовательно выполнены из SQL *Plus или с помощью специального графического инструмента DBCA (Database Configuration Assistant). Также вы можете написать свои скрипты для этой цели или использовать «тихую» установку.

Наиболее простым способом является создание БД с помощью DBCA. Это мастер-установщик который в режиме диалога запросит необходимые параметры и сделает всё в автоматическом режиме.

DBCA написан на Java и поэтому он выглядит одинаково на всех платформах. На Unix подобных системах вы запускаете DBCA на компьютере где вы хотите создать БД, однако выводить графические интерейс можно на любом компьютере где установлен X сервер для отображения графической информации. Путём установки системной переменной DISPLAY можно перенаправить вывод инфомрации на другое устройство. К примеру команда export DISPLAY=10.10.10.65:0.0 перенаправит информацию на компьютер с етевым адресом 10.10.10.65 вне зависимости от того где реально запущен DBCA.

Для запуска DBCA на Linux вначале необходимо установить системные переменные ORACLE_BASE,ORACLE_HOME,PATH и LD_LIBRARY_PATH. Примерные значения могут быть такими

export ORACLE_BASE=/u02/app/db11g

export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

И запустить приложение вызвав команду dbca.

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

Если будет установлен Enterprise Manager Database Control, то тогда необходимо выполнить ещё один предварительные шаг; настройка listener-а БД. Это необходимо так как Database Control всегда подключается к БД с помощью listener-а и в процесе установки проверяет наличие хотя бы одного доступного listener-а. Listener можно легко настроить с помощью Net Configuration Assistant (netca).

DBCA создаёт скрипты и файлы которые находятся в папке ORACLE_BASE/admin/DB_NAME/scripts.

Файл параметров Parameter File

Рассмотрим файл параметров, с именем init.ora. Ниже представлен фрагмент сгенерированного DBCA файла

###########################

# Copyright (c) 1991, 2001, 2002 by Oracle Corporation

###########################################

###########################################

db_block_size=8192

###########################################

# Cursors and Library Cache

###########################################

open_cursors=300

###########################################

# Database Identification

###########################################

###########################################

# File Configuration

###########################################

control_files=(«D:\oracle\app\oradata\ocp11g\control01.ctl»,

«D:\oracle\app\oradata\ocp11g\control02.ctl»,

«D:\oracle\app\oradata\ocp11g\control03.ctl»)

db_recovery_file_dest=D:\oracle\app\flash_recovery_area

db_recovery_file_dest_size=2147483648

###########################################

###########################################

job_queue_processes=10

###########################################

###########################################

compatible=11.1.0.0.0

diagnostic_dest=D:\oracle\app

###########################################

###########################################

nls_language=»ENGLISH»

nls_territory=»UNITED KINGDOM»

###########################################

# Processes and Sessions

###########################################

###########################################

###########################################

sga_target=318767104

###########################################

# Security and Auditing

###########################################

audit_file_dest=D:\oracle\app\admin\ocp11g\adump

remote_login_passwordfile=EXCLUSIVE

###########################################

###########################################

dispatchers=»(PROTOCOL=TCP) (SERVICE=ocp11gXDB)»

###########################################

# Sort, Hash Joins, Bitmap Indexes

###########################################

pga_aggregate_target=105906176

###########################################

# System Managed Undo and Rollback Segments

###########################################

undo_management=AUTO

undo_tablespace=UNDOTBS1

Все строки начинающиеся с символа # являются комментариями. Всего доступно около 300 параметров однако DBCA устанавливает значения только для некоторых. Два главных это DB_BLOCK_SIZE и CONTROL_FILES. DB_BLOCK_SIZE устанавливает значение размера буферов в буфере кэша БД (database buffer cache). Так же это значение будет использовано для форматирования файлов данных табличных пространств SYSTEM и SYSAUX. После создания нельзя изменить это значение. CONTROL_FILES являетяс указателем на все копии контрольного файла. В данный момент времени этот файл не существует и значение укажет экзмепляру где создать новый файл. Назначение некоторых других параметров понятно, и все они описаны в документации Oracle. Единственный параметр у которого нет значения по умолчанию – это DB_NAME.

Скрипт создания БД

Ниже представлен скрипт который DBCA выполняет в процессе создания БД (пример для Windows).

mkdir D:\oracle\app

mkdir D:\oracle\app\admin\ocp11g\adump

mkdir D:\oracle\app\admin\ocp11g\dpdump

mkdir D:\oracle\app\admin\ocp11g\pfile

mkdir D:\oracle\app\cfgtoollogs\dbca\ocp11g

mkdir D:\oracle\app\flash_recovery_area

mkdir D:\oracle\app\oradata\ocp11g

mkdir D:\oracle\app\product\11.1.0\db_3\database

set ORACLE_SID=ocp11g

set PATH=%ORACLE_HOME%\bin;%PATH%

D:\oracle\app\product\11.1.0\db_3\bin\oradim.exe -new -sid OCP11G

Startmode manual -spfile

D:\oracle\app\product\11.1.0\db_3\bin\oradim.exe -edit -sid OCP11G

Startmode auto -srvcstart system

D:\oracle\app\product\11.1.0\db_3\bin\sqlplus /nolog

@D:\oracle\app\admin\db11g\scripts\ocp11g.sql

Вначале скрипт создаёт несколько папок внутри папки ORACLE_BASE. Далее устанавливаются значения системной переменной ORACLE_SID и добавляется путь ORACLE_HOME/bin к переменной PATH. Две команды которые используют oradim.exe не используются в Linux. В Windows они нужны чтобы настроить запуск экземпляра БД как сервиса.

После скрипт запускает SQL *Plus и выполняется SQL скрипт %DB_NAME%.sql который управляет процессом создания БД

PROMPT specify a password for sys as parameter 1;

DEFINE sysPassword = &1

PROMPT specify a password for system as parameter 2;

DEFINE systemPassword = &2

PROMPT specify a password for sysman as parameter 3;

DEFINE sysmanPassword = &3

PROMPT specify a password for dbsnmp as parameter 4;

DEFINE dbsnmpPassword = &4

host D:\oracle\app\product\11.1.0\db_3\bin\orapwd.exe

file=D:\oracle\app\product\11.1.0\db_3\database\PWDocp11g.ora

password=&&sysPassword force=y

@D:\oracle\app\admin\ocp11g\scripts\CreateDB.sql

@D:\oracle\app\admin\ocp11g\scripts\CreateDBFiles.sql

@D:\oracle\app\admin\ocp11g\scripts\CreateDBCatalog.sql

@D:\oracle\app\admin\ocp11g\scripts\emRepository.sql

@D:\oracle\app\admin\ocp11g\scripts\postDBCreation.sql

Вначале задаются пароли для системных учётных записей (эти пароли указываются в процессе работы с DBCA). Потомы вызывается программа orapwd которая создаст файл паролей для БД. Имя файла будет %ORACLE_HOME%\database\PWD.ora для Windows или $ORACLE_HOME/dbs/orapw для Linux. После этого запускается скрипт CreateDB.sql который непосредственно создаёт БД.

Команда CREATE DATABASE

Пример скрипта CreateDB.sql

connect «SYS»/»&&sysPassword» as SYSDBA

spool D:\oracle\app\admin\ocp11g\scripts\CreateDB.log

startup nomount pfile=»D:\oracle\app\admin\ocp11g\scripts\init.ora»;

CREATE DATABASE «ocp11g»

MAXDATAFILES 100

DATAFILE ‘D:\oracle\app\oradata\ocp11g\system01.dbf’

SIZE 300M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED

EXTENT MANAGEMENT LOCAL

SYSAUX DATAFILE ‘D:\oracle\app\oradata\ocp11g\sysaux01.dbf’

SIZE 120M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED

SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE

‘D:\oracle\app\oradata\ocp11g\temp01.dbf’ SIZE 20M REUSE

AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED

SMALLFILE UNDO TABLESPACE «UNDOTBS1» DATAFILE

‘D:\oracle\app\oradata\ocp11g\undotbs01.dbf’ SIZE 200M REUSE

AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED

CHARACTER SET WE8MSWIN1252

NATIONAL CHARACTER SET AL16UTF16

LOGFILE GROUP 1 (‘D:\oracle\app\oradata\ocp11g\redo01.log’) SIZE 51200K,

GROUP 2 (‘D:\oracle\app\oradata\ocp11g\redo02.log’) SIZE 51200K,

GROUP 3 (‘D:\oracle\app\oradata\ocp11g\redo03.log’) SIZE 51200K

USER SYS IDENTIFIED BY «&&sysPassword»

USER SYSTEM IDENTIFIED BY «&&systemPassword»;

Скрипт подключается к экземпляру, используя авторизацию из файла паролей. Команды echo и spool выводя в лог всё что происходит.

Команда STARTUP NOMOUNT создаёт структуры экземпляр в памяти используя файл параметров. NO MOUNT означает что база данных не будет подключена и открыта. После того как эта команда выполнена – экземпляр существует в памяти и работают фоновые процессы. Размеры SGA установлены согласна файла параметров.

Команда CREATE DATABASE использует имя базы данных и множество параметров. Вначале устанавливаются определенные ограничения для всей БД. Они могут изменять позже, но лучше всего устанавливать допустимые значения сейчас, поскольку их изменение очень трудоёмкая операция. Далее указываются где создать файлы данных для табличных пространств SYSTEM, SYSAUX и UNDO. Также указываются где хранить файлы для временного табличного пространства (TEMPORARY tablespace). Так же указывается кодировка БД для словаря данных и столбцов типа VARCHAR2, CHAR и CLOB. Параметры для файлов логов и т.д. В конце идёт указание на использование паролей из файла паролей и отключение записи в лог.

Этот файл с командой CREATE DATABASE создаст базу данных. После успешного выполнения экзмепляр будет работать в памяти и БД будет создана, включая файлы контроля, файлы данных и файлы логов. Словарь данных будет сгенерирован в табличном пространстве SYSTEM. Однако несмотря на то что БД создана, она пока непригодна для использования. Оставшиеся скрипты, которые вызовет файл %DB_NAME%.sql исправят это. У команды CREATE DATABASE много параметров, однако все они имеют значение по умолчанию. Например если вы не укажете файлы данных для табличного пространства SYSTEM все равно создатся минимум один файл. Для табличных пространств UNDO и TEMPORARY нет значений по умолчанию – но БД может быть создана без них, а потом можно указать эти значения.

Скрипты после создания БД

Остальные скрипты вызываемые %DB_NAME%.sql зависят от выбора в процессе работы с DBCA. В нашем примере был выбран только Enterprise Manager Database Control и поэтому будут запущены только 4 скрипта.

CreateDBfiles.sql – создаёт небольшон табличное пространство USERS где будет хранится объекты созданные пользователями

CreateDBCatalog.sql – важный скрипт. Он запускает скрипты для построения представлений над словарём данных и генерации PL/SQL объектов которые делают возможным управление БД

emRepository.sql – этот скрипт создаёт объекты необходимые для работы Enterprise Manager Database Control

postDBCreation.sql – создание файла параметров сервера из файла параметров init.ora, включение пользователей DBSNMP и SYSMAN используемых для работы Enterprise Manager и запуск Enterprise Manager Configuration Assistant (emca) для настройки новой БД.

Е сли вы сисадмин Linux или разработчик, то приходит время, когда вам потребуется управление базой данных Oracle, которая может работать в вашей среде.

В этом случае важно, чтобы понять некоторые основные DBA деятельности Oracle. В этом уроке мы расскажем, как создать базу данных Oracle из командной строки.

При установке программного обеспечения Oracle, даст вам возможность создать новую базу данных из пользовательского интерфейса.

Если вы решили не создавать новую базу данных, а установить только программное обеспечение Oracle, то вы можете потом создать базу данных отдельно.

Для того, чтобы создать базу данных Oracle , у вас есть два варианта:

  1. Использование базы данных конфигурации помощник (DBCA) и создать новую базу данных с помощью графического интерфейса. Это довольно прямо.
  2. Использовать команду «Create Database», чтобы создать новую базу данных Oracle из командной строки. Этот метод полезен, когда вы не имеете доступ к консоли сервера для запуска DBCA. Или, если ваш сервер не имеет правильных настроек Xterm, используйте этот метод.

1. Настройка соответствующих переменных среды Oracle

Во-первых, вы должны установить соответствующую переменную среды на сервере правильно.

В этом примере предполагается, что оракул установлен в каталоге /u01/app/oracle/product . Измените это значение в соответствии с вашей средой.

Export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/11.2.0

Наиболее важным параметром является ORACLE_SID, которая будет иметь имя новой базы данных Oracle , который вы хотите создать. В этом примере имя новой базы данных установлено в положении «dev», как показано ниже.

Export ORACLE_SID=dev

2. Создание файла 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.

3. Создание Serve Parameter file (spfile)

SP файл означает файл параметров сервера. В отличие от файла sp, инициализация файла ведется в двоичном файле, и вы не можете отредактировать SPFILE вручную.

Файл sp создается из ini файла. Преимущество sp-файла является то, что вы можете изменить значение параметров инициализации после запуска базы данных с помощью команды ALTER SYSTEM.

Другими словами, при использовании команды «ALTER SYSTEM» для изменения любого значения параметра, он сохраняет их в файле sp.

Затем, при запуске базы данных Oracle, он сначала ищет файл sp для значения параметра. Если он не может найти файл sp, то он будет использовать текст на основе ini-файла.

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

Во-первых, используйте команду sqlplus и получить приглашение SYSDBA Oracle, откуда мы создадим новую базу данных.

$ sqlplus / as sysdba Connected to an idle instance. SQL>

Если вы заметили в выводе выше, он говорит: «Connected to an idle instance.». Это происходит потому, что наш текущий ORACLE_SID установлен dev, который представляет собой новую базу данных, которую мы еще не создали.

Таким образом, первый шаг заключается в создании нового файла sp, основанный на ini-файле. spfile означает ini файл. Следующая команда создаст новый spfile.

SQL> CREATE SPFILE FROM PFILE; File created.

Как вы видите ниже, команда автоматически создала spfiledev.ora.

$ ls -1 $ORACLE_HOME/dbs/ initdev.ora spfiledev.ora

4. Запустите Idle Instance

Перед тем, как создать базу данных, мы должны запустить экземпляр для базы данных «dev» с помощью команды STARTUP NOMOUNT. Как вы, возможно, уже догадались, эта команда не будет подключена к базе данных. Это просто начать новый пустой простой экземпляр ORACLE_SID с именем «dev».

SQL> STARTUP NOMOUNT; ORACLE instance started. Total System Global Area 1258291200 bytes Fixed Size 1261564 bytes Variable Size 520093700 bytes Database Buffers 721420288 bytes Redo Buffers 15515648 bytes

В команде выше, он будет читать spfile по умолчанию с именем spfile{ORACLE_SID}.ora от места расположения spfile по умолчанию $ORACLE_HOME/dbs. Если spfile не существует, он будет использовать по умолчанию инициализацию файла init{ORACLE_SID}.ora

По какой-то причине, если вы хотите указать местоположение spfile у себя, вы можете сделать это путем передачи параметра spfile, как показано ниже.

SQL> STARTUP NOMOUNT PFILE=/tmp/initdev.ora

Кроме того, вы можете получить следующее ORA-01078 и LRM-00109, если spfile, или файл инициализации отсутствует в расположении по умолчанию.

SQL> STARTUP NOMOUNT ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file "/u01/app/oracle/product/11.2.0/dbs/initdev.ora"

5. Создание новой базы данных Oracle

Используйте следующую команду CREATE DATABASE, чтобы создать пустую базу данных.

SQL> CREATE DATABASE dev USER SYS IDENTIFIED BY DevSysPass USER SYSTEM IDENTIFIED BY DevSystemPass LOGFILE GROUP 1 ("/home/oracle/u02/oradata/dev/redomed_01.log") SIZE 50M, GROUP 2 ("/home/oracle/u02/oradata/dev/redomed_02.log") SIZE 50M, MAXLOGFILES 5 MAXLOGHISTORY 10 MAXDATAFILES 50 CHARACTER SET US7ASCII NATIONAL CHARACTER SET AL16UTF16 DATAFILE "/home/oracle/u02/oradata/dev/system01.dbf" SIZE 100M REUSE SYSAUX DATAFILE "/home/oracle/u02/oradata/dev/sysaux01.dbf" SIZE 100M REUSE DEFAULT TABLESPACE USERS DATAFILE "/home/oracle/u02/oradata/dev/users01.dbf" SIZE 50M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE TEMPTS TEMPFILE "/home/oracle/u02/oradata/dev/tempts01.dbf" SIZE 30M REUSE UNDO TABLESPACE UNDOTS DATAFILE "/home/oracle/u02/oradata/dev/undots01.dbf" SIZE 100M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

В приведенной выше команде:

  • Команда Create database создаст базу данных Oracle с именем «dev»
  • Пароль, указанный во 2-й строке будет назначен пользователю SYS
  • Пароль, указанный в 3-й строке будет назначен пользователю SYSTEM
  • Мы создаем два повторных логов с размером 100МБ каждый.
  • MAXLOGFILES – Максимальное количество файлов журнальных установлен в 5
  • MAXDATAFILES – Это указывает на то, что максимальное количество файлов данных Oracle, которые могут быть созданы для этой базы данных.
  • DATAFILE – Указывает на файл данных, который будет использоваться в табличной СИСТЕМЕ
  • SYSAUX DATAFILE – Это свидетельствует о том, что файл данных будет использоваться в табличном пространстве SYSAUX
  • Табличное пространство по умолчанию для этой базы данных устанавливаются в USERS
  • Временное табличное пространство по умолчанию устанавливается в TEMPTS
  • Отмены табличного пространство устанавливается в UNDOTS

Примечание:

Если вы укажете DB_CREATE_FILE_DEST в файле инициализации на расположение каталога, то вам не нужно указывать точное местоположение и имена файлов для всех файлов данных, Oracle позаботиться об этом за вас.

Например, если вы указали это в файле initdev.ora.

# vi initdev.ora DB_CREATE_FILE_DEST="/home/oracle/u02/oradata/dev"

В этом случае, вы можете упростить вашу команду CREATE DATBASE, как показано ниже.

SQL> CREATE DATABASE dev USER SYS IDENTIFIED BY DevSysPass USER SYSTEM IDENTIFIED BY DevSystemPass MAXLOGFILES 5 MAXLOGHISTORY 10 MAXDATAFILES 50 CHARACTER SET US7ASCII NATIONAL CHARACTER SET AL16UTF16 DEFAULT TABLESPACE USERS DEFAULT TEMPORARY TABLESPACE TEMPTS UNDO TABLESPACE UNDOTS

Команды выше создадут соответствующие файлы данных, необходимые для всех табличных пространств (undo, temporary и т.д.) в соответствии с местом, указанным в каталоге DB_CREATE_FILE_DEST.

6. Постройте словарь данных Views

В качестве последнего шага, выполните catalog.sql и catproc.sql. каталог сценарий создаст все словарные таблицы, представления, связанные с производительностью, необходимые общественные синонимы. Он также предоставит соответствующий доступ ко всем синонимам, который был создан. Скрипт catproc выполняет все сценарии, которые необходимы для функциональности PL/SQL.

SQL> @?/rdbms/admin/catalog.sql; SQL> @?/rdbms/admin/catproc.sql

Частичный вывод из указанных выше команд.

SQL> @?/rdbms/admin/catalog.sql; DOC>###################################################################### DOC>###################################################################### DOC> The following statement will cause an "ORA-01722: invalid number" DOC> error and terminate the SQLPLUS session if the user is not SYS. DOC> Disconnect and reconnect with AS SYSDBA. DOC>###################################################################### DOC>###################################################################### DOC># no rows selected Package created. Package body created. .. .. Synonym created. Grant succeeded. PL/SQL procedure successfully completed. SQL> @?/rdbms/admin/catproc.sql .. .. Comment created. Synonym created. Grant succeeded. PL/SQL procedure successfully completed.

Если вам интересно, вы можете посмотреть на каталог и сценарий catproc, чтобы понять, что именно он делает.

Vi $ORACLE_HOME/rdbms/admin/catalog.sql; vi $ORACLE_HOME/rdbms/admin/catproc.sql

7. Проверка – Завершение работы и ввод в эксплуатацию

И, наконец, выполнить регулярные выключения и запуск, чтобы убедиться, что все работает, как ожидается, на этой новой базе данных.

$ sqlplus / as sysdba SQL> SHUTDOWN IMMEDIATE; Database closed. Database dismounted. ORACLE instance shut down. SQL> STARTUP; ORACLE instance started. Total System Global Area 1234563200 bytes Fixed Size 1262454 bytes Variable Size 522935700 bytes Database Buffers 720583588 bytes Redo Buffers 12946358 bytes Database mounted.

Это вторая часть урока по созданию базы данных. Занятие практическое, во время урока будет использоваться сервер Oracle , который был установлен на первом уроке. Итак, приступим:

Для создания базы данных используется утилита Database Configuration Assistant (dbca). Она, как и большинство утилит расположена в каталоге bin сервера Oracle. В консоли выполняем:

oracle@test: cd /u01/app/oracle/product/11.1.0/db_1/bin
oracle@test:./dbca

Произойдет запуск графического приложения, в котором и предстоит работать. Oracle позволяет создавать базу данных "руками", без использования различных утилит, но об этом поговорим позже.

Первый экран просто сообщает о запуске утилиты, ее предназначении. Сразу же переходим ко второму шагу, нажав далее.

На втором шаге предлагается выбрать совершаемое действие. Если на компьютере нет других баз данных, то часть опций будет недоступна. Например, такие как удаление базы или настройка. Сейчас нас интересует создание, поэтому выбираем опцию "Create Database" и переходим дальше.

Сейчас нам предлагается выбрать шаблон базы данных, который будет использован при создании. General - общий шаблон для большинства баз данных. Data Warehouse - хранилище данных, предназначено для хранения данных и незначительным количеством транзакций. Custom Database - полностью настраиваемая база данных под свои нужды, в зависимости от ситуации.
Выбираем General Purpose of Transactional Processing и переходим далее.

На этом шаге предлагается указать Global Database Name (Глобальное имя базы данных) и SID (Системный идентификатор). Как правило, глобальное имя это SID с именем домена. Системный идентификатор однозначно идентифицирует базу данных. Его длина не должна превышать 8 символов и не может начинаться с цифры. Для своей базы выбрал имя "testdb" и глобальное имя "testdb.all-oracle.ru". Переходим далее.

Указываем опции, которые следует включить в создаваемую базу данных. Указал "Configure Enterprise Manager", автоматически отмечена опция "Configure Database Control for local management". Если же у вас настроен Grid, то конфигурация будет иной. О технологии Grid будет рассказано позже.

Кроме того, если требуется, разрешаем оповещение по электронной почте и автоматическое резервное копирование Recovery Area. Эти опции оставил неотмеченными, потому что у тестовой машины нет доступа в интернет, для отправки сообщений и нет необходимости в резервном копировании. Если хотите, то можете включить эти опции в вашу базу данных. Для этого отмечаем и указываем необходимую информацию. Для оповещения по почте SMTP сервер и адрес на который отсылать. Для резервного копирования время проведения и учетные данные для авторизации на уровне операционной системы. Переходим далее.

На этом шаге предлагается указать пароли для встроенных учетных записей Oracle. Вы можете указать для каждой записи индивидуальные пароли или же выбрать опцию "Использовать единый пароль для всех учетных записей". Следует отметить, что до версии Oracle 11g все приводилось к верхнему регистру, и логины с паролем не были регистрозависимыми. Начиная с версии 11g по требованиям безопасности регистр стал различаться. Для совместимости с предыдущими версиями есть возможность настроить уровень безопасности.

Здесь выбираем хранилище. Предлагается File System (Файловая система), Automatic Storage Management - ASM (Автоматическое управление хранением) или Raw Devices (дословно сырые устройства). В нашем случае выбираем файловую систему и переходим далее. О других способах хранения будем говорить позднее.

Указываем размещение файлов базы данных. На выбор предлагаются варианты: из шаблона предлагаемого Oracle, общее расположение для всех файлов базы данных или использовать файлы управляемые Oracle.

Указываем месторасположение Flash Recovery Area, и ее размер. Ранее мы создавали каталог для FRA и теперь указываем путь к нему, размер оставляем без изменений.

Flash Recovery Area - новая опция, доступная с версии 10g и является основой возможности, называемой Automated Disk-Based recovery. FRA - часть дискового пространства, для хранения и управления файлами. Она полностью отдельна от других компонент базы данных, таких как файлы данных, журналы повторного выполнения и управляющие файлы. Flash Recovery Area используется утилитой Oracle Recovery Manager (RMAN), для того, что бы убедится, что база данных восстановима на основе тех файлов, которые сохранены во Flash Recovery Area. Более подробно Flash Recovery Area будет рассмотрена на занятиях по восстановлению БД.

На этом же экране, вы можете нажать кнопку File Location Variables..., чтобы просмотреть суммарный отчет, о расположении файлов Oracle, включая текущую настройку параметра ORACLE_BASE.

На этом шаге предлагается установить схемы с примерами, и выполнить какие либо свои скрипты, если они есть. Указываем устанавливать примеры и переходим далее. В последующих занятиях они понадобятся.

Сейчас предлагается указать настройки памяти, тип соединения с сервером, кодировку. Поскольку сейчас мы создаем просто учебную базу данных и не ставим себе задач тонкой настройки, то оставляем значения по умолчанию. На закладке Connection Mode выбираем "Dedicated server Mode" - режим выделенного сервера. Нажав по кнопке "All Initialization Parameters…" можно просмотреть параметры инициализации. Они будут выведены в виде таблицы:

Здесь мы можем менять параметры которые требуется. Если ничего не требуется, то закрываем окно и переходим далее.

Настройки безопасности. Предлагается выбрать настройки до версии 11g или новые, которые введены с версии 11g. Основное различие для пользователя - регистрозависимость. Указываем использовать новые настройки и переходим далее.

На этом этапе, предлагается активировать автоматические задачи по обслуживанию. Например, сбор статистики. Отключаем и переходим далее.

Указываем расположение файлов данных, журнальных файлов, управляющих файлов. Если все устраивает, то переходим далее.

На финальном шаге предлагается завершить создание базы данных. Кроме того, если вы можете сохранить созданную базу данных как шаблон. Это актуально, если вы создавали специфичную базу с кучей настроек под конкретный случай и в дальнейшем вам предстоит часто создавать базы данных по шаблону.

Нажимаем кнопку "Finish", и начнется процесс создания базы данных. На это уйдет некоторое время, в зависимости от настроек создаваемой базы данных и мощности компьютера от десяти минут до часа.

В случае успешного завершения создания базы данных, появится окно:

Здесь указаны основные параметры базы данных, ссылка для работы с Enterprise Manager. Кроме того, нажав кнопку "Password Management…" можно задать пароли для встроенных учетных записей, установить или снять блокировки пользователей.

После смены паролей, если производилась, нажимаем "Exit", на этом создание базы данных завершено.

На этом завершим занятие. На четвертом занятии научимся останавливать и запускать экземпляр базы данных, узнаем что такое прослушиватель, научимся подключаться к базе данных из sqlplus.

Создание базы данных Oracle вручную включает в себя несколько шагов. Некоторые из них зависят от операционной системы. Например, в среде Windows, прежде чем создавать базу данных, сначала необходимо выполнить oraсle-программу, используемую для создания службы базы данных. Шаги по созданию базы данных вручную:

  1. Напишите сценарий создания базы данных. Образец такого сценария приведен на шаге 6.
  2. Создайте структуру каталогов, в которых будет размещаться новая база данных. Следуйте инструкциям по созданию оптимальной гибкой архитектуры.
  3. Измените существующий образец файла init.ora , поддерживаемый Oracle, чтобы в нем отражались параметры для новой базы данных.
  4. Опишите SID-имя для Oracle. На платформе Windows на приглашение операционной системы необходимо ввести: set ORACLE_SID = mydb

    В UNIX вводим:

    Export ORACLE_SID = mydb

  1. Установите соединение с базой данных через SQL* Plus как SYSTEM / MANAGER as sysdba или как / as sysdba и введите следующую команду запуска базы данных в режиме nomount: startup nomount pfile= D:/oracleadmin/mydbscripts/initMYDB.ora; Подставьте свои параметры инициализации вместо приведенных здесь значений параметров pfile .
  2. После запуска базы данных используйте написанный вами сценарий создания базы данных Oracle. Вот образец: create database MYNEW maxinstances 1 maxloghistory 1 maxlogfiles 5 maxlogmembers 5 maxdatafiles 100 datafile d:/oracle/oradata/mydb/system01.dbf size 325M reuse autoextend on next 10240K maxsize unlimited character set WE8MSWIN1252 national character set AL16UTF16 Logfile group 1 (d:/oracle/oradata/mydb/edo01.log) size 100M, group 2 (d:/oracle/oradata/mydb/edo02.log) size 100M, group 3 (d:/oracle/oradata/mydb/edo03.log) size 100M default temporary tablespace TEMP tempfile d:/oracle/oradata/mydbemp01.dbf extent management local uniform size 1M undo tablespace UND0_TS datafile d:/oracle/oradata/mydb/emp0.dbf size 150M reuse autextend on next 10240K maxsize unlimited;
  • После создания базы данных выполните сценарии catalog.sql , catproc.sql , catexp.sql и все новые сценарии, необходимые для поддержки установленных вами продуктов. В системе UNIX сценарии размещаются в каталоге $ORACLE_HOME\rdbms\admin , а в среде Windows - в $ORACLE_HOME/rdbms/admin . Прежде чем выполнять сценарии, просмотрите их, так как многие сценарии каталога вызывают другие сценарии.
  • Для обеспечения повышенной безопасности введите, как минимум, какие-нибудь другие пароли для SYS и SYSTEM , а не оставляете пароли по умолчанию MANAGER и CHANGE_ON_INSTALL . В примере сценария, приведенного на шаге 6, создается табличное пространство UNDO . Параметрами инициализации для него являются: undo_management=AUTO undo_tablespce=UNDOTBS Единственный параметр, который вы не можете изменить после создания базы данных, это размер блока базы данных, который был описан вами в файле init.ora до ее создания. Для задания этого значения используется параметр DB_BLOCK_SIZE . Например, в следующей строке задается размер блока базы данных по умолчанию, который составляет 8 Кбайт. DB_BL0CK_SIZE=8k Для того чтобы увидеть параметры, действующие в вашей базе данных, запросите динамический просмотр V$PARAMETER: select Name, Value, IsDefault from V$PARAMETER;

© 2024 mygj.ru
Компьютерные советы и хитрости