- 追加された行はこの色です。
- 削除された行はこの色です。
*Oracle 9i for SPARC のインストール
*Oracle 9i for SPARC のインストール [#bb6b2010]
#contents
**環境設定
-/etc/system に以下のエントリを追加(Oracle用に共有メモリとセマフォを確保する)
**環境設定 [#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ファイルの設定 [#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を使わないようにする(任意) [#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コマンドの修正 [#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も起動 [#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 [#abf6000e]
$ORACLE_HOME/bin/oemapp
$ORACLE_HOME/bin/oemapp dbastudio
あたりで起動します。起動したらスキーマ作成とかしませう。
**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);