#topicpath
----
#contents
----
* 参考文献 [#s254859d]
- [[Oracle Database 管理者ガイド 11gリリース1(11.1):http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/server.111/E05760-03/toc.htm]]
-- [[2 Oracle Databaseの作成および構成:http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/server.111/E05760-03/create.htm#2840]]
* 作成するDBの計画 [#t9f385e1]
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/
* 準備 [#c4f1715d]
ORACLE_SID環境変数を設定します。
#pre{{
[oracle@ora1 ~]$ export ORACLE_SID=orcl
}}
* 初期化パラメータファイルの作成 [#w940eb8b]
$ORACLE_BASE/dbs/initorcl.ora を書きます。
#pre{{
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'
}}
* 必要なディレクトリの作成 [#m7db1ddb]
初期化パラメータファイルで設定したディレクトリを作成します。
#pre{{
[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
}}
* インスタンスの起動 [#j6f3370d]
NOMOUNTで起動します。
#pre{{
[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 文の作成と実行 [#se80b912]
CREATE DATABASE 文は長くなるのでファイルに書くのが楽です。
#pre{{
[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 から流します。
#pre{{
SQL> @createdb
データベースが作成されました。
SQL>
}}
* 必要なスクリプトの実行 [#j38da879]
引き続きスクリプトを実行していきます。
時間が掛かるので、これもあらかじめファイルに書いておくと便利です。
#pre{{
[oracle@ora1 ~]$ cat scripts.sql
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
conn system/oracle
@?/sqlplus/admin/pupbld.sql
exit
}}
これも sqlplus から流します。
#pre{{
SQL> @scripts
...
}}
* パスワードファイルの作成 [#sbe8b477]
必須ではありませんが、パスワードファイルを作成しておきます。
#pre{{
[oracle@ora1 ~]$ orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle
}}
リスナー経由で SYS ユーザで接続するときに使われます。
* 動作確認 [#a79665ed]
ちゃんとできているかどうかを確認します。
#pre{{
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
}}
----
#comment