geek.conf.2

あるエンジニアの備忘録

ORACLE MASTER Platinum データベースの作成およびネットワーク構成 その1

さてテスト内容チェックリストに沿っていくのであーる。

[ ] データベースの作成
dbcaでやらずにCREATE DATABASEからやってみる。
環境はここの8.LISTENER構成 前から

0.環境準備
環境変数とか、oracleユーザとかやっておくこと。
ここでは割愛。

1.各種Oracleファイル格納ディレクトリの作成
$ mkdir -p $ORACLE_BASE/admin/orcl
$ mkdir -p $ORACLE_BASE/admin/orcl/adump
$ mkdir -p $ORACLE_BASE/admin/orcl/ddump
$ mkdir -p $ORACLE_BASE/admin/orcl/pfile
$ mkdir -p $ORACLE_BASE/admin/orcl/scripts
$ mkdir -p $ORACLE_BASE/flash_recovery_area/orcl
$ mkdir -p $ORACLE_BASE/oradata/orcl


2.初期化パラメータ・ファイルの作成
サンプルから作成する。
$ cp -p $ORACLE_HOME/dbs/init.ora /u01$ORACLE_BASE/admin/orcl/pfile/

以下にinit.oraを披露する。の部分は/u01/app/oracleに編集する。
これに沿って各種Oracleファイル格納ディレクトリも作ってる。
memory_targetのみ変更(1g⇨800M)じゃないとDB startup後、以下のエラーを喰らう。
ORA-00845: MEMORY_TARGET not supported on this system

$sqlplus / as sysdba
SQL>create spfile from pfile='/u01/app/oracle/admin/orcl/pfile/init.ora';


# Change '' to point to the oracle base (the one you specify at
# install time)

db_name='ORCL'
memory_target=800M
processes = 150
audit_file_dest='/u01/app/oracle/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='11.2.0'

3.CREATE DATABASE文のSQL作成
Oracleドキュメント記載例に従って作った。
$ vi $ORACLE_BASE/admin/orcl/scripts/createdb.sql


CREATE DATABASE orcl
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01a.log','/u01/app/oracle/oradata/orcl/redo01b.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02a.log','/u01/app/oracle/oradata/orcl/redo02b.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03a.log','/u01/app/oracle/oradata/orcl/redo03b.log') SIZE 100M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/orcl/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/u01/app/oracle/oradata/orcl/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

4.CREATE DB
$sqlplus / as sysdba
SQL>startup nomount
SQL>@$ORACLE_BASE/admin/orcl/scripts/createdb.sql

5.スクリプトの実行によるデータ・ディクショナリ・ビューの作成
データ・ディクショナリ・ビュー、シノニムおよびPL/SQLパッケージの作成およびSQL*Plusの適切な稼働に必要なスクリプトを実行します
SQL*Plusで、SYSDBA管理権限でOracle Databaseインスタンスに接続します。
@$ORACLE_HOME/rdbms/admin/catalog.sql
@$ORACLE_HOME/rdbms/admin/catproc.sql
SQL*Plusで、SYSTEMユーザーとしてOracle Databaseインスタンスに接続します。
@$ORACLE_HOME/sqlplus/admin/pupbld.sql
Oracleドキュメントのコピーでサーセン

[ ] データベース構成のためのパラメータ設定
1.パフォーマンスに影響を与えない必要な初期化パラメータの確認と変更
・DB_NAME
変更不可
・DB_DOMAIN
変更不可
・OPEN_CURSORS
SQL>alter system set open_cursors=500 scope=both;
・CONTROL_FILES
DBシャットダウン、controlファイルコピー。
SQL>alter system set control_files='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control1',
'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control2',
'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/ora_control3' scope=spfile;
※反映には再起動が必要
※ora_control3を追加してる。
・DB_FILES
SQL>alter system set db_files=100 scope=spfile;
SQL>shutdown immediate
SQL>startup
※反映には再起動が必要

[ ] 各種表領域の作成
これは、上のCREATE DB文で補完してるんじゃないかな。

とりあえず終わり