*Oracle 9i for SPARC のインストール *Oracle 9i for SPARC のインストール [#bb6b2010] #contents **環境設定 **環境設定 [#a688c817] -/etc/system に以下のエントリを追加(Oracle用に共有メモリとセマフォを確保する)~ ※semmslはインスタンス数×150以上にする set semsys:seminfo_semmni=100 set semsys:seminfo_semmns=1024 set semsys:seminfo_semmsl=256 set shmsys:shminfo_shmmax=4294967295 set shmsys:shminfo_shmmin=1 set shmsys:shminfo_shmmni=100 set shmsys:shminfo_shmseg=10 -エントリを追加したらOS再起動 **oracleユーザーの作成 **oracleユーザーの作成 [#r664ab70] -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 **インストール ***インストーラ起動 **インストール [#h897c075] ***インストーラ起動 [#lc339afc] -oracleでログインする -環境変数DISPLAYを設定する -CDドライブに Oracle9i Database 1of3 を入れる -/cdrom以外に移動(/tmpとか) -/cdrom/disk1/runInstallerを起動 cd /tmp /cdrom/disk1/runInstaller ***インベントリの場所 ***インベントリの場所 [#n625a56c] -デフォルトの$ORACLE_HOME/oraInventoryで問題なし ***UNIX グループ名 ***UNIX グループ名 [#j752170d] -上で作ったoracleグループ名(dba)を指定 ***oraInst.sh の実行 ***oraInst.sh の実行 [#z2f92e36] -コンソールを開き、root権限で/tmp/orainstRoot.shを実行 su /tmp/orainstRoot.sh ***ファイルの場所 ***ファイルの場所 [#k1b6238d] -基本的にデフォルトでOKだが、Oracleホーム名は変えてもOK -とりあえず「ora920」とでもしておく ***使用可能な製品 ***使用可能な製品 [#w9413df5] -Serverをインストールする:Oracle 9i Database 〜 を選択 -Clientをインストールする:Oracle 9i Client 〜 を選択 ***インストールタイプ ***インストールタイプ [#b20a1259] -Server~ よくわからなければEnterprise Editionを選択しておく --Enterprise Edition~ とにかく全部インストールするならこれを選択 --Statndard Edition~ 高度な機能が不要ならこれを選択 --Custom~ 自分で選ぶならこれを選択 -Client~ よくわからなければAdministratorを選択しておく --Administrator~ クライアントソフトを全部インストールするならこれを選択 --Runtime~ 管理ツールが不要ならこれを選択 --Custome~ 自分で選ぶならこれを選択 ***Database Configuration ***Database Configuration [#d3c0c6c6] -Server~ セットアップ中にインスタンスの構築をするかどうか。インスタンスは後で作れるので、通常はSoftware Onlyで問題なし。というか作られても困ることが多い。 --General Propose --Transaction Processing --Data Warehouse --Customized --Software Only -Client~ Clientのインストールでは関係がない ***サマリー ***サマリー [#y50e91e9] -インストールされる内容が表示されるので、一応確認する -問題がなさそうなら、インストール開始 ***CD入れ替え ***CD入れ替え [#n4be1693] -CDの入れ替え指示が出たら、CDを入れ替える -CDの場所指定は以下のようにする --Disk2→/cdrom/disk2 --Disk3→/cdrom/disk2 ***構成スクリプト実行 ***構成スクリプト実行 [#y8b18ae4] -コンソールを開き、root権限で/opt/oracle/product/9.2.0/root.shを実行 su /opt/oracle/product/9.2.0/root.sh -local bin ディレクトリを指定(デフォルトでOK) /usr/local/bin **パッチ **パッチ [#o2a997ed] -パッチを入手(サポートから) -ファイルを展開 unzip hogehoge.zip cpio -i -d < hogehoge.cpio -disk1/runInstallerを実行 -インストーラをインストール -パッチをインストール -コンソールを開き、root権限で/opt/oracle/product/9.2.0/root.shを実行 **Lisner設定 ***listener追加 **Lisner設定 [#x9456017] ***listener追加 [#z98ea12f] -CDEでログイン -netcaを起動 $ORACLE_BASE/bin/netca -リスナー構成を選択 -とりあえず、あとはデフォルトのまま最後まで進める ***listener起動 ***listener起動 [#d5ea6ab0] -全リスナー起動 lsnrctl start -個別リスナー起動 lsnrctl start <lisner名> **インスタンス作成 **インスタンス作成 [#d78273bf] -oracleユーザでCDEにログインする -必要なら$ORACLE_BASEにoradataとadminへのシンボリックリンクを作る mkdir /export/home/oracle/oradata mkdir /export/home/oracle/admin cd $ORACLE_BASE ln -s /export/home/oracle/oradata ln -s /export/home/oracle/admin -Database Configuration Assistantを実行 $ORACLE_HOME/bin/dbca **oratabファイルの設定 **oratabファイルの設定 [#ha29a798] 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を使わないようにする(任意) [#lae2e8c4] +spfile(SID).ora ファイルの削除 --dbca でインスタンスを作成すると、$ORACLE_HOME/dbs 以下に spfile(SID).ora というOracleの永続パラメータ・ファイルが作成されるが、これを削除する。 mv $ORACLE_HOME/dbs/spfile(SID).ora $ORACLE_HOME/dbs/_spfile(SID).ora ※ rm で削除しても問題なし +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コマンドの修正 **dbshutコマンドの修正 [#h9fa306f] -$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も起動 **OS起動時にDBも起動 [#ccb24065] -/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 **Enterprise Manager [#abf6000e] $ORACLE_HOME/bin/oemapp $ORACLE_HOME/bin/oemapp dbastudio あたりで起動します。起動したらスキーマ作成とかしませう。 **sqltraceを使用可能にする **sqltraceを使用可能にする [#h0b8989f] -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 ~ ~ CENTER:&amazon(zaurus,key,UNIX Solaris Oracle オラクル SQL, books); CENTER:&amazon(zaurus,key,UNIX Solaris Oracle オラクル SQL データベース, books);