oracle 开启归档日志
windows
开启归档日志
1 运行cmd 2 sqlplus / as sysdba 3 sql> archive log list; #查看是不是归档方式,如果有enable或启动则表名已开启存档模式 4 sql> alter system set log_archive_start=true scope=spfile; #启用主动归档,10以下版本需要开 启此功能 11及以上不要执行此语句 5 sql> show parameter recovery; #查看归档日志目录,归档日志放在默认目录就可,如果要更改目录先创 建目录再更改配置 6 sql> alter system set db_recovery_file_dest_size=50G #设置归档日志大小 7 sql> alter system set db_recovery_file_dest='E:/XXX/XXX' scope=spfile; #可以不设置,用4 默认配置 8 sql> alter system set log_archive_format='arch_%d_%t_%r_%s.arc' #设置归档日记款式,可不设 置 9 sql> shutdown immediate; 10 sql> startup mount; #打开控制文件,不打开数据文件 11 sql> alter database archivelog; #将数据库切换为归档模式 12 sql> alter database open; #将数据文件打开 13 sql> archive log list; #查看此时是否处于归档模式 14 #查询以确定数据库位于archivelog模式中且归档过程正在运行 15 sql> select log_mode from v$database; 16 sql> select archiver from v$instance; 17 #日志切换 18 sql> alter system switch logfile; // alter system archive log current; 19 #在oracle情况中运行如下查询: 20 sql> select name from v$archived_log; 21 或 SQL>select log_mode from v$database; 22 如果为log_mode值为ARCHIVELOG则表示已成功归档
创建表空间
创建用户绑定表空间
用户授权(flinkuser改为自己用户名)
1 grant connect, resource,dba to spt_orcl; 2 GRANT CREATE SESSION TO flinkuser; 3 GRANT SET CONTAINER TO flinkuser; 4 GRANT SELECT ON V_$DATABASE to flinkuser; 5 GRANT FLASHBACK ANY TABLE TO flinkuser; 6 GRANT SELECT ANY TABLE TO flinkuser; 7 GRANT SELECT_CATALOG_ROLE TO flinkuser; 8 GRANT EXECUTE_CATALOG_ROLE TO flinkuser; 9 GRANT SELECT ANY TRANSACTION TO flinkuser; 10 GRANT LOGMINING TO flinkuser; 11 12 GRANT CREATE TABLE TO flinkuser; 13 -- need not to execute if set scan.incremental.snapshot.enabled=true(default) 14 GRANT LOCK ANY TABLE TO flinkuser; 15 GRANT ALTER ANY TABLE TO flinkuser; 16 GRANT CREATE SEQUENCE TO flinkuser; 17 18 GRANT EXECUTE ON DBMS_LOGMNR TO flinkuser; 19 GRANT EXECUTE ON DBMS_LOGMNR_D TO flinkuser; 20 21 GRANT SELECT ON V_$LOG TO flinkuser; 22 GRANT SELECT ON V_$LOG_HISTORY TO flinkuser; 23 GRANT SELECT ON V_$LOGMNR_LOGS TO flinkuser; 24 GRANT SELECT ON V_$LOGMNR_CONTENTS TO flinkuser; 25 GRANT SELECT ON V_$LOGMNR_PARAMETERS TO flinkuser; 26 GRANT SELECT ON V_$LOGFILE TO flinkuser; 27 GRANT SELECT ON V_$ARCHIVED_LOG TO flinkuser; 28 GRANT SELECT ON V_$ARCHIVE_DEST_STATUS TO flinkuser;
修改想要增量(补充)日志的库和表
1 #要增量日志的库 2 ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; 3 #要增量日志的表,将HEALTHEHR.EHR_ANTENATAL_RECORD改为自己配置 4 ALTER TABLE HEALTHEHR.EHR_ANTENATAL_RECORD ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS; 5 ... 6 ... 7 ... 8 #修改数据表空间开始同步 9 alter tablespace healthehr begin backup;
日志查看
1 show parameter recovery #查看归档日志目录信息 2 查询归档日志占比 3 select * from v$flash_recovery_area_usage; 4 查看日志使用情况 5 select * from v$recovery_file_dest;
关闭归档日志
1 shutdown immediate; 2 startup mount; 3 alter database noarchivelog; 4 alter database open; 如果报ORA-01125: Ϟ·¨½㾩 »ָ´ - τ¼þ 8 ʨ׃j» 5 6 ORA-01110: ˽¾ގļþ 8: '/data/oracle/healthehr/healthehr.dbf' 7 先关闭表空间的归档日志 8 alter tablespace healthehr end backup;
其它
1 archive log stop; #关闭日志归档 2 archive log start; #开启日志归档 3 archive log list; #查看日志是否归档 4 show parameters; 5 show parameters log_archive_start; #11以上不需要开启 6 show parameters log_archive_max_process; #归档进程数 7 alter system set log_archive_max_process=5; #将归档进程数改为5 8 select * from v$bgprocess; #检察后台进程
重启电脑或重启归档日志后执行
归档日志删除(要及时清理过期归档日志)
处理归档日志物理文件和rman文件不一致 报错ora-03013
1 查看归档日志占比 2 select * from v$flash_recovery_area_usage; 3 1.清除硬盘上的归档日志 #注意不要删掉CONTROL02.CTL文件 4 2.通过rman命令删除从物理文件已删除但记录在rman中的归档日志: 5 在cmd窗口切换rman命令: 6 rman target / 7 切换到rman命令后检查归档日志是否失效: 8 rman> crosscheck archivelog all; 9 删除失效归档日志,即删除物理文件已丢失但记录在rman中的归档日志: 10 rman> delete expired archivelog all; 11 删除所有归档日志(慎用): 12 rman> delete archivelog all; 13 退出 14 rman> exit;
重启电脑或重启归档日志后执行
1 同步归档日志 2 在cmd窗口切换rman命令: 3 rman target / 4 切换到rman命令后检查归档日志是否失效: 5 rman> crosscheck archivelog all; 6 删除失效归档日志,即删除物理文件已丢失但记录在rman中的归档日志: 7 rman> delete expired archivelog all; 8 退出 9 rman> exit; 10 11 在cmd窗口切换sql命令: 12 archive log list; #查看此时是否处于归档模式 13 sql> alter database archivelog; #将数据库切换为归档模式 14 sql> alter database open; #将数据文件打开 15 #日志切换 16 sql> alter system switch logfile; // alter system archive log current; 17 SQL>select log_mode from v$database; 18 如果为log_mode值为ARCHIVELOG则表示已成功归档
linux
linux上相关配置参考window配置修改,
alter system set db_recovery_file_dest='/XXX/XXX' scope=spfile; 更改归档日志目录时要用
chmod命令赋予目录相应权限备份好原始的配置文件如:pfile spfile initorcl.ora 文件,防止操作失败时数无法恢复
参考:https://ververica.github.io/flink-cdc-connectors/master/content/connectors/oracle-cdc.
html