技術文書/Oracle/11g/DBの作成
Last-modified: Sat, 29 Jan 2011 15:27:48 JST (4389d)
参考文献 

作成するDBの計画 

DBCAに頼らず、CREATE DATABASE文を使ってDBを作成してみます。
- 主なパラメータ
- ORACLE_SID : orcl
- db_block_size : 8192
- 文字コード : JA16EUC, UTF8
- ディレクトリの位置
- ORACLE_HOME : /u01/app/oracle/product/11.1.0/db_1
- データファイル : /u02/oradata/orcl/...
- dumpファイル : /u02/oradata/admin/orcl/...
- flash_recovery_area : /u02/oradata/flash_recovery_area/
準備 

ORACLE_SID環境変数を設定します。
[oracle@ora1 ~]$ export ORACLE_SID=orcl
初期化パラメータファイルの作成 

$ORACLE_BASE/dbs/initorcl.ora を書きます。
db_name='orcl' processes=150 audit_file_dest='/u02/oradata/admin/orcl/adump' audit_trail ='db' db_block_size=8192 db_domain='' db_recovery_file_dest='/u02/oradata/flash_recovery_area' db_recovery_file_dest_size=2G diagnostic_dest='/u02/oradata/' dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)' open_cursors=300 remote_login_passwordfile='EXCLUSIVE' undo_tablespace='undotbs' control_files = (/u02/oradata/orcl/control01.ctl, /u02/oradata/orcl/control02.ctl) compatible ='11.1.0'
必要なディレクトリの作成 

初期化パラメータファイルで設定したディレクトリを作成します。
[oracle@ora1 ~]$ mkdir -p /u02/oradata/admin/orcl/adump [oracle@ora1 ~]$ mkdir -p /u02/oradata/flash_recovery_area [oracle@ora1 ~]$ mkdir -p /u02/oradata/orcl
インスタンスの起動 

NOMOUNTで起動します。
[oracle@ora1 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.1.0.6.0 - Production on 木 8月 14 16:08:01 2008 Copyright (c) 1982, 2007, Oracle. All rights reserved. アイドル・インスタンスに接続しました。 SQL> startup nomount ORACLEインスタンスが起動しました。 Total System Global Area 217157632 bytes Fixed Size 2142976 bytes Variable Size 159386880 bytes Database Buffers 50331648 bytes Redo Buffers 5296128 bytes SQL>
正しく起動しない場合は、エラーの内容を見直してください。
CREATE DATABASE 文の作成と実行 

CREATE DATABASE 文は長くなるのでファイルに書くのが楽です。
[oracle@ora1 ~]$ cat createdb.sql CREATE DATABASE orcl USER SYS IDENTIFIED BY oracle USER SYSTEM IDENTIFIED BY oracle LOGFILE GROUP 1 ('/u02/oradata/orcl/redo01.log') SIZE 100M, GROUP 2 ('/u02/oradata/orcl/redo02.log') SIZE 100M, GROUP 3 ('/u02/oradata/orcl/redo03.log') SIZE 100M MAXLOGFILES 10 MAXLOGMEMBERS 5 MAXLOGHISTORY 1 MAXDATAFILES 100 CHARACTER SET JA16EUC NATIONAL CHARACTER SET UTF8 DATAFILE '/u02/oradata/orcl/system01.dbf' SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED SYSAUX DATAFILE '/u02/oradata/orcl/sysaux01.dbf' SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED DEFAULT TABLESPACE users DATAFILE '/u02/oradata/orcl/users01.dbf' SIZE 100M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE temp TEMPFILE '/u02/oradata/orcl/temp01.dbf' SIZE 100M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED UNDO TABLESPACE undotbs DATAFILE '/u02/oradata/orcl/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
このように用意しておいて、sqlplus から流します。
SQL> @createdb データベースが作成されました。 SQL>
必要なスクリプトの実行 

引き続きスクリプトを実行していきます。 時間が掛かるので、これもあらかじめファイルに書いておくと便利です。
[oracle@ora1 ~]$ cat scripts.sql @?/rdbms/admin/catalog.sql @?/rdbms/admin/catproc.sql conn system/oracle @?/sqlplus/admin/pupbld.sql exit
これも sqlplus から流します。
SQL> @scripts ...
動作確認 

ちゃんとできているかどうかを確認します。
SQL> show sga Total System Global Area 217157632 bytes Fixed Size 2142976 bytes Variable Size 159386880 bytes Database Buffers 50331648 bytes Redo Buffers 5296128 bytes SQL> col tablespace_name format a20 SQL> col sum(bytes) format 999999999999 SQL> select tablespace_name, sum(bytes) from dba_data_files 2 group by tablespace_name; TABLESPACE_NAME SUM(BYTES) -------------------- ------------- SYSAUX 524288000 UNDOTBS 209715200 USERS 104857600 SYSTEM 524288000 SQL> select tablespace_name, bytes from dba_temp_files; TABLESPACE_NAME BYTES -------------------- ---------- TEMP 104857600 SQL> col group# format 99 SQL> col type format a10 SQL> col member format a40 SQL> select group#,type,member from v$logfile; GROUP# TYPE MEMBER ------ ---------- ---------------------------------------- 1 ONLINE /u02/oradata/orcl/redo01.log 2 ONLINE /u02/oradata/orcl/redo02.log 3 ONLINE /u02/oradata/orcl/redo03.log SQL> col parameter format a30 SQL> col value format a30 SQL> select * from nls_database_parameters 2 where parameter like '%CHARACTERSET'; PARAMETER VALUE ------------------------------ ------------------------------ NLS_CHARACTERSET JA16EUC NLS_NCHAR_CHARACTERSET UTF8