Oracle Database
Kết nối Oracle Database với Fresco BI. Fresco BI chỉ đọc bảng và view, rồi import vào một bảng dữ liệu (Data Table).
| Tính năng | Hỗ trợ |
|---|---|
| Import | Có |
| DirectQuery | Không |
| SSL/TLS | verify-full (mặc định) hoặc disable |
| SSH tunnel | Không |
| Cloud | Có |
| On-premises (qua Gateway) | Có |
Điều kiện cần
Phần tiêu đề “Điều kiện cần”- Một tài khoản đăng nhập bằng mật khẩu. Không dùng wallet hay TNS alias: Fresco BI kết nối bằng host, port và service name hoặc SID.
- Host và port của listener, cùng service name (hoặc SID với database cũ). Với database multitenant, dùng service của pluggable database (PDB) chứa dữ liệu.
- Với TLS (mặc định), cần một listener TCPS. Listener này thường ở cổng 2484, hoặc 1522 trên Autonomous Database.
- Một tài khoản quản trị để chạy Bước 1.
Bước 1: Tạo tài khoản chỉ đọc
Phần tiêu đề “Bước 1: Tạo tài khoản chỉ đọc”Kết nối vào database (PDB nếu là database multitenant) bằng tài khoản quản trị:
CREATE USER fresco_reader IDENTIFIED BY "<strong-password>";GRANT CREATE SESSION TO fresco_reader;GRANT SELECT ON <schema>.<table> TO fresco_reader;Lặp lại lệnh grant cuối cho từng bảng và view cần đọc. Từ Oracle Database 23ai, một lệnh cấp được cho cả schema, gồm cả bảng tạo sau này:
GRANT SELECT ANY TABLE ON SCHEMA <schema> TO fresco_reader;Với phiên bản cũ hơn, cấp quyền cho mọi bảng và view hiện có của schema một lần (chạy lại khi có bảng mới):
BEGIN FOR o IN (SELECT object_name FROM all_objects WHERE owner = '<SCHEMA>' AND object_type IN ('TABLE', 'VIEW')) LOOP EXECUTE IMMEDIATE 'GRANT SELECT ON "<SCHEMA>"."' || o.object_name || '" TO fresco_reader'; END LOOP;END;/Không cấp SELECT ANY TABLE (khi không có ON SCHEMA), DBA hay quyền ghi nào. Fresco BI chỉ liệt kê các schema có bảng hoặc view mà tài khoản nhìn thấy, và ẩn các schema do Oracle quản lý.
Bước 2: Cho phép truy cập mạng
Phần tiêu đề “Bước 2: Cho phép truy cập mạng”Cloud. Listener phải truy cập được từ internet. Cho phép kết nối vào từ các địa chỉ IP đi ra của Fresco BI (hướng dẫn bên cạnh form nguồn dữ liệu có liệt kê) ở cổng listener (1521, hoặc cổng TCPS như 2484). Ví dụ thêm ingress rule trong security list hoặc network security group của OCI, hoặc inbound rule trong security group của AWS. Với Autonomous Database, thêm các địa chỉ này vào access control list.
On-premises (qua Gateway). Với database nằm trong mạng nội bộ, chọn kiểu kết nối On-premises (qua Gateway). Khung này sẽ chuyển sang hướng dẫn Gateway.
Oracle không hỗ trợ SSH tunnel.
Bước 3: Điền form
Phần tiêu đề “Bước 3: Điền form”Form Oracle chưa có trong ứng dụng. Một nguồn Oracle có các thiết lập sau:
- Host (
host): tên DNS hoặc IP public của listener. - Port (
port): mặc định 1521. Khi dùng TLS, nhập cổng TCPS (thường 2484, hoặc 1522 trên Autonomous Database). - Kiểu service (
service_type):service_name(mặc định) hoặcsidcho database cũ. - Service (
service): service name hoặc SID. Gồm chữ, số và_ . $ # -, tối đa 128 ký tự. - Tài khoản (
user) và Mật khẩu (password): tài khoản tạo ở Bước 1. - Chế độ SSL (
ssl_mode):verify-full(mặc định) hoặcdisable. Xem bên dưới. - Chứng chỉ CA (
ca_pem, tùy chọn, chỉ vớiverify-full): chứng chỉ CA đã ký chứng chỉ máy chủ, dạng PEM. Để trống thì dùng kho chứng chỉ hệ thống. - DN chứng chỉ máy chủ (
server_cert_dn, tùy chọn, chỉ vớiverify-full): so khớp subject DN của chứng chỉ thay cho tên máy chủ, ví dụCN=db,O=Acme. - Statement timeout (
statement_timeout_seconds, tùy chọn): 10 đến 7200 giây cho mỗi lần gọi database. Để trống thì chỉ dùng giới hạn thời gian của tác vụ. - Kiểu kết nối: Cloud, hoặc On-premises (qua Gateway) kèm một cụm gateway.
Chế độ SSL
Phần tiêu đề “Chế độ SSL”| Chế độ | Ý nghĩa |
|---|---|
verify-full (mặc định) |
TCPS: mã hóa, kiểm tra CA và tên máy chủ (hoặc DN chứng chỉ) |
disable |
TCP thường, không mã hóa |
Chứng chỉ CA và DN chứng chỉ chỉ dùng với verify-full. Cần TLS 1.2 trở lên.
Xử lý sự cố
Phần tiêu đề “Xử lý sự cố”- Máy chủ từ chối tài khoản hoặc mật khẩu. Kiểm tra tài khoản, mật khẩu, và tài khoản không bị khóa hay hết hạn mật khẩu.
- Tài khoản không có quyền đọc đối tượng này. Tài khoản thiếu
CREATE SESSIONhoặcSELECTtrên bảng: chạy các lệnh grant ở Bước 1. - Không tìm thấy database hoặc đối tượng này trên máy chủ. Listener không biết service name hoặc SID này. Kiểm tra Kiểu service và Service (database multitenant thì dùng service của PDB).
- Không mở được kết nối tới máy chủ và cổng này. Kiểm tra máy chủ, cổng, và firewall đã cho phép IP của Fresco BI chưa. Không có listener ở cổng đó, hoặc firewall từ chối.
- Máy chủ không phản hồi kịp. Thường do firewall chặn im lặng hoặc sai máy chủ, cổng. Cho phép các địa chỉ IP đi ra của Fresco BI (hướng dẫn bên cạnh form nguồn dữ liệu có liệt kê) ở cổng listener.
- Không thiết lập được kết nối SSL với chế độ đã chọn. Kiểm tra chế độ SSL và chứng chỉ CA. Với
verify-full, dùng cổng TCPS, dán đúng chứng chỉ CA, và nhập tên máy chủ có trong chứng chỉ (hoặc đặt DN chứng chỉ). - Không phân giải được tên máy chủ (DNS). Kiểm tra lại ô Máy chủ. Dùng tên DNS public hoặc IP.
- Địa chỉ máy chủ thuộc dải bị chặn (nội bộ, loopback hoặc metadata). Database trong mạng nội bộ cần kết nối On-premises qua Gateway. Chọn On-premises (qua Gateway).
- Vượt giới hạn kích thước hoặc số kết nối đồng thời. Database chạm giới hạn session, process hoặc bộ nhớ, hoặc lần đọc hết undo (“snapshot too old”): thử lại sau hoặc nhờ DBA nâng giới hạn.

