Oracleのパフォーマンスチューニングについて勉強したので記事にしようと思ったのですが、
自宅にOracleの環境がない!!
ということでOracleDatabaseのインストールから取り組みました。
最近はGUIで「ポチポチ」っとインストールしていたのですが、コンソールしか無い環境だとどうすればいいんだ?的な素朴な疑問や思わぬトラブルも多かったので、まずはインストール作業からまとめます。
導入環境
- CentOS release 6.5
- OracleDatabase 12.1.0.2.0 Enterprise Edition
前述のとおりGUI環境はナシ。(面倒だから環境作ってないだけだけどね!) そのため今回はCUIからのサイレントインストールを行います。
まずはOSの設定
公式のインストレーションガイドに従えば大体うまくいきます。
Oracle Databaseドキュメント
なおカーネルパラメータの設定は飛ばしますが、要チェックやで!!
OSグループ
とにかくOSグループを追加!
$ groupadd -g 54321 oinstall #OracleInventory $ groupadd -g 54322 dba #OSDBAグループ $ groupadd -g 54323 backupdba #OSBACKUPDBAグループ $ groupadd -g 54324 oper #OSOPERグループ $ groupadd -g 54325 dgdba #OSDGDBAグループ $ groupadd -g 54326 kmdba #OSKMDBAグループ
OSユーザ
OracleDB用のユーザを追加します。
$ useradd -u 1200 -g oinstall -G dba,oper,backupdba,dgdba,kmdba -h /home/oracle oracle #パスワードを設定 $ passwd oracle Changing password for user oracle. New UNIX password: <oracle ユーザーパスワード> Retype new UNIX password: <oracle ユーザーパスワード> passwd: all authentication tokens updated successfully
ディレクトリの作成
インストールに必要なディレクトリを作成します。 ここで作成するのは導入後$ORACLE_BASEとなるディレクトリです。
# $ORACLE_BASEに設定するディレクトリ $ mkdir -p /opt/app/oracle $ chown oracle:oinstall /opt/app/oracle $ chmod -R 775 /opt/app/oracle # インベントリディレクトリ $ mkdir -p /opt/app/oracle $ chown oracle:oinstall /opt/app/oraInventory $ chmod -R 775 /opt/app/oracle
インベントリのディレクトリはインストレーションガイド見る限りだと事前作成不要なんですが、サイレントインストールの場合は事前に作っていないとエラーになってしまいました。
リソース制限の設定
oracleユーザに対してのシェル制限を設定します。 ここはサーバ性能と相談ですね。
# /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768
いよいよインストールするよ!
ここからは、oracleユーザで実施します。
インストーラーの入手
これが無くちゃ始まらない。
Oracleは商用のイメージが強いですが、個人利用する分にはEnterpriseEditionも無料で入手できます。 (ただしOracleへのユーザ登録が必要です。)
OTN(OracleTechnologyNetwork)からダウンロードしましょう。
http://www.oracle.com/technetwork/jp/database/enterprise-edition/downloads/index.html
そうしたら適当なディレクトリへ配置して展開!!
$ unzip linuxamd64_12102_database_1of2.zip $ unzip linuxamd64_12102_database_2of2.zip $ ls -la drwxr-xr-x 7 oracle oinstall 4096 Jul 7 2014 database -rw-r--r-- 1 oracle oinstall 1673544724 Aug 5 19:45 linuxamd64_12102_database_1of2.zip -rw-r--r-- 1 oracle oinstall 1014530602 Aug 5 20:32 linuxamd64_12102_database_2
databaseディレクトリの中にインストーラーが入っています。
レスポンスファイルの作成
このレスポンスファイルがサイレントインストールの肝です。
ここからはこちらのサイトを参考にさせていただきました。
Oracle VM Server とその周辺のもの: Oracle Database 12c を単純にサイレントインストール。
レスポンスファイルの中に、本来インストール時に入力が必要な項目を設定しておくことでコマンドを叩くだけでインストールが完了します。 名前の通りユーザの代わりにレスポンスしてくれているわけです。
レスポンスファイルの雛形が「database/response/db_install.rsp」です。 これを編集しましょう。
# database/response/db_install.rsp oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.1.0 oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME= UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/opt/app/oraInventory SELECTED_LANGUAGES=ja,en ORACLE_BASE=/opt/app/oracle ORACLE_HOME=/opt/app/oracle/product/12.1.0/dbhome_1 oracle.install.db.InstallEdition=EE oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oper oracle.install.db.BACKUPDBA_GROUP=backupdba oracle.install.db.DGDBA_GROUP=dgdba oracle.install.db.KMDBA_GROUP=kmdba DECLINE_SECURITY_UPDATES=true
インストール実行!
レスポンスファイルができたら、いよいよインストーラーを起動します。
$ /home/oracle/database/runInstaller -ignoreSysPrereqs -waitforcompletion -silent -responseFile /home/oracle/database/response/db_install.rsp
オプションはこんな感じ。
- ignoreSysPrereqs:システムの前提条件チェックを無視します。
- waitforcompletion:インストーラーがフォアグランドで動きます。インストールが完了するまでコンソールは戻りません。
- silent:サイレントモードでインストールを指定する。
- responseFile:レスポンスファイルを絶対パスで指定する。
インストールが終わるとrootユーザでシェルを実行するようにメッセージが表示されるので、実行します。
$ /opt/app/oraInventory/orainstRoot.sh $ /opt/app/oracle/product/12.1.0/dbhome_1/root.sh
これでインストールは完了です! $ORACLE_HOME配下を見てみましょう。
$ ls $ORACLE_HOME addnode dbs javavm odbc plugins sqlj apex dc_ocm jdbc olap precomp sqlpatch assistants deinstall jdk OPatch QOpatch sqlplus bin demo jlib opmn R srvm ccr diagnostics ldap oracore racg suptools cdata dmu lib oradata rdbms sysman cfgtoollogs dv log oraInst.loc relnotes ucp clone has md ord rest usm crs hs mgw oui root.sh utl css install network owm scheduler wwg ctx instantclient nls perl slax xdk cv inventory oc4j plsql sqldeveloper
無事インストールできた!?
無事インストールできましたが、実は意外な展開がありました……
が、ちょっと長くなりすぎたのでそれはまた次回。
ひとまずOracleDatabaseのサイレントインストールはこんな具合です。参考にしていただければ幸いです。
絵で見てわかるOracleの仕組み (DB Magazine SELECTION)
- 作者: 小田圭二
- 出版社/メーカー: 翔泳社
- 発売日: 2006/06/21
- メディア: 単行本
- 購入: 27人 クリック: 385回
- この商品を含むブログ (48件) を見る