環境設定 †
oracleユーザーの作成 †
- oracleユーザーとoracleグループ(dba)を作成する
groupadd dba
useradd -g dba -d /opt/oracle -s /bin/csh -m oracle
passwd oracle
- oracleユーザーの環境変数を設定する(.cshrc)
setenv ORACLE_BASE /opt/oracle
setenv ORACLE_HOME $ORACLE_BASE/product/9.2.0
setenv ORA_NLS33 $ORACLE_HOME/ocommon/nls/admin/data
setenv CLASSPATH $ORACLE_HOME/jre/1.1.8:$ORACLE_HOME/jlib:$ORACLE_HOME/jlib/product/jlib
set path = ($ORACLE_HOME/bin $path)
setenv LD_LIBRARY_PATH $ORACLE_HOME/lib:$LD_LIBRARY_PATH
インストール †
インストーラ起動 †
インベントリの場所 †
- デフォルトの$ORACLE_HOME/oraInventoryで問題なし
UNIX グループ名 †
oraInst.sh の実行 †
- コンソールを開き、root権限で/tmp/orainstRoot.shを実行
su
/tmp/orainstRoot.sh
ファイルの場所 †
- 基本的にデフォルトでOKだが、Oracleホーム名は変えてもOK
- とりあえず「ora920」とでもしておく
使用可能な製品 †
- Serverをインストールする:Oracle 9i Database 〜 を選択
- Clientをインストールする:Oracle 9i Client 〜 を選択
インストールタイプ †
- Server
よくわからなければEnterprise Editionを選択しておく
- Enterprise Edition
とにかく全部インストールするならこれを選択
- Statndard Edition
高度な機能が不要ならこれを選択
- Custom
自分で選ぶならこれを選択
- Client
よくわからなければAdministratorを選択しておく
- Administrator
クライアントソフトを全部インストールするならこれを選択
- Runtime
管理ツールが不要ならこれを選択
- Custome
自分で選ぶならこれを選択
Database Configuration †
- Server
セットアップ中にインスタンスの構築をするかどうか。インスタンスは後で作れるので、通常はSoftware Onlyで問題なし。というか作られても困ることが多い。
- General Propose
- Transaction Processing
- Data Warehouse
- Customized
- Software Only
- Client
Clientのインストールでは関係がない
サマリー †
- インストールされる内容が表示されるので、一応確認する
- 問題がなさそうなら、インストール開始
CD入れ替え †
- CDの入れ替え指示が出たら、CDを入れ替える
- CDの場所指定は以下のようにする
- Disk2→/cdrom/disk2
- Disk3→/cdrom/disk2
構成スクリプト実行 †
パッチ †
Lisner設定 †
listener追加 †
- CDEでログイン
- netcaを起動
$ORACLE_BASE/bin/netca
- リスナー構成を選択
- とりあえず、あとはデフォルトのまま最後まで進める
listener起動 †
- 全リスナー起動
lsnrctl start
- 個別リスナー起動
lsnrctl start <lisner名>
インスタンス作成 †
oratabファイルの設定 †
dbca でインスタンスを作成すると oratabファイル(デフォルトで /var/opt/oracle) にインスタンス名が追加される。
<インスタンス名>:$ORACLE_HOME:N
例)
TEST:/opt/app/oracle/product/9.2.0:N
dbstart、dbshutコマンドで起動・停止を行うには、最後のNをYに変更する
<インスタンス名>:$ORACLE_HOME:N
↓
<インスタンス名>:$ORACLE_HOME:Y
spfileを使わないようにする(任意) †
- spfile(SID).ora ファイルの削除
- init(SID).ora ファイルの作成
- $ORACLE_BASE/admin/(SID)/pfile/init.ora.(日付情報?) にinit(SID).oraのひな形ある。このファイルを元にinit(SID).oraを作成し、シンボリックリンクを作る。
cp $ORACLE_BASE/admin/(SID)/pfile/init.ora.xxxx $ORACLE_BASE/admin/(SID)/pfile/init(SID).ora
ln -s $ORACLE_BASE/admin/(SID)/pfile/init(SID).ora $ORACLE_HOME/dbs/init(SID).ora
※インスタンスの初期化パラメータを変更したい場合は
$ORACLE_BASE/admin/(SID)/pfile/init(SID).ora
を修正する。
dbshutコマンドの修正 †
- $ORACLE_HOME/bin/dbshutコマンドでデータベースを停止するときに、shutdownコマンドにimmediateオプションをつけてクライアントを強制的にrollbackして切断してしまうようにする。
- 変更前
case $VERSION in
"6") sqldba command=shutdown ;;
"internal") $SQLDBA <<EOF
connect internal
shutdown
EOF
;;
*) $SQLDBA <<EOF
connect / as sysdba
shutdown
EOF
;;
esac
- 変更後
case $VERSION in
"6") sqldba command=shutdown ;;
"internal") $SQLDBA <<EOF
connect internal
shutdown immediate ←コレ
EOF
;;
*) $SQLDBA <<EOF
connect / as sysdba
shutdown immediate ←コレ
EOF
;;
esac
OS起動時にDBも起動 †
- /etc/init.dへ、dboraという名前で以下のスクリプトを作成
#!/bin/sh
ORA_HOME=/opt/app/oracle/product/9.2.0
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]; then
echo "Oracle startup: cannot start"
fi
case "$1" in
'start')
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart "
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
;;
'stop')
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut "
;;
esac
- /etc/rc?.dにシンボリックリンクを作る
cd /etc/rc2.d
ln -s ../init.d/dbora S98dbora
cd /etc/rc0.d
ln -s ../init.d/dbora K11dbora
cd /etc/rc1.d
ln -s ../init.d/dbora K11dbora
- oracleユーザのホームディレクトリにある.loginを削除する
su oracle
cd ~
mv .login dot.login
Enterprise Manager †
$ORACLE_HOME/bin/oemapp
$ORACLE_HOME/bin/oemapp dbastudio
あたりで起動します。起動したらスキーマ作成とかしませう。
sqltraceを使用可能にする †
- sysユーザーでsysdbaとしてOracleへログイン
sqlplus "sys/sys@test as sysdba"
- $ORACLE_HOME/rdbms/admin/utlxplan.sqlを実行
@utlxplan.sql
- PLAN_TABLEという名前のパブリックシノニムを作成する
GRANT SELECT ON SYS.PLAN_TABLE TO PUBLIC;
GRANT INSERT ON SYS.PLAN_TABLE TO PUBLIC;
GRANT UPDATE ON SYS.PLAN_TABLE TO PUBLIC;
GRANT DELETE ON SYS.PLAN_TABLE TO PUBLIC;
CREATE PUBLIC SYNONYM PLAN_TABLE FOR SYS.PLAN_TABLE;
- $ORACLE_HOME/sqlplus/admin/plustrce.sqlを実行する
@plustrce.sql
- ユーザーに権限を与える
grand plustrace to user