Mục lục
Database link là gì
Database link là 1 đối tượng trong database, giúp bạn đang từ database này (local database) truy vấn và thao tác dữ liệu trên 1 database khác(database đích).
Database đích có thể là Oracle hoặc các RDBMS phổ biến khác như MS Access, SQL Server, MySQL,…
Trong bài viết này, tôi sẽ hướng dẫn các bạn tạo database link giữa các database Oracle với nhau nhé.
Cách sử dụng database link:
Database link được tạo trên local database và kết nối đến database đích. Nó giống như 1 công cụ client thông thường, cũng cần username và password để truy cập vào database đích.
Cú pháp tạo database link
CREATE DATABASE LINK <remote_global_name> CONNECT TO <user> IDENTIFIED BY <pwd> USING '<connect_string_for_remote_db>';
Database đích có thông tin kết nối như sau:
- IP: 192.168.100.11
- Port: 1521
- Service name: testdb
- Username: SOE
- Password: soe
Hãy xem 2 câu lệnh tạo database link sau:
Cách 1
Bạn thực hiện câu này trên local database
CREATE DATABASE LINK test_link CONNECT TO soe IDENTIFIED BY soe USING '(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.11)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=testdb)) )';
Sau khi tạo xong, bạn có thể truy cập hay thao tác trên các đối tượng thuộc database đích (mà user SOE được quyền truy cập).
select * from CUSTOMERS@test_link;
hoặc
insert into CUSTOMERS@test_link values (
Cách 2
Bạn có thể sử dụng TNS Names thay vì chỉ ra đầy đủ thông tin kết nối đến database đích, trong câu lệnh tạo database link:
Mở file tnsnames.ora trên local database
cd $ORACLE_HOME/network/admin vi tnsnames.ora
Thêm 1 TNS Name vào file tnsnames.ora
TESTDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.11)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = testdb) ) )
Bạn thực hiện câu này trên local database
CREATE DATABASE LINK test_link CONNECT TO soe IDENTIFIED BY soe USING 'testdb';
Kết quả cũng tương tự cách 1.
Chú ý khác
Ngoài ra, Database link cũng có 2 loại: Public database link và Private database link
Private database link: Chỉ có thể được sử dụng bởi chủ sở hữu của database link.
VD: Đây là 1 private database link
CREATE DATABASE LINK test_link CONNECT TO soe IDENTIFIED BY soe USING 'testdb';
Public database link: Có thể được sử dụng bởi tất cả user trong database. Hạn chế sử dụng loại này.
VD: Đây là 1 public database link
CREATE PUBLIC DATABASE LINK test_link CONNECT TO soe IDENTIFIED BY soe USING 'testdb';
Nguồn: https://dangxuanduy.com/
Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây, để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.
KHOÁ DÀNH CHO NGƯỜI MỚI
KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN (ADMIN 1)
CÁC KHOÁ NÂNG CAO:
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ KIẾN TRÚC MULTITENANT 12c
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ HỆ THỐNG DATA GUARD
CÁC KHOÁ COMBO:
COMBO 1: ADMIN 1 + MULTITENANT 12c
COMBO 3: ADMIN 1 + MULTITENANT 12c + DATA GUARD
LỊCH HỌC:
Mời bạn xem tại đây: LỊCH HỌC CÁC LỚP ORACLE
ĐĂNG KÝ:
https://forms.gle/MtCAoRQFenP886y79
Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.