オラクルDBリンクの設定について質問です

オラクル8.1.5を使用しているものですが、DBリンクの設定の仕方が
よく分かりません。tnsnames.oraとcreate database linkの設定
で実現できないものでしょうか?

宜しくお願い致します

このQ&Aに関連する最新のQ&A

A 回答 (2件)

まず、tnsnames.oraですが、リンクを作りたいOracleのtnsnames.oraに、以下のような記述を付け加えます。



リンクのサービス名:linkdb
リンク先のホスト名:linkserver
プロトコル:TCP/IP
Listnerのポート:1521
リンクしたいデータベースのSID:TEST

LINKDB.WORLD =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = LINKSERVER)
(PORT = 1521)
)
(CONNECT_DATA =
(SID = TEST)
)
)

リンク作成SQLは、以下のようになると思います。
リンク名:linktodb
リンクの際に使うユーザー名:linkuser
リンクユーザーのパスワード:linkpass

create public database link linktodb connect to linkdb identified by linkuser using 'linkpass' ;

リンク先のテーブルのシノニム作成は以下のとおり
リンク先のテーブルのスキーマユーザー:towner
リンク先のテーブル名:linktable
シノニム名:linksynonym

create synonym linksynonym for towner.linktable@linktodb ;

以上で、シノニムが作成できて、普通のテーブルのように
select * from linksynonym ;
のようなアクセスができるはずです。
ただし、当然、リンクを作成するユーザーには、CREATE DATABASE LINKシステム権限が、シノニムを作成するユーザーには、CREATE SYNONYMシステム権限が必要ですし、それぞれのオブジェクト権限も注意してください。
    • good
    • 0
この回答へのお礼

ありがとうございます
早速試してみます

お礼日時:2001/10/05 13:53

基本的にその2つで実現できます。



特に無塚しい事はないと思いますが、リンク先のデータベースのテーブルなどのシノニムを作ったほうが、自分のデータベース上にあるものとして、SQLなどを書けるので便利だと思います。

この回答への補足

すみません。シノニムってサーバーおよびオラクル別々の場合設定できましたでしょうか?できれば設定方法をおしえていただきたいのですが・・
またNET8の設定でtnsnames.oraにどのように記述すれば他のDBを認識するのか
教えてください
よろしくお願い致します

補足日時:2001/10/03 09:16
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q「DNAのクロスリンク」について教えてください

「DNAのクロスリンク」のクロスリンクとは、架橋形成のことでしょうか?

Aベストアンサー

http://www.dojindo.co.jp/letterj/097/reviews_01_main.html
http://www.kyushu.meti.go.jp/web/15_6_30_gi_kikaku/H14FYseika_list/14C8012.pdf
等によるとおっしゃるとおり架橋したものが出来るようです。
なお。ここを閉じて、生物のカテで聞くともっと良いお答えが早くかえってくると思います。

Qオラクル:ビューのCREATE文について

こんにちわ。

OEMやOBJECTBROWSERで標記のものが確認できますが、
これらはどのデータディクショナリを参照しているのでしょうか?

とりあえず、ALL_VIEWSで列名は取得できるのですが、FROM句やWHERE句の部分がどのテーブルから引っ張っているのかが分からない。といったところです。

ご存知の方、どうぞよろしくお願いします。

Aベストアンサー

VIEWの元データを確認したいのであれば、USER_VIEWSの列:TEXTを参照してください。

select text from user_views where view_name=[知りたいView名(大文字ですよ)];

Qクロスケーブルとアップリンクポート

アップリンクポートとパソコンを
クロスケーブルで結ぶと
普通にハブに接続しているのと変わらないのですか?
クロスをクロスにするから大丈夫だとは思うのですが。

どうでしょうか?

Aベストアンサー

その通りです。

クロス、ストレートの選択はいつも悩みの種ですよね。

ちなみに、最近出始めた1000BASE-TのSW-Hubでは、
クロス、ストレートを自動的に認識してくれるので、
このような悩みは不要のようです。

Qオラクルの「ORA_12545 ターゲット・ホストまたはターゲットが見つかりません」のエラーについて

マルチスレッドサーバ構成にしているOracle8iのサーバに対して、クライアントからSQLPlusなどで接続しようとすると、ORA-12545のエラーが出てしまいます。
tnsnames.oraファイルには、HOSTをIPアドレスで記述しており、そのIPアドレス宛には、pingもtelnetでも接続できます。プロトコルにはTCPを使用しており、特に問題はないと思うのですが・・・。ちなみに、サーバを専用サーバ構成に変更すると繋がるようになります。
この現象に対する対処方法をご存知の方、ご教授ください。

Aベストアンサー

また、くまです。
>init<SID>.ora のHOST の構文を教えてください。

構文ではなく、あなたがデーターベースを作成するときに定義したSID名で自動生成された、データーベースに関するソースです。
存在場所:$ORACLE_HOME/dbs/init<SID>.ora ---> <SID> = TEST
中に書かれている、
db_name = "TEST" <---- データーベースの名前
instance_name = TEST <---- インスタンス名
service_names = TEST <---- サービス名
このソースにあるものと、tnsnames.ora に定義したSID名と同じでしょうか?と聞いたものです。

>lxinst でcharacterをオリジナルに作成していないでしょうか?

この意味は、Oracleデーターベースでユーザー定義キャラクターの利用を可能にするユーティリティコマンドです。簡単に説明しますと、ターゲットホストが見つからない理由は、要求するクライアントのキャラクターがSJISでも、データーベースに引き渡されると、UNICODEに一旦変換されるからです。今、ユーザ定義による作成されたキャラクターセットをなされた場合、これに対応するキャラクターが見つからないので、そのコマンドで作成されたかどうかを聞いたものです。

>レベルアップ等行われていないでしょうか?。
もちろん、データーベースのレベルアップです。8.1.6を8.1.8に変更していながら、クライアントはそのままのバージョンであるかを聞いたものです。

また、くまです。
>init<SID>.ora のHOST の構文を教えてください。

構文ではなく、あなたがデーターベースを作成するときに定義したSID名で自動生成された、データーベースに関するソースです。
存在場所:$ORACLE_HOME/dbs/init<SID>.ora ---> <SID> = TEST
中に書かれている、
db_name = "TEST" <---- データーベースの名前
instance_name = TEST <---- インスタンス名
service_names = TEST <---- サービス名
このソースにあるものと、tnsnames.ora に定義したSID名と同じでしょうか?と聞いたも...続きを読む

Qクロスケーブルによる直リンクについて

現在、二台のPCを使用していますが、データのやり取りが今まではCDでしか出来ませんでした
HPなどを調べて、なんとかクロスケーブルで二台を直リンクできることまでわかり、データ転送をしています

が、よく、トラブルが起きるのです。
メインがダイナブックのWinXP、ファイル置き場がソーテックのWin98、
いつもはADSLの方に繋いでいるのでLAN接続していないので問題ないですが、いろんなデータが溜まってくるとソーテックのほうにデータを送るようにしているので、
そのときに問題になります。

たまにクロスケーブルで繋ごうとすると、なかなか認識しないんです。
ワークグループを同じ名前にし、IPを下一桁だけずらした数値にし、
サブネットマスクを255.255.255.0にします。

これだけで、たまにちゃんと認識してデータ転送できるんですが、
たまに認識せずに、再起動してみたり設定を解除してもう一度やりなおしたりして、何時間かかかってやっと認識させ、データを移しています。

色々実験していて変なことがわかりました。 マイネットワークにソーテック側のフォルダが表示されていない場合でも、IPをまったく同じ数値に設定すると「競合しています」って出るんです。
つまり、一応ちゃんと繋がってると思うんですが、、、、

今日、知人のHDDにデータを送ろうとして、同様にクロスケーブルで繋ぎ、
同じように設定したんですが、その時はいくら色々設定しなおしてもお互いがお互いを認識することが出来ませんでした。
しかし、そのときも試しに同じIPを設定してみたら 競合しています と出ました
知人の本体はIBMのw2kです。

どうやったら自家製直リンクLAN,すんなり認識してくれるんでしょうか?

現在、二台のPCを使用していますが、データのやり取りが今まではCDでしか出来ませんでした
HPなどを調べて、なんとかクロスケーブルで二台を直リンクできることまでわかり、データ転送をしています

が、よく、トラブルが起きるのです。
メインがダイナブックのWinXP、ファイル置き場がソーテックのWin98、
いつもはADSLの方に繋いでいるのでLAN接続していないので問題ないですが、いろんなデータが溜まってくるとソーテックのほうにデータを送るようにしているので、
そのときに問題になりま...続きを読む

Aベストアンサー

>たまにクロスケーブルで繋ごうとすると、なかなか認識しないんです。
基本的な事をお伺いします。
・これは、ネットワークコンピュータに相手が現れないという事ですか?
・通信は出来ているのでしょうか?
(コマンドプロンプトで「ping 相手のIPアドレス」とやってみましたか)
・検索で相手のコンピュータを検索しても、検索できませんか?
・共有フォルダを例えばX:ドライブにマッピング出来ませんか?
(ネットワークドライブの割当てで、共有名を \\相手のコンピュータ名\共有名
 として、X:ドライブなどに割当てできませんか)

IPアドレスの競合は検出されるという事なので、電気的には繋がって
いると思われます。エクスプローラなどで直接見えないだけであれば、
マイクロソフトネットワークの扱いにくさが問題なのかもしれませんね。

繋がった時に、共有フォルダのショートカットを作っておき、再接続の時は
ショートカットを開く というやり方もありますがどうでしょうか。

また、ファイルを転送するだけであれば、ソーテック側にFTPサーバソフト
を入れてGUIのFTPクライアント(FFFTPなど)で転送する手もあります。

そうじゃなくて、根本的な問題(pingが応答しない)なのでしょうか?

>たまにクロスケーブルで繋ごうとすると、なかなか認識しないんです。
基本的な事をお伺いします。
・これは、ネットワークコンピュータに相手が現れないという事ですか?
・通信は出来ているのでしょうか?
(コマンドプロンプトで「ping 相手のIPアドレス」とやってみましたか)
・検索で相手のコンピュータを検索しても、検索できませんか?
・共有フォルダを例えばX:ドライブにマッピング出来ませんか?
(ネットワークドライブの割当てで、共有名を \\相手のコンピュータ名\共有名
 として、X:ド...続きを読む

QDB2 create tableコマンドでエラーになる

現在redhat9にdb2 v8を導入しています。
そこでテーブルを作成したいのですが、エラーとなりうまくいきません。
どこを修正すればテーブルが作成できるのか教えてください。
また、テーブル作成後に値を入れたいのですが、insertについてのコマンドのアドバイスもお願いします。

CREATE TABLE emp (empno INTEGER ,ename CHAR2(10) ,mgp INTEGER,sal NUMERIC(5,2) ,deptn INTEGER);

INSERT INTO EMP VALUES(221000,'TAYLOR',220000,880.60,220000);

よろしくお願いします。

Aベストアンサー

CREATE文を拝見した所、「ename」の列のデータ型が間違っています。

CHAR(10)かVARCHAR(10)になります。
CHARとVARCHARの違いが分からないようでしたら再度質問していただけると助かります。

おそらくOracleのVARCHAR型とVARCHAR2型が存在しているというところで混乱されているかと存しますが。。


INSERT文については特に問題はなのですが出来れば以下のように記述するとよろしいかと思います。


INSERT INTO EMPempno,ename,mgp,sal,deptn) VALUES(221000,'TAYLOR',220000,880.60,220000);

以上宜しくお願い致します。

Qリンクにふれると文字表示!(クロスブラウザで)

リンクにふれると文字表示をさせたいのですが、NNでは
指定した色(黄色)と位置(中心)に表示できないので困っています。
タグは以下の通りです。
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type"CONTENT="text/html;CHARSET=x-sjis">
<style type="text/css"><!--
body,tr,td {font-weight:bold; color:yellow}---></style>
<TITLE></TITLE>
<SCRIPT Language="JavaScript">
<!--
isIE4 = (navigator.appVersion.charAt(0)>=4 && (navigator.appVersion).indexOf("MSIE") != -1)
isNN4 = (navigator.appVersion.charAt(0)>=4 && (navigator.appName).indexOf("Netscape")!=-1);

function link_info(m) {
if(m==null) m = "";

if(isIE4) {
el = document.all("LINKMSG1");
el.innerHTML = m;
}
else if(isNN4) {
lay = document.layers["PARENT_LINKMSG"].document.layers["LINKMSG1"];
lay.document.open();
lay.document.write("<font style='font-size:12pt'>"+m+"</font>");
lay.document.close();
}
}
//-->
</SCRIPT>
</HEAD>

<BODY bgcolor="red" BORDER="0" topmargin="7" link="white" alink="yellow" vlink="yellow">
<center>
<ilayer name="PARENT_LINKMSG" width="100%" height="16">
<layer name="LINKMSG1"></layer>
<span id="LINKMSG1"></span>
</ilayer>
</center>
<br>
<center><font style="font-size: 10pt">
<a href="top.html" target="main" onMouseover="link_info('■■TOP■■')" onMouseout="link_info()">
 TOP</a> |
<a href="rink.html" target="main" onMouseover="link_info('■■リンク集です。■■')" onMouseout="link_info()">
 リンク集</a>
</font>
</center>
</BODY>
</HTML>

リンクにふれると文字表示をさせたいのですが、NNでは
指定した色(黄色)と位置(中心)に表示できないので困っています。
タグは以下の通りです。
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type"CONTENT="text/html;CHARSET=x-sjis">
<style type="text/css"><!--
body,tr,td {font-weight:bold; color:yellow}---></style>
<TITLE></TITLE>
<SCRIPT Language="JavaScript">
<!--
isIE4 = (navigator.appVersion.charAt(0)>=4 && (navigator.appVersion).indexOf("MSIE") != -1)
isNN4 = (navigato...続きを読む

Aベストアンサー

NNの4.75では以下の記述で上手く表示できましたが4.5ではどうでしょうか?

lay.document.write("<font style='font-size:12pt'>"+m+"</font>");

lay.document.write("<center><font style='color:yellow; font-size:12pt'>"+m+"</font></center>");
に変えただけです。

QDB2で SQL1032N start database managerエラー

はじめまして。初めて書き込みさせていただきます。
WebSphereでDB2をデータベースとして行っているのですけど、今日起動してDB2にconnectしようと思ったら

COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL1032N start database manager コマンドが発行されていません。 SQLSTATE=57019

というエラーメッセージが出てきてconnectできなくなってしまいました。どなたか改善方法知っている方いらっしゃいましたら教えてください。よろしくお願いします。

Aベストアンサー

こんにちは。業務でDB2を使用しているものです。(でもまだ素人)

表示されたエラーは、インスタンスが開始されていない、という内容です。DB2は、インスタンスという単位を作成し、その中にデータベースを作成しています。そのため、インスタンスが開始されていない場合、その中にあるデータベースにCONNECTすることができなくなります。インスタンスを開始すれば、無事にデータベースに接続できるはずです。

DB2サーバーのOSは何でしょうか?UNIXであれば、OSのコマンド・プロンプト上から、Windowsであれば、DB2のコマンド・プロンプト(コマンド・ウィンドウ)上から、db2startというコマンドを実行することで、DB2を開始することができます。

もし、それ以外のOSを使用されているようであれば、手元に資料がないのですが、調べることも可能だと思いますので、補足にてお教えください。また、これでも解決しない場合も、補足にてご連絡くだされば、もう少しお答えできるかもしれません。

QUSBリンクケーブルとは

USBリンクケーブルとは、PCを直接つなぐケーブルなのでしょうか?
LANのクロスケーブルでPCをつなぐより何かメリットはあるのでしょうか?

Aベストアンサー

メリットと言えるほどでもないかもしれませんが、
IPアドレスの設定などが不要ということくらいでしょうか。
初心者の方でしたら、メリットになるかもしれません。

Qオラクル ORA-01034

MiracleLinux1.1 + Oracle 8i(r8.1.7)を使っています。

 先日も質問させていただいて解決したかと思ったのですが
解決しておりませんでした。すいません。

 現在、Oracle8iをインストールして、その際にユーザー
oracleと、グループdba, oinstallを作っています。
ユーザーoracleになれば、何の問題も起こらないのですが、
新しいユーザー(例えばWEB用の webuser など)を作成
すると、このユーザーがログインできません。
% sqlplus system/manager
ORA-01034: ORACLE not available
というエラーになります。

 環境変数は ユーザーoracleと同じにしています。
違うのは USER, MAIL, PWD くらいです。

 webuserを dba, oinstallに所属させてみてもだめな
ようです。 /etc/group

%sqlplus system/manager@sid
の書式を使ってみると
ORA-12154: TNS: could not resolve service name
というエラーになってログインできません。

 なにかアドバイスなどいただければ幸いです。

MiracleLinux1.1 + Oracle 8i(r8.1.7)を使っています。

 先日も質問させていただいて解決したかと思ったのですが
解決しておりませんでした。すいません。

 現在、Oracle8iをインストールして、その際にユーザー
oracleと、グループdba, oinstallを作っています。
ユーザーoracleになれば、何の問題も起こらないのですが、
新しいユーザー(例えばWEB用の webuser など)を作成
すると、このユーザーがログインできません。
% sqlplus system/manager
ORA-01034: ORACLE not available
というエラ...続きを読む

Aベストアンサー

% sqlplus system/manager
ORA-01034: ORACLE not available

というエラーがでるということは、オラクルが起動していません。

% sqlplus internal/oracle
SQL>startup

の後に試してみてください。


人気Q&Aランキング

おすすめ情報