Oracle_开启归档日志和重做日志

在Oracle中,类似于MySQL的binlog的机制是归档日志(Archive Log)和重做日志(Redo Log)

查询归档日志状态

SELECT log_mode FROM v$database;

– 输出示例:
– LOG_MODE

– ARCHIVELOG (表示已开启)
– NOARCHIVELOG (表示未开启)


开启归档日志

  1. 关闭数据库并启动到mount状态
    SHUTDOWN IMMEDIATE;
    STARTUP MOUNT;

  2. 启用ARCHIVELOG模式
    ALTER DATABASE ARCHIVELOG;

  3. 打开数据库
    ALTER DATABASE OPEN;

  4. 配置归档日志路径和参数(确保目录存在且有写入权限)
    ALTER SYSTEM SET log_archive_dest_1=‘LOCATION=/u01/archive_logs’ SCOPE=spfile;

  5. 验证归档路径
    SHOW PARAMETER log_archive_dest_1;


启用补充日志(Supplemental Logging)

  1. 开启主键补充日志
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

  2. 启用全补充日志
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;


调整重做日志(Redo Log)配置

  1. 增加重做日志组和大小
    ALTER DATABASE ADD LOGFILE GROUP 4 (‘/u01/redo04.log’) SIZE 200M;
    ALTER DATABASE ADD LOGFILE GROUP 5 (‘/u01/redo05.log’) SIZE 200M;

授权用户权限

配置Oracle用户权限,确保Flink CDC使用的Oracle用户具有以下权限:

GRANT CONNECT, RESOURCE TO username;

GRANT SELECT ANY TABLE TO username;

GRANT EXECUTE ON DBMS_LOGMNR TO username;

// 获取归档日志的元信息
GRANT SELECT ON V_$ARCHIVED_LOG TO username;

// 查看当前数据库的重做日志组状态
GRANT SELECT ON V_$LOG TO username;

// 获取所有重做日志文件的具体路径和状态
GRANT SELECT ON V_$LOGFILE TO username;

// 获取数据库级别的关键信息,用于日志解析的上下文管理
GRANT SELECT ON V_$DATABASE TO username;


重启数据库

SHUTDOWN IMMEDIATE;
STARTUP;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值