Thứ Tư, 1 tháng 9, 2021

Flashback Data Archive (FDA) trong Oracle Database 11g

Flashback Data Archive (FDA) , còn được gọi là Flashback Archive (FBA), được giới thiệu từ Oracle 11g để cung cấp khả năng lưu trữ lâu dài dữ liệu undo, cho phép thực hiện các hoạt động flashback dựa trên undo trong một khoảng thời gian dài.
Tạo tablespace để FDA lưu 1 năm, tablespace khác lưu 2 năm, user test cần quyền flashback archive

CREATE TABLESPACE fda_ts
  DATAFILE '/u01/app/oracle/oradata/DB11G/fda1_01.dbf'
  SIZE 1M AUTOEXTEND ON NEXT 1M;

CREATE FLASHBACK ARCHIVE DEFAULT fda_1year TABLESPACE fda_ts
  QUOTA 10G RETENTION 1 YEAR;

CREATE FLASHBACK ARCHIVE fda_2year TABLESPACE fda_ts
  RETENTION 2 YEAR;

Có 3 kiểu cần quản lý:

  • Quản lý Tablespace .

    ALTER FLASHBACK ARCHIVE fba_name SET DEFAULT;
    
    ALTER FLASHBACK ARCHIVE fba_name ADD TABLESPACE ts_name QUOTA 10G;
    
    ALTER FLASHBACK ARCHIVE fba_name ADD TABLESPACE ts_name;
    
    ALTER FLASHBACK ARCHIVE fba_name MODIFY TABLESPACE ts_name QUOTA 20G;
    
    ALTER FLASHBACK ARCHIVE fba_name MODIFY TABLESPACE ts_name;
    
    ALTER FLASHBACK ARCHIVE fba_name REMOVE TABLESPACE ts_name;
  • Chỉnh sửa thành 2 năm

    ALTER FLASHBACK ARCHIVE fba_name MODIFY RETENTION 2 YEAR;
  • Xóa data.

    -- Xóa toàn bộ dữ liệu lịch sử 
    ALTER FLASHBACK ARCHIVE fba_name PURGE ALL;
    
    -- Xóa mọi dữ liệu theo thời gian nhất định
    ALTER FLASHBACK ARCHIVE fba_name PURGE BEFORE TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' DAY);
    
    -- Xóa mọi dữ liệu trước SCN.
    ALTER FLASHBACK ARCHIVE fba_name PURGE BEFORE SCN 728969;

Drop tablespace lưu flashback:

DROP FLASHBACK ARCHIVE fba_name;

Tạo user:

CONN sys/password AS SYSDBA

CREATE USER fda_test_user IDENTIFIED BY fda_test_user
  QUOTA UNLIMITED ON users
  QUOTA UNLIMITED ON fda_ts;

GRANT CONNECT, CREATE TABLE TO fda_test_user;
GRANT FLASHBACK ARCHIVE ON fda_1year TO fda_test_user;

Tạo bảng:

CONN fda_test_user/fda_test_user

CREATE TABLE test_tab_1 (
  id          NUMBER,
  desription  VARCHAR2(50),
  CONSTRAINT test_tab_1_pk PRIMARY KEY (id)
)
FLASHBACK ARCHIVE;

Nếu tạo bảng thiếu quyền sẽ hiển thị lỗi:

CONN fda_test_user/fda_test_user

CREATE TABLE test_tab_2 (
  id          NUMBER,
  desription  VARCHAR2(50),
  CONSTRAINT test_tab_2_pk PRIMARY KEY (id)
)
FLASHBACK ARCHIVE fda_2year;
CREATE TABLE test_tab_2 (
*
ERROR at line 1:
ORA-55620: No privilege to use Flashback Archive


SQL>

Thiết lập flashback cho bảng:

-- Kích hoạt sử dụng FBDA mặc định.
ALTER TABLE table_name FLASHBACK ARCHIVE; -- Cho phép sử dụng FBDA cụ thể.
ALTER TABLE table_name FLASHBACK ARCHIVE fda_name; -- Tắt FBDA
ALTER TABLE table_name NO FLASHBACK ARCHIVE;

Nếu alter thiếu quyền FLASHBACK ARCHIVE ADMINISTER thì báo lỗi:

SQL> ALTER TABLE test_tab_1 NO FLASHBACK ARCHIVE;
ALTER TABLE test_tab_1 NO FLASHBACK ARCHIVE
*
ERROR at line 1:
ORA-55620: No privilege to use Flashback Archive


SQL>

Kiểm tra lại từ view %_FLASHBACK_ARCHIVE:

CONN sys/password AS SYSDBA

COLUMN flashback_archive_name FORMAT A20

SELECT flashback_archive_name, retention_in_days, status
FROM   dba_flashback_archive;

FLASHBACK_ARCHIVE_NA RETENTION_IN_DAYS STATUS
-------------------- ----------------- -------
FDA_2YEAR                          730
FDA_1YEAR                          365 DEFAULT

2 rows selected.

SQL>

View %_FLASHBACK_ARCHIVE_TS hiển thị thông tin tablespaces và quotas của flashback archive

COLUMN flashback_archive_name FORMAT A20
COLUMN quota_in_mb FORMAT A10

SELECT flashback_archive_name, tablespace_name, quota_in_mb
FROM   dba_flashback_archive_ts;

FLASHBACK_ARCHIVE_NA TABLESPACE_NAME                QUOTA_IN_M
-------------------- ------------------------------ ----------
FDA_2YEAR            FDA_TS
FDA_1YEAR            FDA_TS                         10240

2 rows selected.

SQL>

View %_FLASHBACK_ARCHIVE_TABLES hiển thị flashback archive, tên bảng table lưu dữ liệu lịch sử:

COLUMN table_name FORMAT A15
COLUMN owner_name FORMAT A15
COLUMN flashback_archive_name FORMAT A20
COLUMN archive_table_name FORMAT A20

SELECT table_name, owner_name, flashback_archive_name, archive_table_name
FROM   dba_flashback_archive_tables;

TABLE_NAME      OWNER_NAME      FLASHBACK_ARCHIVE_NA ARCHIVE_TABLE_NAME
--------------- --------------- -------------------- --------------------
TEST_TAB_1      FDA_TEST_USER   FDA_1YEAR            SYS_FBA_HIST_72023

1 row selected.

SQL>
Hy vọng hữu ích cho bạn.
=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, oracle oca, oracle ocp, oracle ocm

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master