【ORACLE】データベースを作成・削除するSQL
ここではORACLEデータベースで、データベースを作成・削除するSQLを紹介しています。
データベースのバージョンやグローバル名の変更は↓で紹介していますので参考にしてください。
>>ORACLEバージョンを確認するSQL
>>【ORACLE】グローバルデータベース名を確認・変更するSQL
データベースの作成方法
データベースを作成する方法は2つあります。
1つ目はDBCA(DatabaseConfigrationAssistant)というGUIを使って手順に沿って作成する方法です。
2つ目はCREATE DATABASE文というSQLでデータベースを作成する方法です。
DBCAでデータベースを作成し、スクリプトを保存しておき、データベースを増やすときには保存しておいたスクリプトを利用すると簡単に複製できます。
データベースを作成するSQL
データベースの作成はCREATE DATABASE文を使います。
CREATE DATABASE文の基本構文
CREATE DATABASE データベース名
DATAFILE SYSTEM表領域のパス SIZE サイズ
[AUTOEXTEND {OFF | ON [NEXT サイズ]}] [MAXSIZE {UNLIMITED | SIZE [NEXT サイズ]}]
SYSAUX DATAFILE SYSAUX表領域のパス SIZE サイズ
[AUTOEXTEND {OFF | ON [NEXT サイズ]}] [MAXSIZE {UNLIMITED | SIZE [NEXT サイズ]}]
DEFAULT TABLESPACE 表領域名
TEMPFILE 表領域のパス SIZE サイズ
[AUTOEXTEND {OFF | ON [NEXT サイズ]}] [MAXSIZE {UNLIMITED | SIZE [NEXT サイズ]}]
DEFAULT TEMPORARY TABLESPACE 一時表領域名
TEMPFILE 一時表領域のパス SIZE サイズ
[AUTOEXTEND {OFF | ON [NEXT サイズ]}] [MAXSIZE {UNLIMITED | SIZE [NEXT サイズ]}]
UNDO TABLESPACE UNDO表領域名
DATAFILE UNDO表領域のパス SIZE サイズ
[AUTOEXTEND {OFF | ON [NEXT サイズ]}] [MAXSIZE {UNLIMITED | SIZE [NEXT サイズ]}]
[CHARACTER SET キャラクタセット]
[LOGGING | NOLOGGING]
[ARCHIVELOG | NOARCHIVELOG]
LOGFILE GROUP 1(メンバー1のパス,メンバー2のパス・・・) SIZE サイズ,
GROUP 2(メンバー1のパス,メンバー2のパス・・・) SIZE サイズ,
GROUP 3(メンバー1のパス,メンバー2のパス・・・) SIZE サイズ
;
パラメータ | 内容 |
DATAFILE | システム(SYSTEM)表領域のファイルパス・サイズを指定 |
SYSAUX DATAFILE | SYSAUX表領域のファイルパス・サイズを指定 |
DEFAULT TABLESPACE | デフォルトの表領域のファイルパス・サイズを指定 |
DEFAULT TEMPORARY TABLESPACE | デフォルトの一時表領域のファイルパス・サイズを指定 |
UNDO TABLESPACE | UNDO表領域のファイルパス・サイズを指定 |
CHARACTER SET | データベースの文字コードを指定 |
LOGGING | NOLOGGING | REDOログの処理方法を指定 LOGGING:REDOログへ記録する NOLOGGING:REDOログへ記録しない |
ARCHIVELOG | NOARCHIVELOG | REDOログのアーカイブモードを指定 ARCHIVELOG:自動でログをアーカイブする NOARCHIVELOG:自動でログをアーカイブしない |
LOGFILE GROUP | REDOログファイルのグループ、パス、サイズを指定 |
CREATE DATABASEのSQLサンプル
conn / as sysdba
startup nomount pfile=/tmp/initdb01.ora
CREATE DATABASE db01
DATAFILE '/oradata/db01/system01.dbf' SIZE 500M
AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SYSAUX DATAFILE '/oradata/db01/sysaux01.dbf' SIZE 500M
AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
DEFAULT TABLESPACE dftbs01
DATAFILE '/oradata/db01/df01.dbf' SIZE 500M
AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tmpts01
TEMPFILE '/oradata/db01/tmp01.dbf' SIZE 500M
AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
UNDO TABLESPACE undots01
DATAFILE '/oradata/db01/undots011.dbf' SIZE 500M
AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
CHARACTER SET AL32UTF8
LOGGING
ARCHIVELOG
LOGFILE GROUP 1('/oradata/db01/redo11.log','/oradata/db01/redo12.log') SIZE 100M,
GROUP 2('/oradata/db01/redo21.log','/oradata/db01/red22.log') SIZE 100M,
GROUP 3('/oradata/db01/redo31.log','/oradata/db01/redo32.log') SIZE 100M
;
データベースを削除するSQL
startup restrict mount
DROP DATABASE;
まとめ
データベースの作成はDBCAを使った方法とCREATE DATABASE文を発行して作成する方法があります。
データベースの削除もDBCAを使う方法とDROP DATBASE文を発行する方法があります。