Oracle 11g как создать базу данных

Обновлено: 07.07.2024

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

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

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

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

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

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

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

Скрипты и файлы создаваемые DBCA

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

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

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

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

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

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

Вначале скрипт создаёт несколько папок внутри папки 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

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

Команда CREATE DATABASE

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

SIZE 300M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED

EXTENT MANAGEMENT LOCAL

SIZE 120M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED

SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE

AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED

AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED

CHARACTER SET WE8MSWIN1252

NATIONAL CHARACTER SET AL16UTF16

Скрипт подключается к экземпляру, используя авторизацию из файла паролей. Команды 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 скрипта.

Ручное создание базы является одним из показателей профессионализма DBA. Как правило используется мастер создания, предлагаемый Oracle.

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

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

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

Эта директория для 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. Для этого открываем блокнот или любой другой подобный редактор и создаем файл со следующим содержанием:

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

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. Создаем временное табличное и дополнительные табличные пространства

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

База данных готова, можно приступать к работе, и если требуется к более тонкой настройке под свои задачи :)

Это вторая часть урока по созданию базы данных. Занятие практическое, во время урока будет использоваться сервер 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 будет рассказано позже.


На этом шаге предлагается указать пароли для встроенных учетных записей 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.

Favorite

Добавить в избранное

Главное меню » Базы данных » 7 шагов по созданию новой базы данных Oracle из командной строки

7 шагов для создания новой базы данных Oracle из командной строки

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

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

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

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

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

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

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

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

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

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

2. Создание файла ini-initdev.ora

Затем создайте файл ora.ini для новой базы данных. Это файл инициализации для новой базы данных.

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

Если вы не видите шаблон по умолчанию init.ora в вашем $ORACLE_HOME/DBS, используйте следующий образец.

Несколько пунктов необходимо рассмотреть в указанном файле:

  • В указанном файле, убедитесь, что вы установите 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, откуда мы создадим новую базу данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: