Oracleでdblinkを確立しましたが、どうやって使いますか?
OracleアプリケーションサーバOS
1.データベースのglobal_を確認する。name
3.dblinkの作成
LINK CONN_MY_LINKはローカルに確立されたdblinkの名前です。
例2:
毎回db_を使うリンククエリ時に接続を解放し、dbms_を呼び出します。sessionパッケージのクローズ関数で大丈夫です。
例:dbms_session.closedatabaselinkMY_LINK)
dblinkを使用する場合は、select文でもcommt、またはrollbackを行います。時間が長くなると他のプロセスを阻害します。
8.dblinkに問い合わせると、サーバ名を処理できないソリューションが発生します。
AデータベースがA 1サーバ上にあるように、対応するデータベースをサーバ上に確立するには、Bデータベースはb 1サーバ上にあり、AデータベースにBデータベースを接続するなら、サーバA 1上に対応するtsnsnames構成項目を作成する必要があります。
(Win環境下のOracleでは、Oracle\Network\ADMIN\tsnsnames.oraファイルで構成されています)
自身のクライアントのtnsname.oraに接続を確立し、Aデータベースのすべての
サーバA 1のtnsname.oraに接続が確立されています。
9.ロックの進行とロック解除を確認する
(1)方式一:
記録があればロックがあることを表し、SIDとserial菗を記録し、記録したIDをQの下のSID、serialに置き換えることでLOCKを解除することができます。
1.データベースのglobal_を確認する。name
SELECT * FROM GLOBAL_NAME;
2.globalを確認するnameパラメータはtrueですか?それともfalseですか?
show parameter global_name
trueであれば、ローカルに確立されたdblink名はリモートのglobal_nameが一致したらいいです。 3.dblinkの作成
CREATE DATABASE LINK
CONNECT TO
IDENTIFIED BY
USING ‘ ';
例1:
CREATE PUBLIC DATABASE LINK CONN_MY_LINK
CONNECT TO MYUSER IDENTIFIED BY MYPASSWORD
USING 'MYORAL';
MYORALはクライアントサーバによって確立されたアクセスサーバのローカル名であり、LINK CONN_MY_LINKはローカルに確立されたdblinkの名前です。
例2:
CREATE PUBLIC DATABASE LINK LINK_HSMIS
CONNECT TO BI
IDENTIFIED BY BI
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.188.245.201)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = hsmis)
)
)';
接続文字列をローカル名で直接に置換します。
//
grant CREATE DATABASE LINK to smis;
grant CREATE SYNONYM to smis;
4.dblinkの作成に成功したかどうかを問い合わせる
SELECT * FROM DUAL@
SELECT * FROM @
5.dblinkを削除する
drop public database link CONN_MY_LINK
6.類義語を使って簡略化する:
CREATE SYNONYM S_MY_TABLE FOR TABLENAME@ ;
7.db_リンククエリ時にロックの解決策が現れます。毎回db_を使うリンククエリ時に接続を解放し、dbms_を呼び出します。sessionパッケージのクローズ関数で大丈夫です。
例:dbms_session.closedatabaselinkMY_LINK)
dblinkを使用する場合は、select文でもcommt、またはrollbackを行います。時間が長くなると他のプロセスを阻害します。
8.dblinkに問い合わせると、サーバ名を処理できないソリューションが発生します。
AデータベースがA 1サーバ上にあるように、対応するデータベースをサーバ上に確立するには、Bデータベースはb 1サーバ上にあり、AデータベースにBデータベースを接続するなら、サーバA 1上に対応するtsnsnames構成項目を作成する必要があります。
(Win環境下のOracleでは、Oracle\Network\ADMIN\tsnsnames.oraファイルで構成されています)
A_TO_B =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =A2 IP)(PORT = 1521)) )
(CONNECT_DATA =
(SERVICE_NAME = B )))
その後、対応するdblinkを作成し、犯しやすいエラーは以下の通りです。自身のクライアントのtnsname.oraに接続を確立し、Aデータベースのすべての
サーバA 1のtnsname.oraに接続が確立されています。
9.ロックの進行とロック解除を確認する
(1)方式一:
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;
(2)方式二:
select * from v$session t1, v$locked_object t2
where t1.sid = t2.SESSION_ID;
(3)プロセスのロック解除 記録があればロックがあることを表し、SIDとserial菗を記録し、記録したIDをQの下のSID、serialに置き換えることでLOCKを解除することができます。
alter system kill session 'SID,serial';
以上は小编でご绍介したoracleの中dblinkアプリケーションの小结び目です。皆さんに助けてほしいです。もし何か疑问があれば、メッセージをください。