はじめに
サーバリプレースを伴うOracleのバージョンアップを行う案件で、intra-martのシェアードデータベース接続の設定変更を行いました。その時の手順と1週間くらいぬまりにぬまった注意点を備忘をかねて記します。
前提
- Oracle12cからOracle19cにバージョンアップ
- Oracleのキャラクタセットは「JA16SJISTILDE」←後の注意点
作業手順
事前準備
JDBCドライバーを公式サイトからintra-martのバージョンに合うJDBCドライバーを取得します。なお注意点としては日本語ダウンロードページでは最新の情報が記載されていないので、英語ダウンロードページから入手することを強くおすすめします。
※日本語ページだとサポートされるJDKバージョンが古いままでした。それを知らずに最初「該当するJDKがない。。。やばい!」と焦りました。
取得が必要なのは以下です。
- ojdbcXX.jar
- ojdbcXX-full.tar(orai18n.jar) ← 「JA16SJISTILDE」の場合、超重要
APサーバ
詳しくはintra-mart公式のセットアップガイドをご確認ください。
検索方法は「intra-mart Accel Platform セットアップガイド DataSource」で検索すると出てくると思います。当ブログでは要点のみまとめます。
- IM-Jugglingからデプロイするならresin-web.xmlにデータソース情報を修正
- <imart_home>\resin\webapps\imart\WEB-INF\resin-web.xmlにデータソース情報を直接修正もOK(この場合はデプロイは不要)
- 必要情報はoracleのtnsname.oraに記載されている(識別子ではなくServiceNameが該当)
- <imart_home>\resin\libに事前にダウンロードしたJDBCドライバーを配置
- Resin-app-0のサービスを再起動
※Oracleのキャラクタセットが「JA16SJISTILDE」の場合、orai18n.jarもlibフォルダに配置しないとエラー(テーブルメンテナンス一覧に表示されない)となります。intra-mart公式のセットアップガイドには書いてないので、私のようにつまった場合は一度確認してみてください。
システム管理者サイト
詳しくはintra-mart公式のセットアップガイドをご確認ください。
検索方法は「intra-mart シェアードデータベース設定」で検索すると出てくると思います。当ブログでは要点のみまとめます。
- シェアード先の接続IDに変更がなければ特段対応不要
- 新規登録の場合は、resin-web.xmlに既述した「jndi-name」を含めて以下のとおり記述する
java:comp/env/jdbc/<jndi-name>
まとめ
以上で、『【intra-mart】シェアードデータベース接続の設定方法と注意点(Oracle)』でした。
私は「orai18n.jar」の設置がわからず1週間絶望してましたが、シェアードDBクエリを実行してみたところ、上記に関するエラーが出たので無事解決に至りました。
コメント