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

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

ただいまの
回答率

87.61%

sqlplusツールに関しまして

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,750

score 23

OSはSolaris 11、RDBMSはOracle 12c(12.1.0)の環境でset markupコマンドを使いたく
12.1.0のsqlplusツールから、12.2.0のsqlplusツールへバージョンアップをさせたいです

バージョンアップ後にOracleインスタンスへ接続する際、エラーが発生しました。

以下に示すようにsqlplusツールを実装して、実行しています。

以下手順で実装
①    旧SQLplus(12.1.0)のライブラリを退避                

    % cd /opt/oracle/product/12.1.0/db/lib                
    % mkdir libsqlplus.so_old                
    % cp -p libsqlplus.so ./libsqlplus.so_old                

②    instantclient-sqlplus-solaris.x64-12.2.0.1.0.zipをサーバ(/export/home/oracle)へアップロード                

③    新SQLplus(12.2.0)のライブラリを展開                

    % unzip /export/home/oracle/instantclient-sqlplus-solaris.x64-12.2.0.1.0.zip                
    % cd instantclient_12_2                
    % ls -ltrh                
    total 7644                
    -r-xr-xr-x   1 oracle   dba          12K Feb  1  2017 sqlplus                
    -r-xr-xr-x   1 oracle   dba         1.6M Feb  1  2017 libsqlplusic.so                
    -r-xr-xr-x   1 oracle   dba         2.1M Feb  1  2017 libsqlplus.so                
    -r-xr-xr-x   1 oracle   dba          342 Feb  1  2017 glogin.sql                
    -rw-rw-r--   1 oracle   dba          335 Feb  1  2017 SQLPLUS_README                

    % cp -p * /opt/oracle/product/12.1.0/db/lib                

    % sqlplus /nolog                

    SQL*Plus: Release 12.2.0.1.0 Production on Mon Apr 1 13:42:53 2019                

    Copyright (c) 1982, 2016, Oracle.  All rights reserved.                

    SQL> conn / as sysdba                
    ld.so.1: sqlplus: fatal: relocation error: file /opt/oracle/product/12.1.0/db/lib/libsqlplus.so: symbol lmxconpar2: referenced symbol not found                
    Killed                


% env
HOME=/export/home/oracle
PATH=/opt/oracle/product/12.1.0/db/bin:/bin:/usr/bin:/usr/ccs/bin:/etc:/usr/openwin/bin:/usr/sbin
LOGNAME=oracle
HZ=
TERM=xterm
SHELL=/bin/csh
MAIL=/var/mail/oracle
LANG=C
TZ=Japan
PWD=/export/home/oracle
USER=oracle
DISPLAY=:0.0
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/12.1.0/db
ORACLE_SID=srdcsc
LD_LIBRARY_PATH=/opt/oracle/product/12.1.0/db/lib
NLS_LANG=american_america.JA16SJIS


srdcs04% uname -a
SunOS srdcs04 5.10 Generic_148889-05 i86pc i386 i86pc


※出力されたエラーについて

ld.so.1: sqlplus: fatal: relocation error: file /opt/oracle/product/12.1.0/db/lib/libsqlplus.so: symbol lmxconpar2: referenced symbol not found                
    Killed                

指定されたシンボルが再配置のために見つからなかったことを示していて
シンボルが含むべき共有オブジェクトに古いバージョンが含まれている可能性があるかもしれません。

oracleライブラリ配下のシンボリックリンクを確認すると以下となっていました。

lrwxrwxrwx   1 oracle   dba           15 May  6  2016 libocci.so -> libocci.so.12.1
lrwxrwxrwx   1 oracle   dba           12 May  6  2016 libodm12.so -> libodmd12.so
lrwxrwxrwx   1 oracle   dba           15 May  6  2016 libagtsh.so -> libagtsh.so.1.0
lrwxrwxrwx   1 oracle   dba           51 May  6  2016 libclntsh.so -> /opt/oracle/product/12.1.0/db/lib/libclntsh.so.12.1
lrwxrwxrwx   1 oracle   dba           12 May  6  2016 libclntsh.so.10.1 -> libclntsh.so
lrwxrwxrwx   1 oracle   dba           12 May  6  2016 libclntsh.so.11.1 -> libclntsh.so
lrwxrwxrwx   1 oracle   dba           55 May  6  2016 libclntshcore.so -> /opt/oracle/product/12.1.0/db/lib/libclntshcore.so.12.1
lrwxrwxrwx   1 oracle   dba           15 May  6  2016 libocci.so -> libocci.so.12.1
lrwxrwxrwx   1 oracle   dba           12 May  6  2016 libodm12.so -> libodmd12.so

上記から

今回アップロードしたsqlplusツールのモジュールにはシンボリックリンクがなく、直接的な原因にはなっていないように見受けられます。

※sqlplusのリンクを確認して、今回導入したモジュールとリンクがとれている
srdcs04% ldd sqlplus
        libsqlplus.so =>         /opt/oracle/product/12.1.0/db/lib/libsqlplus.so
        libclntsh.so.12.1 =>     /opt/oracle/product/12.1.0/db/lib/libclntsh.so.12.1
        libclntshcore.so.12.1 =>         /opt/oracle/product/12.1.0/db/lib/libclntshcore.so.12.1
        libmql1.so =>    /opt/oracle/product/12.1.0/db/lib/libmql1.so
        libipc1.so =>    /opt/oracle/product/12.1.0/db/lib/libipc1.so
        libnnz12.so =>   /opt/oracle/product/12.1.0/db/lib/libnnz12.so
        libkstat.so.1 =>         /lib/64/libkstat.so.1
        libnsl.so.1 =>   /lib/64/libnsl.so.1
        libsocket.so.1 =>        /lib/64/libsocket.so.1
        libresolv.so.2 =>        /lib/64/libresolv.so.2
        libgen.so.1 =>   /lib/64/libgen.so.1
        libdl.so.1 =>    /lib/64/libdl.so.1
        libsched.so.1 =>         /usr/lib/64/libsched.so.1
        librt.so.1 =>    /lib/64/librt.so.1
        libc.so.1 =>     /lib/64/libc.so.1
        libaio.so.1 =>   /lib/64/libaio.so.1
        libpool.so.1 =>  /usr/lib/64/libpool.so.1
        libadm.so.1 =>   /lib/64/libadm.so.1
        libefi.so.1 =>   /lib/64/libefi.so.1
        libproject.so.1 =>       /usr/lib/64/libproject.so.1
        libsoftcrypto.so.1 =>    /usr/lib/64/libsoftcrypto.so.1
        libm.so.2 =>     /lib/64/libm.so.2
        libthread.so.1 =>        /lib/64/libthread.so.1
        libons.so =>     /opt/oracle/product/12.1.0/db/lib/libons.so
        libmp.so.2 =>    /lib/64/libmp.so.2
        libmd.so.1 =>    /lib/64/libmd.so.1
        libscf.so.1 =>   /lib/64/libscf.so.1
        libnvpair.so.1 =>        /lib/64/libnvpair.so.1
        libexacct.so.1 =>        /usr/lib/64/libexacct.so.1
        libxml2.so.2 =>  /usr/lib/64/libxml2.so.2
        libuuid.so.1 =>  /lib/64/libuuid.so.1
        libsecdb.so.1 =>         /lib/64/libsecdb.so.1
        libproc.so.1 =>  /lib/64/libproc.so.1
        libpthread.so.1 =>       /lib/64/libpthread.so.1
        libdoor.so.1 =>  /lib/64/libdoor.so.1
        libuutil.so.1 =>         /lib/64/libuutil.so.1
        libz.so.1 =>     /usr/lib/64/libz.so.1
        libcmd.so.1 =>   /lib/64/libcmd.so.1
        librtld_db.so.1 =>       /lib/64/librtld_db.so.1
        libelf.so.1 =>   /lib/64/libelf.so.1
        libctf.so.1 =>   /lib/64/libctf.so.1
srdcs04%
srdcs04% ls -ltrh | tail -5
-r-xr-xr-x   1 oracle   dba         1.6M Feb  1  2017 libsqlplusic.so
-r-xr-xr-x   1 oracle   dba         2.1M Feb  1  2017 libsqlplus.so
-r-xr-xr-x   1 oracle   dba          342 Feb  1  2017 glogin.sql
-rw-rw-r--   1 oracle   dba          335 Feb  1  2017 SQLPLUS_README
drwxr-xr-x   2 oracle   dba          512 Apr  1 13:22 libsqlplus.so_old
  • 気になる質問をクリップする

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正、ベストアンサー選択の依頼

  • sazi

    2019/04/01 14:03

    質問には慣れておられるのですから、そろそろ「エラーが出ました」のみは脱却されて、調査して試したことなども質問に追記されて下さい。

    キャンセル

  • raccoondog

    2019/04/01 14:18

    ご指摘有難うございます。

    キャンセル

  • Orlofsky

    2019/04/01 20:36

    バージョンからタグは[Oracle Database 11g]ではないですよね?ここの掲示板の開発者や管理者はかなり能力に問題がありますから、タグは[Oracle]か[Oracle Database]で質問の本文にバージョンを明記するのが正しい質問の仕方かと。

    キャンセル

  • raccoondog

    2019/04/01 20:56

    ご指摘有難うございます。

    キャンセル

回答 2

+2

PCなどにOracle Clientの12.2 をインストールしてOracle12.1に接続して使っては?

通常、同じOracle Homeに別バージョンのファイルをコピーするような使い方はしないかと。どうしても、ということでしたら動作保証されている使い方かオラクル・サポートに確認した方が良いです。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

check解決した方法

-1

本方式は使用しない方針となった

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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

関連した質問

同じタグがついた質問を見る