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:

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.

Đọc thêm  Quản lý tablespace trong PostgreSQL

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

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 2: ADMIN 1 + DATA GUARD 

 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Ý:

Form đăng ký

 

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

Đọc thêm  Quản lý Schema trong PostgreSQL
Đặng Xuân Duy
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận