#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

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS