Bỏ qua để đến nội dung

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ó
  • 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.

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

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.

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ặc sid cho 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ặc disable. Xem bên dưới.
  • Chứng chỉ CA (ca_pem, tùy chọn, chỉ với verify-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ới verify-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ế độ Ý 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.

  • 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 SESSION hoặc SELECT trê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.