Quản trị Database Link Oracle database

Database Link trong Oracle cho phép bạn truy cập dữ liệu từ một cơ sở dữ liệu khác như thể nó là một phần của cơ sở dữ liệu hiện tại. Điều này rất hữu ích khi bạn cần thực hiện các truy vấn hoặc thao tác dữ liệu trên nhiều cơ sở dữ liệu từ một điểm duy nhất. Dưới đây là các bước cấu hình và quản trị Database Link trong Oracle Database:

Một số đặc điểm:

Database link chỉ được tạo trên database hiện tại.

Database link không được sử dụng để sao chép dữ liệu giữa các database.

Database link chỉ được sử dụng để truy cập dữ liệu trên database remote (db kết nối đến).

Từ khoá Public => Sẽ được sử dụng bởi nhiều user.

Nếu không khai báo thì tự động database link được tạo ra sẽ là Private.

1. Tạo Database Link

Bước 1: Tạo người dùng và cấp quyền

Trên cơ sở dữ liệu nguồn (cơ sở dữ liệu mà bạn sẽ kết nối đến remote), bạn cần tạo một người dùng có quyền truy cập vào các bảng và dữ liệu cần thiết.

CREATE USER remote_user IDENTIFIED BY password;

GRANT CONNECT, RESOURCE TO remote_user;

GRANT SELECT ON some_table TO remote_user; — cấp quyền chọn lọc trên bảng cụ thể

Bước 2: Tạo Database Link trên cơ sở dữ liệu đích (là nơi bạn đang đứng local)

Trên cơ sở dữ liệu đích (cơ sở dữ liệu mà từ đó bạn sẽ kết nối đến cơ sở dữ liệu nguồn), bạn sẽ tạo Database Link bằng lệnh CREATE DATABASE LINK.

CREATE DATABASE LINK remote_db_link

CONNECT TO remote_user IDENTIFIED BY password

USING ‘remote_tns’;

remote_db_link: Tên của Database Link.

remote_user: Tên người dùng trên cơ sở dữ liệu nguồn.

password: Mật khẩu của người dùng trên cơ sở dữ liệu nguồn.

remote_tns: Tên TNS của cơ sở dữ liệu nguồn, được định nghĩa trong file tnsnames.ora.

2. Định nghĩa TNS trong file tnsnames.ora

Để kết nối đến cơ sở dữ liệu nguồn, bạn cần cấu hình TNS (Transparent Network Substrate) trong file tnsnames.ora trên máy chủ cơ sở dữ liệu đích.

File tnsnames.ora thường nằm trong thư mục $ORACLE_HOME/network/admin.

Ví dụ về cấu hình TNS cho cơ sở dữ liệu nguồn:

remote_tns =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = remote_host)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = remote_service_name)

)

)

remote_tns: Tên TNS mà bạn sử dụng trong lệnh CREATE DATABASE LINK.

remote_host: Tên hoặc địa chỉ IP của máy chủ cơ sở dữ liệu nguồn.

remote_service_name: Tên dịch vụ của cơ sở dữ liệu nguồn.

3. Sử dụng Database Link

Sau khi tạo Database Link, bạn có thể sử dụng nó để thực hiện các truy vấn và thao tác trên cơ sở dữ liệu nguồn.

Ví dụ truy vấn:

SELECT * FROM some_table@remote_db_link;

 

UPDATE some_table@remote_db_link

SET column_name = ‘new_value’

WHERE condition;

 

INSERT INTO local_table (column1, column2)

SELECT column1, column2

FROM some_table@remote_db_link;

4. Quản trị Database Link

Kiểm tra các Database Link:

Để xem danh sách các Database Link hiện có, bạn có thể truy vấn các bảng dữ liệu động sau:

Tất cả các Database Link:

SELECT * FROM DBA_DB_LINKS;

Database Link thuộc người dùng hiện tại:

SELECT * FROM USER_DB_LINKS;

Xóa Database Link:

Để xóa một Database Link, bạn sử dụng lệnh DROP DATABASE LINK.

DROP DATABASE LINK remote_db_link;

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA), là người đang tập tành viết lách trên blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. #Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn cần người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận