Ручное создание базы данных в Oracle 11g

Процедура создания практически не отличается от предыдущих версий - 9i и 10g. В создаваемой базе данных будем использовать следующие опции:

  • OMF (Oracle Managed File) для файлов данных, файлов журналов повторного выполнения и управляющих файлов.
  • FRA (Flash Recovery Area) для архивных журналов или резервных копий
  • ASM (Automatic Storage Management) для менеджера томов 

1. Создаем требуемые директории

D:\>mkdir D:\oracle\ORA11G
Эта директория для TRACE FOLDER.

И для ASM и базы данных уже создана группа DGRP2.

2. Устанавливаем переменные окружения (ORACLE_HOME, ORACLE_SID, PATH)

D:\>set ORACLE_HOME=c:\oracle\product\11.1.0\db_1
D:\>set PATH=c:\oracle\product\11.1.0\db_1\bin
D:\>set ORACLE_SID=ora11g 

3. Выбирается метод аутентификации администратора базы данных

Можно использовать два метода:

  1. Аутентификация по паролю
    Для этого метода требуется создать файл паролей с помощью утилиты ORAPWD.
  2. Аутентификация на уровне операционной системы
    Для этого метода пользователь должен быть членом группы DBA. И в файле SQLNET.ORA должно быть прописано SQLNET.AUTHENTICATION_SERVICES= (NTS).
    Далее будем использовать метод аутентификации на уровне операционной системы.
  3. Создание файла параметров INIT.ORA

Установите минимально требуемый набор параметров в файле INIT.ORA. Для этого открываем блокнот или любой другой подобный редактор и создаем файл со следующим содержанием:

db_name = 'ORA11G'
#Database name. 

db_create_file_dest='+DGRP2'
#OMF configuration for Datafile,controlfile 

db_create_online_log_dest_1='+DGRP2'
#OMF configuration for redolog file 

db_recovery_file_dest='+DGRP2'
db_recovery_file_dest_size=10G
#FRA (FLASH RECOVERY AREA configuration) 

diagnostic_dest='D:\ORACLE\ORA11G'
#It is new feature with 11g for trace files (bdump,udump,cdump or many others
#folder created in "DIAG" folder inside "D:\oracle\ora11g" folder. 

Сохраняем его во временную директорию.

4. Создаем экземпляр

D:\>oradim -NEW -SID ora11g -STARTMODE auto
Instance created.

5. Соединяемся с экземпляром

D:\>sqlplus /nolog
SQL*Plus: Release 11.1.0.6.0 - Production on Thu May 1 18:04:30 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected to an idle instance. 

6. Создаем файл параметров сервера (SPFILE)

SQL> create SPFILE from PFILE='c:\temp\init.TXT';
File created. 

7. Запускаем экземпляр

SQL> startup nomount
ORACLE instance started.
Total System Global Area 150667264 bytes
Fixed Size 1331740 bytes
Variable Size 92278244 bytes
Database Buffers 50331648 bytes
Redo Buffers 6725632 bytes 

8. Создаем базу данных

SQL> create database ORA11G;
Database created. 

9. Создаем временное табличное и дополнительные табличные пространства

SQL> create temporary tablespace TEMP TEMPFILE '+DGRP2' size 5m;
Tablespace created.

SQL> create tablespace USERDATA DATAFILE '+DGRP2' size 5m;
Tablespace created.

SQL> alter database default temporary tablespace TEMP;
Database altered.

SQL> alter database default tablespace USERDATA;
Database altered. 

10. Запускаем скрипты для построения представлений

SQL> @%ORACLE_HOME%/rdbms/admin/catalog.sql
SQL> @%ORACLE_HOME%/rdbms/admin/catproc.sql
SQL> @%ORACLE_HOME%/sqlplus/admin/pupbld.sql 

11. Изменяем режим базы данных с NO-ARCHIVELOG на ARCHIVELOG.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 150667264 bytes
Fixed Size 1331740 bytes
Variable Size 92278244 bytes
Database Buffers 50331648 bytes
Redo Buffers 6725632 bytes
Database mounted.
SQL> alter database ARCHIVELOG;
Database altered.
SQL> alter database OPEN;
Database altered.
Требуется, только в том случае, если требуется запускать базу данных в режиме ARCHIVELOG MODE

12. Проверяем все файлы базы данных в ASM

SQL> SELECT NAME FROM V$DATAFILE 
  2 UNION ALL 
  3 SELECT NAME FROM V$CONTROLFILE 
  4 UNION ALL 
  5 SELECT MEMBER FROM V$LOGFILE;
NAME
--------------------------------------------------
+DGRP2/ora11g/datafile/system.281.653595347
+DGRP2/ora11g/datafile/sysaux.280.653595371
+DGRP2/ora11g/datafile/sys_undots.279.653595393
+DGRP2/ora11g/datafile/userdata.273.653595537
+DGRP2/ora11g/controlfile/current.285.653595303
+DGRP2/ora11g/onlinelog/group_1.283.653595305
+DGRP2/ora11g/onlinelog/group_2.282.653595325
7 rows selected. 
База данных готова, можно приступать к работе, и если требуется к более тонкой настройке под свои задачи :)
Читайте также:
  • Фрагментация таблиц в Oracle
    Следует понимать, что фрагментация таблиц отлична от файловой фрагментации. Когда выполняется серия операций DML над таблицей, таблица фрагментируется, потому что DML не освобождает свободное пространство до HWM.HWM - это индикатор использования блоков (USED BLOCKS) в базе данных. Блоки идущие до ли...
  • Управление табличными пространствами в Oracle Database
    Default Permanent Tablespace Переименование табличного пространстваТабличное пространство SYSAUX Составное табличное пространство TempDefault Permanent TablespaceOracle 9i ввел понятие временного табличного пространства по умолчанию (default temporary tablespace), что позволило предотвратить случайн...
  • Таблицы только для чтения в Oracle 11g Release 1
    ALTER TABLE table_name READ ONLY;ALTER TABLE table_name READ WRITE;Следующий скрипт создает таблицу, добавляет в нее несколько строк, затем устанавиливает таблицу в режим "только для чтения".CREATE TABLE ro_tab (  id NUMBER);INSERT INTO ro_tab VALUES (1);INSERT INTO ro_tab VALUES (2)...
  • Управление SQL-планами в Oracle Database 11g
    Невозможность гарантировать, что все изменения плана всегда будут в лучшую сторону, привела некоторых заказчиков к тому, чтобы закрепить свои планы выполнения (хранимые планы) или блокировать статистику оптимизатора. Однако, если поступать подобным образом, мы лишаем себя возможности когда-либо испо...
  • Производительность PL/SQL
    Native compilation – это не совсем новая возможность, однако теперь нет «узких» мест её использования, например, установка компилятора C (Oracle назвал эту замечательную возможность "Real Native Compilation"). Кроме того, новый тип данных simple_integer делает выполнен...