#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