質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.24%

【お助け下さい】oracle database について

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 17K+

Alice0225

score 190

先日oracleClientの移行について質問したものです。
前質問
【使用環境】
OracleClient Express Edition 11g
Windows7 64bit (Client側)
WindowsServer2008 R2 Standard 64bit (Server側)

11gから12cへの移行方法がわからず困っていたところ「移行じゃなくて共存にしてほしい」といわれました。
11g環境では正常に動作していた為、
とりあえずOracleClient12cをODACにて現存クライアントとは別ディレクトリへインストール(Client側,Server側共に)、listener.ora,tnsnames.ora,sqlnet.oraを11gと同様に変更し、ORACLE_HOMEを追加
(C:\app\hoge2;C:\app\hoge;)※hoge2が追加分です。
pathは自動で追記されているようだったのでそのままにしてあります。

WindowsServer側からコマンドプロンプトにて「lsnrctlコマンド」を使用したところ、
Message 850 not found;No message file for product=network,facility=NL
と表示され動かず。
各フォルダに存在するはず(?)のmesgフォルダがほぼ存在しない為とわかりましたが、どのようにすればよいのかわからず…で詰まってしまっています。

【質問】
①mesgファイルはどのようにすれば生成されるのでしょうか。(むしろここまでの手順は
 合っているのでしょうか…)
②上記が解決した場合、リスナー等はつながると思う(思い込んでる)のですが、
 11gで作成したデータベースをそのまま12cで使用するにはどのようにすれば良いのでしょうか。
 (エクスポートとインポートを行う?)
③上記以外で不足している設定などはありますでしょうか。

現状(進捗状況、私のDB関係知識が乏しい件、有識者の支援要請)を上長に伝えましたが
「なんとかしろ」の一点張りでどうにもなりません…

皆様のお力をお貸し頂けませんでしょうか。

2015/10/20 18:45追記
12cダウンロードの為使用したURLと選択項目
ダウンロード時使用URL
64-bit ODAC 12c Release 4 (12.1.0.2.4) for Windows x64

2015/10/21 10:28追記
現状でPC2(サーバ側)にてコマンドプロンプトよりリスナーを起動させると、
LSNRCTL for 64-bit Windows: Version 11.2.0.2.0
Copyright(以下略
Message 850 not found;No message file for product=network,facility=NL
と表示されています。
確認したところ、サービスにも12cのものと思われるリスナーは存在していませんでした。
ますます混乱しています…

2015/10/21 14:03追記
確認したところ、TNSListener.exeがインストールしたOracleClient12c内に存在していないようで、デフォルトで11g時のリスナーを使用しようとしていました。
これはなんらかの方法で12c版のTNSListener.exeをインストールしなければならないのでしょうか?
または11gのリスナーがそのまま使えたりするのでしょうか?

2015/10/22 13:35追記
PC1へOracleClient
PC2へOracleDatabaseClient
をそれぞれ導入する必要があるのでしょうか。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+1

確認できる環境がないので推測です。
的外れだった場合はすいません。

使用するバージョンを変更する際はUniversal Installer[インストールされた製品][環境]で使用するバージョンを先頭にする必要があるとのこと。

これを実施すると、環境変数を書き換えるようです。
環境変数は先頭から評価することを考えると、
Pathが参照している順番と、ORACLE_HOMEが参照している順番に矛盾が発生しているのではないでしょうか?

現在、ORACLE_HOMEを
(C:\app\hoge2;C:\app\hoge;)※hoge2が追加分です。 
と設定しているということは12cが先に評価されます。

Pathの参照順が11g,12cの順だった場合、
コマンドプロンプトからワンワード(今回でいうと「lsnrctlコマンド」)で実施した場合、
11gの実行ファイルが実行されたということになると思います。

試しに、今の状態で、12c側ホームにある「lsnrctlコマンド」をフルパスで指定して実行したらどうなるでしょう?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/10/22 18:09

    overさん
    とりあえず現状ご教授頂いた内容で上長より指示のあった環境にはすることが出来ました。
    (OracleClient12cにはlsnrctl.exeが無い等の未解決部分もありますが…)
    ここで一度当質問を解決とさせて頂きます。
    近日中(早ければ明日とか…)に続きについての質問を投稿することとなりそうなので、その際はまたお力をお借りできれば幸いです。
    この度は3日間に渡りご協力頂きまして本当にありがとうございました!

    キャンセル

  • 2015/10/22 18:17

    一つだけツッコミを。
    lsnrctl.exe はDatabase側のコマンドなので、Client 11gにも当該コマンドはないのではないかと?
    実際私の環境の11gClientには当該コマンドは御座いません。

    がんばってください。

    キャンセル

  • 2015/10/22 18:33

    サーバ側にはOracleDatabaseClient11gが入ってるのでlsnrctl.exeが存在するのです。
    大事なところが説明不測でした…すいません…。

    キャンセル

0

質問の内容ですが、OracleサーバーとOracleクライアントそれぞれ複数バージョンを
共存させたいという事でしょうか?

サーバーと、クライアントでは、共存と行っても方法や知識等が全く違うと思います。

1.クライアントの共存方法
それぞれ、別のフォルダにインストールして、環境を変更する事で対応可能かと思います。

具体的には
スタートメニューからUniversal Installer を起動する。
「インストールされた製品」→「環境」にて、使用するバージョンを一番上に移動する。

Oracleクライアントはバージョンによって接続できるサーバーがありますので、
両方に接続できるクライアントを使用していれば、普段は切り替える必要はないと思います。

2.サーバーの共存方法
サーバーを共存させる場合は、ポートとサービスを別々に設定しないといけません。

バージョンは違いますが、参考になるページがありましたので、アドレスを張っておきます。
リンク内容

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/10/21 16:35

    例えば、11gのsqlplusを使用した場合は繋がるのでしょうか?

    ORA-12154ということは定義している内容が間違っている可能性が高いと
    思います

    キャンセル

  • 2015/10/21 17:16 編集

    overさんのご回答を元に操作を行ったところ(ORACLE_HOME,pathから12c分の記述削除)
    とりあえず11g,12cのsqlplusでPC2に関してはDB接続は確認できました。

    キャンセル

  • 2015/10/22 16:04 編集

    記載ミス削除

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.24%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる