• 締切済み
  • すぐに回答を!

DBリンクの参照について

オラクルのデータベースリンクについて教えて下さい。仮にデータベース"TEST_A"と"TEST_B"があります。 TEST_AからTEST_Bへデータベースリンクしようとしているのですが、TEST_Bのユーザ(1) ではログオンできるのですが、ユーザを(2)に変更するとログオン出来ません。 その時のエラーの内容としては... -------------------------------------------------"ORA_01017:ユーザ名/パスワードが無効です。ログオンは拒否されました。" "ORA_02063:先行のエラー・メッセージを参照してください。(データベースリンク名称)" ------------------------------------------------- これは権限かなにかの問題でしょうか? 説明不足かもしれませんが解決方法を教えて頂きたく宜しくお願い致します。 ※ 環境: ORACLE10g  また運用保守で Object Browser というソフトを使用しています。 上記のエラー内容はObject BrowserでDBリンクの接続を試みた時に表示されました

共感・応援の気持ちを伝えよう!

  • Oracle
  • 回答数1
  • 閲覧数1609
  • ありがとう数2

みんなの回答

  • 回答No.1

データベースリンクの定義とリンク先データベースのユーザの問題だと思います。 例えば、データベースリンクが、PUBLICなものでなく、ユーザ(1)でのみ使える、とか。 データベース定義で接続に使うユーザが、自データベースへのログインユーザを使う定義で リンク先データベースにユーザがない、とか。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • DBリンク&シノニム経由インデックス

    Oracle8iサーバ(サービス名:Aサーバ)と Oracle10gサーバ(サービス名:Bサーバ)があります。 Aサーバに作られた、aスキーマに、test_tableというテーブルがあります。 そのtest_tableをBサーバに作られた、bスキーマから参照する為に、 DBリンク:BA_linkを作成しました。 実際に、bスキーマから参照する場合は、 同スキーマに、 CREATE SYNONYM test_table FOR test_table@BA_link; のように作られたシノニムを利用して、参照します。 抽出に時間がかかるので、インデックスを作成しようと思うのですが、 どのスキーマにどのように作成すればよいのでしょうか? ちなみにインデックスの対象にしたい項目は、 VAR_ITEM VARCHAR2(10) NUM_ITEM NUMBER(5) とします。 ちなみにbスキーマにて、 CREATE INDEX test_table_IX1 ON test_table (VAR_ITEM, NUM_ITEM); と実行したところ、 ORA-02021: リモート・データベースに対するDDL操作が無効です・ というエラーが発生しました。 DBリンク先自身に、作成すべきということはなんとなく予想が つくのですが、そのインデックスはDBリンク経由でも有効なのでしょうか?

  • データベースリンク

    RedHatLinux Oracle9i Windows2000 Oracle8.0.6 という二つのDBがいます。 Oracle9iからCREATE DATABASE LINKをつかって、 Oracle8を参照します。 CREATE DATABASE LINK XXXX_DBLINK CONNECT TO aaaaa IDENTIFIED BY bbbbb USING 'XXXX' として、データベースリンクは作成することができました。 しかし、 select * from test@XXXX_DBLINK とすると、 ORA-12154: TNS: サービス名を解決できませんでした。と なってしまいます。 なにがわるいのでしょうか? よろしくお願いいたします。

  • DBリンクできませんが

    これが TNSNAMES.ORA (一部仮名) ORACLE.AB123 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 123.456.789.012)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = AB123) ) ) で  CREATE DATABASE LINK ORACLE.AB123 CONNECT TO ABCUSER IDENTIFIED BY ABCUSER USING 'ORACLE.AB123' そして SELECT * FROM ABCUSER.ABC@ORACLE.AB123 →ORA12154エラーになってしまいます。なぜでしょうか?

  • ストアドプロシジャからデータベースリンクを使っての参照について

    OracleツールのJDeveloperを使って、PL/SQLでストアドプロシジャを作成しています。 (Oracleは9i) DBが2つありまして(DB-AとDB-Bとする)、 DB-Bから、データベースリンクを介してDB-Aのテーブルを参照しています。 (SELECT * FROM XXXXX.テーブル名@データベースリンク名) DB-Bに接続してSQL*PLUS上で上記SELECT文を実行すると正しく処理されるのですが 上記SELECT文が組み込まれているDB-B上のプロシジャをコンパイルすると、 「ORA-04052」が返ってきてしまいます。 エラーコードを調べると、 DB-A側のテーブルを参照できていないようで、 「KGLR.SQLが実行されていることを確認してください」とのことなのですが、 この「KGLR.SQL」とやらが何者かわかりません。 タチの悪いことに、上記の現象が出る端末と出ない端末があります。 みんな同じIDでログインしているので権限の問題ではないと思ってるのですが・・・ 「KGLR.SQL」は置いといて、このような事象に出くわしたことのある方、 推測でもなんらかの情報をお持ちの方がいらっしゃいましたらご教授ください。 よろしくお願い致します。

  • DBリンクエラーについて

    DBリンクにて、プロシージャ(PKG)を起動すると エラーが発生してしまいました。 いろいろ調査したのですがよくわかりませんでした。。 申し訳ありませんが教えてください。 何か制約があるんでしょうか? ●エラー内容 ⇒【ORA-02064 分散処理はサポートされていません】 ●プロシージャ内容 ⇒ 更新処理(UPDATE文(副問合せ含む) ●環境 ⇒【ORACLE9i 9.2.0.6.0】

  • データベースリンクをする準備としての接続について

    Oracle8(Aとします)のデータベースから8iのデータベース(Bとします)へのデータベースリンクを作成したいと思っております。 その準備段階としてAからBへの接続の設定をNet8 Assistantで行っております。 リスナーのデータベースサービス、リスニング位置についての設定は行い、tnsnames.oraにもBの記述があるのは確認しています。 その状態でSQL*Plusにてユーザ/パス@Bのホスト文字列とすると ORA-12545: 接続に失敗しました。ターゲット・ホストまたはオブジェクトが存在しません。 と接続が出来ず、エラー後はリスナーのサービスが停止してしまいます。 Net8 Assistantでの設定でのBグローバルデータベース名やSIDはBの管理者に確認してもらい正常なことを確認しております。 どこの設定を直したら良いのか分からない状態です。どうか助言をお願い致します。

  • データーベースリンク

    以前にも、データベースリンクについての質問をさせていただきました。さらに問題が発生し、困っております。 【環境】 RedHatLinux Oracle9i Windows2000 Oracle8.0.6 という二つのDBがいます。 Oracle9iからCREATE DATABASE LINKをつかって、 Oracle8を参照します。 【データベースリンク作成】 CREATE DATABASE LINK XXXX_DBLINK CONNECT TO aaaaa IDENTIFIED BY bbbbb USING 'XXXX' でDBLINKを作成し、 select * from test@XXXX_DBLINKとして、 結果を受けることはできました。 そこで、以下のSQLを実行したときに、SQLエラーが発生してしまいました。 【問題のSQL】 select * from test@XXXX_DBLINK where COLUMN1=:hensu1 and COLUMN2=:hensu2 【実行結果】 SQL実行中に以下のエラーが発生しました。 ORA-01026: バインド・リストにサイズが4000を超える複数バッファが存在しています。 ORA-02063: 先行のエラー・メッセージを参照してくださいline(TRINITY_DBLINK) と2つのメッセージからなっています。 【※】 ・変数パラメータとしては、1つの場合、SQLエラーは発生しません。 ・変数パラメータが2つ以上の場合発生します。 ・変数の部分を固定で、条件を指定すれば、正常にSQLが実行されます。 質問は、この問題を解消するためにどのような対処方法がありますでしょうか? CREATE DATABASE LINK時にオプションを設定することや、 Oracle8もしくは、Oracle9iを構築する際に設定する数値など ありましたら、お教えください。

  • Oracle DBリンクについて

    ローカルホストから、他のマスタDBにDBリンクを作成しました。 しかし、DBリンクは作成できなのにいざ参照しに行くと下記のエラーが出ます。 select * from Tablename@Linkname ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。 どうしてでしょうか、他のサイトにはこれで参照できるといっていたのですが... また、違う質問になりますがこれで参照しにいけるなら なんでSnapshotやマテリアライズドビューなどが存在しているのでしょうか? 初歩的な質問ですみませんがどなたか教えてください。

  • AccessでOracleのテーブルをリンクし、Access側では読み取り専用にしたい

    社内にOracleデータベースでのシステムが立ち上がっているのですが、管理帳票の出力用に、OracleのデータをAccessで読み込みたいと思っています。 テーブルのリンクそのものは知っており、成功しているのですが、Oracleデータベースのデータを壊さないようにするため、このリンクテーブルを読み取り専用にしたいと思っています。どのようにすれば良いでしょうか。 なお、Oracle側で読み取り専用ユーザを作成して、そのユーザでリンクすれば良いことは理解していますが、それは最後の手段にしたいと思っています。別の方法でうまくできないでしょうか。

  • DB作成中のエラーについて

    現在「Oracle9.2.0.4.0」を使っています。 「Databese Configuration Assistant」の「データベース作成スクリプトの生成」で作成されたスクリプトを使って、データベースを作成しようとしております。 スクリプトの一部ですが、以下の内容です。 mkdir E:\oracle\admin\AAAA\bdump mkdir E:\oracle\admin\AAAA\cdump mkdir E:\oracle\admin\AAAA\create mkdir E:\oracle\admin\AAAA\pfile mkdir E:\oracle\admin\AAAA\udump mkdir E:\oracle\ora92\database mkdir E:\oracle\oradata\AAAA set ORACLE_SID=AAAA E:\oracle\ora92\bin\oradim.exe -new -sid AAAA -startmode m E:\oracle\ora92\bin\oradim.exe -edit -sid AAAA -startmode a E:\oracle\ora92\bin\orapwd.exe file=E:\oracle\ora92\database\PWDAAAA.ora password=change_on_install E:\oracle\ora92\bin\sqlplus /nolog @E:\oracle\admin\AAAA\scripts\CreateDB.sql    ~省略~ 上記の手順で処理が実行されて、「orapwd」の行でエラーが発生します。 エラーメッセージ 「OPW-00005: 同一名のファイルがあります。 - 削除または名前を変更してください。」 ステップごとに追った結果「oradim」の行で、「PWDAAAA.ora」が作成されるために発生するようです。 これは、無視しても良い物なのでしょうか? または、何らかの対処が必要なのでしょうか? よろしくお願いします。