برقراری ارتباط بین دو دیتابیس بدون استفاده از DBlink

در محیط SQLcl می توان با کمک دستور bridge بین دو دیتابیس ارتباط برقرار کرد.

ابتدا فرمت کلی دستور bridge را مرور می کنیم:

BRIDGE <targetTableName> as “<jdbcURL>”(<sqlQuery>);

به عنوان مثال، با دستور زیر، جدولی را از دیتابیس db19c، در دیتابیس جاری ایجاد می کنیم:

SQL> tables
no rows selected

SQL> bridge tbl2 as “jdbc:oracle:thin:usef/a@192.168.1.20:1521/orcl”(select * from TBL1);

Created table tbl2 and inserted 9 row(s)

SQL> tables
TABLES                                                                         
———–
TBL2

علاوه بر دستور bridge دستور copy هم به عنوان یک دستور قدیمی برای برقراری ارتباط بین چند دیتابیس قابل استفاده است. البته این دستور علاوه بر محیط SQLcl، در محیط sqlplus قابل اجرا است:

SQL> copy from usef/a@192.168.1.20:1521/db1  to usef/a@192.168.1.22:1521/db2 create tbl7 using select * from tbl1; 

Array fetch/bind size is 15. (arraysize is 15)

Will commit when done. (copycommit is 0)

Maximum long size is 80. (long is 80)

Table TBL7 created.

   9 rows selected from usef@192.168.1.22:1521/db2.

   9 rows inserted into TBL7.

   9 rows committed into TBL7 at usef@192.168.1.20:1521/db1.

ارتباط با نویسنده مطلب:vahidusefzadeh@ کانال تخصصی اوراکل و لینوکس: OracleDB@

Comments (3)

  1. سلام مهندس بسیار عالی، با اجازتون من این توضیح رو تکمیل میکنم که اگر می خواهید در روش دوم کاراکتر های فارسی علامت سوال درج نشه، قبل از ورود به sqlplus متغیر nls_lang رو با مقدار مناسب ست کنید، که در سرور من به این مقدار تنظیم کردم
    export NLS_LANG=AMERICAN_AMERICA.AR8MSWIN1256

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.