Front page   Edit Freeze Diff Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes

技術文書/Oracle/11g/DBの作成

Last-modified: Sat, 29 Jan 2011 15:27:48 JST (3452d)
Top > 技術文書 > Oracle > 11g > DBの作成


参考文献 EditEdit(GUI)

作成するDBの計画 EditEdit(GUI)

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/

準備 EditEdit(GUI)

ORACLE_SID環境変数を設定します。

[oracle@ora1 ~]$ export ORACLE_SID=orcl

初期化パラメータファイルの作成 EditEdit(GUI)

$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'

必要なディレクトリの作成 EditEdit(GUI)

初期化パラメータファイルで設定したディレクトリを作成します。

[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

インスタンスの起動 EditEdit(GUI)

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 文の作成と実行 EditEdit(GUI)

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>

必要なスクリプトの実行 EditEdit(GUI)

引き続きスクリプトを実行していきます。 時間が掛かるので、これもあらかじめファイルに書いておくと便利です。

[oracle@ora1 ~]$ cat scripts.sql
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
conn system/oracle
@?/sqlplus/admin/pupbld.sql
exit

これも sqlplus から流します。

SQL> @scripts
...

動作確認 EditEdit(GUI)

ちゃんとできているかどうかを確認します。

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



URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White