- Solarisサーバーと物理的にネットワークで繋がっていること。
- telnet、ftpが動くこと。
- Webページをブラウザで表示できること。
- Oracle Database 10g Release 2のダウンロード
- クライアントソフトのダウンロード
- telnetでSolarisサーバーに接続する
- rootでftp接続を可能にする
- ホスト名を設定する
- ログホストを定義する
- install X11 ISO8859-15 Codeset
- ユーザーグループを作成する
- Oracle インベントリ・グループ(oinstall)
- OSDBA グループ(dba)
- oracleユーザーを作成する
- ホームディレクトリをSolaris標準の位置に作成して、割り当てる。
- プライマリグループを「oinstall」に割り当てる。
- セカンダリグループは「dba」に割り当てる。
- パスワードを設定する。
- ベース・ディレクトリを作成する
- oracleユーザーのプロファイルを編集する
- 前述のとおり
- Oracle製品とそのリリース毎に作成する。
- /product/10.2.0とはその配下にOracle 10.2.0がインストールされていることを示す。
- Oracleは同一データベース上に複数のインスタンスを作成することができる。
- インスタンスを識別子するための8文字以内の一意名。ここでは従来から使われている「orcl」を使用した。
- NLS_LANGの構文と構成要素の意味は下記のとおりになる。
- language
- territory
- charset
- Oracleはクライアントにデータを出力する時に、NLS_LANGで指定したキャラクタセットと、データベース内部で保持するデータのキャラクタセットが異なる場合は、NLS_LANGで指定したキャラクタセットにコード変換する。
- すでにSolarisのキャラクタセットは「EUC」を指定した。NLS_LANGの値は「JA16EUC」、すなわちこれも「EUC」を指定してtelnetで表示する漢字コードを一致させておく。
- NLS_LANGで指定した言語データをロードするディレクトリを指定する。
- $ORACLE_HOME/binにパスを通しておく、その他後々で一般的に必要になるbinにも通しておく。
- ユーザーマスクを設定していない状態でファイル、ディレクトリを新規作成するとパーミッションは次のとおりになる。
- ユーザーマスクとは権限を否定(マスク)するものであり、上記に対してユーザーマスク「022」を掛けると、oracleユーザーグループ、他のユーザーの書込権限は否定される。すなわち下記のようになる。
- カーネルパラメータの設定
- リブート
前回までの作業でSolarisサーバーは構築され、クライアントからtelnetで接続されるのを待っている状態である。今回は作業の場所をクライアントに移し、Oracleをインストールする前の準備すべきこと、そして各種設定について記述する。
なお、作業をクライアントとしたが、Solarisサーバーのマスターコンソール上でも出来るため、必ずしもそうとは限らないので適宜選択されたい。本稿ではクライアントとして進める、これ以降はモニターが一台、かつ接続ポートが1つの場合はそれをクライアント側につなぎ変える。
クライアントの要件は下記のとおりであり、ネットワークに繋がっている、ごく普通のWindows PCであれば必要要件を満たしている。
米国Oracle社のサイト(http://www.oracle.com)に接続して、Oracle データベースのダウンロードのページに進む。
現在のURLは下記のとおりである。
http://www.oracle.com/t/software/products/database/oracle10g/htdocs/10202solx86soft.html
あるいはURLは頻繁に変わるためリンク切れの場合は、下記の文言によって検索をかける。
Oracle Database 10g Release 2 (10.2.0.2) for Solaris Operating System (x86)
OTN(Oracle Technology Network)にユーザー登録をしていない場合は、ダウンロードを始める前に登録して(登録は無料)、次のアーカイブをダウンロードする。
10202_database_solx86.zip (681,090,961 bytes) (cksum - 1350902623)
Screen 66
チェックサムはSolarisサーバーにアーカイブをコピーして次のコマンドで算出して、左の数値を照合する。
クライアント側からtelnetプロトコルによってSolarisサーバー上でコマンドを実行したり、FTPプロトコルでファイルを転送するソフトをダウンロードして、インストールする。これらはコマンドプロンプト(通称DOS窓)からtelentとタイプすればWindowsに元々バンドルされているプログラムを使用できるが、EUCの表示ができず、使い勝手が悪いので本稿ではTera Term、FFFTPを使用する、なお両ソフトについては、ビジュアルなインターフェースを持つ定番ソフトであるため説明は割愛する。
ただし、一点だけよく陥りやすい間違いを付け加えると、テキストファイルの改行コードはWindows(改行コード CR+LF)であり、UNIX (改行コード LF)である。Windowsで修正したテキストをバイナリモードで転送してしまうとUNIXでは改行と見なさない「CR」が行末に紛れ込み、スクリプトが実行できない、定義ファイルが読み込めないなどの問題が発生する。テキストはアスキーモードで「CR」を取り除いて転送する。
前回で控えておいたIPアドレスで接続して、rootでログインする。パスワードもまた前回で指定したものである。以下の作業はすべてrootユーザーで行う。
Screen 67
ftpuserは、FTP サーバーへのログインするユーザーのネガティブなリストである。つまりここにあるユーザーのログインを拒絶される。リスト上のrootをコメントアウトして、rootユーザーでのログインを許可する。
次のタイプをしてftpusersファイルのオリジナルのコピーを取り、viでrootの行頭に#を挿入して保存する。
rootの行頭に#を挿入して保存する。
ここまでの処理では、ホスト名を設定していない。ブート後のsendmailデーモンのスタート時に下記のワーニングが発生しているはずである。
ホスト名を/etc/nodenameファイルにFQDN形式で設定して解決する。FQDN(Fully Qualified Domain Name)形式とは、ホスト名+ドメイン名で設定したものだ。ホスト名は、先頭は英字で始まる英数字、特殊記号はハイフン(-)が使用可能、すなわちRFC 952に準拠させて、ドメイン内でユニークな名前を指定する。
設定したホスト名をOracleは、リスナー・パラメータファイル(listener.ora)、ローカル・ネーミング・パラメータファイル(tnsnames.ora)などのネットワーク構成ファイルで使う。後で変更するのは容易でないので、ネーミングは短くてすぐに分かるものを練り上げたほうが良い。
ここでは、prtdiagコマンドを使って、'System Configuration:'の行から機種を取り出し、viで/etc/nodenameを新規作成して保存した。
次の行を追加する
ログ制御システム(syslog)は/var/log配下にログを吐き出す機能のみならず、ログを別のログサーバーに転送する機能を併せ持つが、ログサーバーが定義されていないため、下記のワーニングが発生しているはずである。
ワーニングを回避するため、/etc/hosts上でログホスト(loghost)にループバックアドレス(127.0.0.1)を割り付けて、自分自身をログサーバーとして定義する。なお、/etc/hostsはシンボリックリンクであり、実体はリンク先の/etc/inet/hostsある。
次のタイプをして/etc/inet/hostファイルのオリジナルのコピーを取り、viで一行( 127.0.0.1 loghost)を追加して、「:wq!」で強制保存する。
次の行を追加する
下記パッケージがOracleのソフトウェア要件に挙げられているので、ないものはインストールする。
「SUNWarc」、「SUNWbtool」、「SUNWhea」、「SUNWlibm」、「SUNWlibms」、「SUNWsprot」、「SUNWtoo」、「SUNWi1of」、「SUNWi1cs」、「SUNWi15cs」、「SUNWxwfnt」
次のコマンドをタイプして、要件であるパッケージがインストールされているのか調べる。
「SUNWi1cs」、「SUNWi15cs」がインストールされていないはずなので、SolarisインストールDVDをドライブに挿入して、下記のようにインストールする。
ユーザーを作成する前に、次のユーザーグループを作成しておく。
Oracle インベントリとは、oraInventoryディレクトリにあり、システムにインストールされているOracle製品のカタログのことである。それを所有するグループ。
このグループに含まれるユーザーはオペレーティング・システム、すなわちSolarisにおいてユーザーIDとパスワードで認証が確立すると。データベースの管理権限(SYSDBA およびSYSOPER 権限)が付与される。
たとえば、このグループに属したユーザーからsqlplusを起動するときに「sqlplus / as sysdba(sysoper)」と指定すると、OracleのユーザーIDとパスワードは無くても接続が可能になる。
次のコマンドをタイプして、ユーザーグループを作成する。
Oracleをインストールして、その後運用する権限を持つユーザーを作成する。
次のとおり、oracleユーザーを作成する。(OS上のユーザー名は「oracle」とした)
Oracle ベース・ディレクトリ、すなわちOracle製品をインストールするトップレベル・ディレクトリをOptimal Flexible Architecture(OFA)ガイドラインに基づき作成して、オーナーをoracleユーザーに変え、書き込み、実行権限をユーザーとグループに与える。
次のとおり、oracle ユーザーの環境変数を編集してプロファイルに書き込む。ここで設定した環境変数の一部は、Oracleインストール時のデフォルト値になるので、それに従えばよいことになり、あらかじめ決めて置けば、間違いがない少ない。
次の行を追加する
設定した環境変数とその内容を下表に示す。
表 68
環境変数 | 意味 |
---|---|
ORACLE_BASE | Oracle ベース・ディレクトリパス |
ORACLE_HOME | Oracle ホーム・ディレクトリパス |
ORACLE_SID | システム識別子SID(System IDentifer) |
NLS_LANG | クライアント環境の言語 / 地域 / キャラクタセット NLS_LANG=language_territory.charset Oracleデータベースのメッセージ、ソート順序および日と月の名前で使用される表記規則 デフォルトの日付、通貨および数値の表記規則 クライアント・アプリケーションが使用するキャラクタ・セット |
ORA_NLS10 | 言語とテリトリの定義ファイルが保存されているディレクトリパス |
PATH | サーチパス |
umask | ユーザーマスク ファイル 666(すべてのユーザーに読取り権と書込権限を付与) ディレクトリ 777(すべてのユーザーに読取権限、書込権限、実行権限を付与) ファイル 644(すべてのユーザーに読取り権を付与して、書込権限は所有ユーザーのみに付与) ディレクトリ 755(すべてのユーザーに読取権限、実行権限を付与して、書込権限は所有ユーザーのみに付与) |
下表のカーネルパラメータに推奨値を設定する。
表 69
noexec_user_stack | バッファオーバーフロー攻撃から保護(=1) |
---|---|
seminfo_semmni | セマフォ識別子の最大数 |
seminfo_semmns | システムのセマフォの最大数 |
seminfo_semmsl | セットのセマフォの最大数 |
seminfo_semvmx | セマフォの最大数 |
shminfo_shmmax | 共有メモリセグメントの最大サイズ |
shminfo_shmmin | 共有メモリセグメントの最小サイズ |
shminfo_shmmni | 共有メモリ識別子の最大数 |
shminfo_shmseg | ユーザープロセス共有メモリセグメントの最大サイズ |
次のとおり、systemファイルに追加する。
次の行を追加する。
initコマンドでリブートさせる。リブート後にカーネルパラメータの設定変更が有効になる。
0 件のコメント:
コメントを投稿