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.

Đọc thêm  Case study: Khôi phục Oracle database khi server bị hỏng hoàn toàn

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

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

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
0
Rất thích suy nghĩ của bạn, hãy bình luận.x