質問: oracle dbリンクについて ローカルホストから、他のマスタdbにdbリンクを作成しました。 しかし、dbリンクは作成できなのにいざ参照しに行くと下記のエラーが出ます。 select * from tablename@linkname ora-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。 どうしてでしょうか、他のサイトにはこれで参照できるといっていたのですが... また、違う質問になりますがこれで参照しにいけるなら なんでsnapshotやマテリアライズドビューなどが存在しているのでしょうか? 初歩的な質問ですみませんがどなたか教えてください。
回答: oracleのデータベースリンクは「create database link」時点ではユーザー、パスワードの妥当性をチェックしません。 ローカルホストからsql*plusでデータベースリンク作成時のsql文で使ったユーザ名、パスワード、接続文字列でつながるか確認してみてください。 11gから認証の際の大文字小文字を区別するようになっているみたいですから注意してください。 > なんでsnapshotやマテリアライズドビューなどが存在しているのでしょうか? snapshotやマテリアライズドビューはローカルホストにデータがありますから、sql発行のたびにネットワーク経由でのアクセスが発生しません。 当然、パフォーマンスも向上します。