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 đượ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 [email protected]_link;

 

hoặc

insert into [email protected]_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:

Đọc thêm  Cách điều chỉnh các tham số cấp phát Memory trong Oracle

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 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é.

 

    KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN  Xem ngay!

 

   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é.

 

 

 

Đặng Xuân Duy

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *