クラスタおよびデータベースバイナリ向けOracle Database 18cグリッド・インフラストラクチャの再リンク完全ガイド
本記事では、再リンク(relink)とは何か、なぜ必要なのか、そしてOracle®オブジェクトファイルを実際にどのように再リンクするのかについて詳しく解説します。
はじめに
どのようなプログラミング言語においても、コードをコンパイルしてバイナリ形式のファイル(オブジェクトファイル)を作成する際には、その言語用ライブラリファイル内に定義された事前定義済み関数が必要になります。作成されたオブジェクトファイルは、その後オペレーティングシステム(OS)のライブラリとリンクされ、単一の実行可能ファイルへと統合されます。リンク処理では、各コンポーネントから実行可能ファイルを生成する前に、すべての関数定義を見つけ出す必要があります。
Oracle Homeバイナリの再リンクとは?
Oracleソフトウェアは、オブジェクトファイルとアーカイブファイルの形式で提供され、それらは圧縮されたJava®アーカイブ(jar)形式としてまとめられています。インストール時には、これらのオブジェクトファイルがOSレベルで再リンクされ、実際に使用可能な実行可能ファイルが作成されます。この再リンクによって、OSシステムライブラリが提供する機能との確実な統合が保証されます。
再リンクの実行中には、既存の実行可能ファイルは名前を変更して保存され、新しい実行可能ファイルが生成されます。新しい実行可能ファイルが正しく配置され、問題なく動作することを確認できたら、ORACLE_HOME/binディレクトリ内の旧実行可能ファイルを削除しても構いません。旧ファイルには、ファイル名の末尾に「O」が付加されています。たとえば、exp.exeはexpO.exeという名前に変更されます。
Oracle Homeには、さまざまなオブジェクトファイルやアーカイブファイルが格納された以下のディレクトリが存在します。
- /lib
- /usr/lib
- $ORACLE_HOME/lib
- $ORACLE_HOME/rdbms/lib
- $ORACLE_HOME/<product>/lib
$ORACLE_HOME/rdbms/libまたは$ORACLE_HOME/libに配置されているsysliblistファイルには、リンク時に組み込む必要のあるその他のライブラリの一覧が記載されています。
Oracle Homeの再リンクが必要な理由
Oracle Homeの再リンクは、Oracleが提供するオブジェクトファイルをOSのシステムライブラリへ正しく接続するために必須の作業です。
再リンクは、以下のような状況では自動的に実行されます。
- Oracle Universal Installer(OUI)がOracleデータベースをインストールしたとき
- OUIがOracleデータベースのパッチセットを適用したとき
OPatchユーティリティがOracleデータベースのパッチを適用したとき
また、これら以外にも必要に応じて手動で再リンクを実行することができます。
手動での再リンクが必要となるケース
以下のような状況では、手動での再リンクが必要です。
- OSのアップグレードまたはダウングレードを行った後
- OSパッチを適用した後
- RDBMSホームにライブラリファイルが不足している場合
- Oracle Homeバイナリのパーミッションをリセットする必要がある場合
Oracleオブジェクトファイルを手動で再リンクする手順
再リンク作業を開始する前に、$ORACLE_HOMEディレクトリから稼働しているすべてのサービスを停止する必要があります。すべてのデータベース、リスナー、Oracle Automatic Storage Management(ASM)インスタンス、およびクラスタサービスをシャットダウンしてください。
root権限での操作:GRID_HOMEのロック解除
root権限で以下のコマンドを実行し、GRID_HOMEのロックを解除します。
# cd GRID_HOME/crs/install
# rootcrs.sh -unlock
Grid Infrastructureクラスタ所有者権限での操作
続いて、Oracle Grid Infrastructureクラスタ所有者の権限で以下の手順を実施します。
まず、環境変数$ORACLE_HOMEおよび$PATHが正しく設定されていることを確認します。
再リンクコマンドを実行する前に、$ORACLE_HOME/rdbms/lib/config.oのバックアップを取得しておきましょう。万一のトラブルに備える重要なステップです。
以下のコマンドを実行して、GRID_HOMEを再リンクします。
$ export ORACLE_HOME=Grid_home
$ Grid_home/bin/relink all
処理完了後は、再リンクのログファイルを確認し、エラーが発生していないかを必ずチェックしてください。
root権限での操作:GRID_HOMEのロック
再リンクが完了したら、root権限で以下のコマンドを実行し、GRID_HOMEのバイナリを再度ロックします。
# cd Grid_home/rdbms/install/
# ./rootadd_rdbms.sh
# cd Grid_home/crs/install
# rootcrs.sh -lock
Oracleデータベースバイナリの再リンク
データベースバイナリの再リンクについても、まず環境変数$ORACLE_HOMEおよび$PATHが正しく設定されていることを確認します。
再リンクコマンドを実行する前に、umaskを022に設定しておきます。
実行後は、再リンクのログファイルを確認し、エラーがないかチェックします。
なお、relink allコマンドを実行すると、extjob、jssu、oradism、externaljob.oraのパーミッションがリセットされてしまう点に注意が必要です。
そのため、対象バイナリのパーミッションを適切な状態に戻すため、rootとして以下のコマンドも忘れずに実行してください。
chown root $ORACLE_HOME/bin/oradism
chmod 4750 $ORACLE_HOME/bin/oradism
chown root $ORACLE_HOME/bin/extjob
chmod 4750 $ORACLE_HOME/bin/extjob
chown root $ORACLE_HOME/rdbms/admin/externaljob.ora
chmod 640 $ORACLE_HOME/rdbms/admin/externaljob.ora
chown root $ORACLE_HOME/bin/jssu
chmod 4750 $ORACLE_HOME/bin/jssu
chown root $ORACLE_HOME/bin/nmb
chmod 4710 $ORACLE_HOME/bin/nmb
chown root $ORACLE_HOME/bin/nmhs
chmod 4710 $ORACLE_HOME/bin/nmhs
chown root $ORACLE_HOME/bin/nmo
chmod 4710 $ORACLE_HOME/bin/nmo
最後に、すべてのクラスタとデータベースサービスを起動し、すべてが正常に動作していることを確認して作業完了です。
まとめ
再リンクプロセスは、データベース管理者、システム管理者、OSプログラマ、ソフトウェアプログラマそれぞれの専門知識が総動員される作業であり、OSレベルでサーバーに大きな変更を加えた後も、Oracleソフトウェアが確実に正常動作することを保証するものです。
ご意見やご質問がある場合は、フィードバックタブよりお気軽にお寄せください。
専門家による管理・運用・構成で環境を最適化
Rackspaceのアプリケーションサービス(RAS)のエキスパートは、幅広いアプリケーションポートフォリオにわたり、以下のプロフェッショナルサービスおよびマネージドサービスを提供しています。
- eコマースおよびデジタルエクスペリエンスプラットフォーム
- エンタープライズリソースプランニング(ERP)
- ビジネスインテリジェンス(BI)
- Salesforce顧客関係管理(CRM)
- データベース
- メールホスティングと生産性向上ソリューション
私たちがお届けする価値は次のとおりです。
- 中立的な専門知識:即座に価値を発揮できる機能に焦点を当て、モダナイゼーションの道のりをシンプルにしながら伴走してご案内します。
- Fanatical Experience™:「Process first. Technology second.®(まずプロセス、次にテクノロジー)」のアプローチと専任のテクニカルサポートを組み合わせ、包括的なソリューションを提供します。
- 比類なきポートフォリオ:豊富なクラウド経験を活かし、適切なクラウド上に最適なテクノロジーを選択・導入できるよう支援します。
- アジャイルなデリバリー:お客様の現在地に合わせて柔軟に対応し、私たちの成功をお客様の成功とともに実現します。
まずは今すぐチャットでお気軽にご相談ください。
-
サーバーレス・エッジ時代のグローバルデータベース──Upstash Global Database徹底解説
近年、アプリケーションのデプロイにおいて、サーバーレスアーキテクチャとエッジコンピューティングが急速に普及しています。しかし、サーバーレス関数やエッジ関数の中でアプリケーションの状態やデータを保存するのは、まったく別の話です。データベースへの接続管理、複数拠点からの高速なデータアクセスの実現など、乗り越えるべき課題が数多くあります。サーバーレスアクセスに対応したデータベースサービスは限られており、さらにエッジ関数にも適したものとなると、ごくわずかしか存在しません(詳細な分析はこちらの記事をご覧ください)。Upstashでは、創業当初から低レイテンシかつリクエスト単位の従量課金モデルを採用したサ
-
Windows 10でファイルを無料で圧縮・解凍する方法【標準機能とオンラインツール】
Windows 10でファイルをZIP形式に圧縮する方法 Windowsには、ファイルの圧縮(ZIP化)や解凍を簡単に行える標準機能が搭載されています。この機能を活用すれば、サイズの大きなファイルを小さなZIPファイルにまとめることができます。手順は以下の通りです。 複数のファイルやフォルダを圧縮したい場合は、まずそれらを1つのフォルダにまとめましょう(必要に応じて新しいフォルダを作成してもOKです)。 フォルダをまとめたら、そのフォルダを右クリックし、「送る」から「圧縮(zip形式)フォルダー」を選択します。 すると、同じ場所に同じ名前のZIPフォルダが新しく作成されます。作成されたZI