Oracle

4

Click here to load reader

Transcript of Oracle

Koneksi Antar Database Menggunakan DatabaseLink 5 Votes

Persiapan sebelum membuat suatu database link adalah melakukan pengecekkankonektifitas antar server database. gunakan ping untuk mengetahui apakah server A dapat berkomunikasi dengan server B. dan gunakan telnet untuk mengetahui apakah port yang digunakan (1521) sudah dibuka atau belum.misal server database asal dengan hostname myoracle01 dengan IP 10.22.11.10 dan server database tujuan dengan hostname myoracle02 dengan IP 10.22.11.11oracle@myoracle01:~> ping 10.22.11.11 PING 10.22.11.11 (10.22.11.11) 56(84) bytes of data. 64 bytes from 10.22.11.11: icmp_seq=1 ttl=253 time=3.66 ms 64 bytes from 10.22.11.11: icmp_seq=2 ttl=253 time=0.940 ms ^C --- 10.22.11.11 ping statistics --- 2packets transmitted,2 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 0.940/1.932/3.660/1.226 ms oracle@myoracle01:~> telnet 10.22.11.11 1521 Trying 10.22.11.11... Connected to 10.22.11.11. Escape character is '^]'.^C Connection closed by foreign host. oracle@myoracle01:~>ok, masalah koneksi antar server beres, setelah itu kita harus menambahkan tns name dari database tujuan ke file tnsname.ora di database asal. cukup menggunakan text editor notepad jika di windows, dan vi editor jika unix.lokasi tnsname.ora terletak di directory$ORACLE_HOME/network/admin/ORADB02= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.22.11.11)(PORT = 1521)) ) (CONNECT_DATA = (SID = ORADB02) ) )setelah tnsname di atas ditambahkan, lakukan tes tns tersebut menggunakan tnsping seperti pada contoh di bawah :oracle@myoracle01:~> tnsping oradb02TNS Ping Utility for Linux: Version 10.1.0.4.0 - Production on 12-NOV-2011 03:52:02Copyright (c) 1997, 2003, Oracle. All rights reserved.Used parameter files: /home/oracle/OracleHomes/db10g/network/admin/sqlnet.oraUsed TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.22.11.11)(PORT = 1521))) (CONNECT_DATA = (SID = ORADB02))) OK (0 msec) oracle@myoracle01:~>ok tns sudah berhasil dibuat. sekarang saatnya membuat dblink.CREATE [PUBLIC]DATABASE LINK CONNECT TO IDENTIFIED BY USING 'tns name';misal kita ingin mengakses object dari user EKO yang ada di ORADB02, maka dblink nya akan seperti di bawah ini :CREATE DATABASE LINKlink_eko_oradb02 CONNECT TOEKO IDENTIFIED BYpasswordnya#eko USING 'ORADB02';jika tipe dblink-nya publik, maka dapat digunakan oleh semua user. Sedangkan jika tidak maka hanya ownernya saja yang dapat menggunakannya.contoh penggunaan database link :selectnama,alamat from userB.employee@link_eko_oradb02 where tampang like 'CANTIK' and jeniskelamin like 'PEREMPUAN';userB, user pemilik table employee. employee@link_eko_oradb02 menunjukkan tabel employee dari database yang dituju oleh dblink link_eko_oradb02

Bingung ketika koneksi penuh di server database production (krn database development di tmp yg sama), gimana ya caranya ?? akhirnya daripada lemot n bikin bete, turunin data production ke kompi local and kerja jdi lncar deh. tpi klo pke import n export data lma (sama aj bikin ribet). Ada temen yng nyaranin pake DBlink. searching2 akhirnya dapet gimana bikin database link, maklum msh newbie.. :D. Ini caranya :/* start here */CREATE DATABASE LINK XE253CONNECT TO TRANSCIDENTIFIED BY (diisi dgn password)USING (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.xx.xxx.xxx)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)))';/* end here */gmana cara turuninnya : membuat table baru :create table tbl_demografi as select * from tbl_demografi@XE253 menselect table :select * from tbl_demografi@XE253 untuk memanipulasi data :INSERT INTO pegawai@XE253 VALUES (122,Hadi,Danau Batoer);