目录:
注意:
1、某个Oracle数据源能同时运行的任务数量取决于该Oracle的内存大小
2、若数据量太大导致日志组频繁切换需要增加日志组数量,增大单个日志组存储大小
--查看oracle版本
select * from v$version;
--查询数据库归档模式
archive log list;
根据自身环境配置归档日志保存路径,需要提前创建相应目录及赋予相应访问权限
# 创建归档日志保存目录
mkdir -p /data/oracle/archivelog
# 进入Oracle目录
cd $ORACLE_HOME
# 查看Oracle权限组,本章权限组如下图所示
ls -l
# 对归档日志保存目录赋予相应权限
chown -R 下图中的用户名:下图中的组名 /data/oracle/
--配置归档日志保存的路径
alter system set log_archive_dest_1='location=/data/oracle/archivelog' scope=spfile;
shutdown immediate;
startup mount;
--开启日志归档
alter database archivelog;
--开启扩充日志
alter database add supplemental log data (all) columns;
alter database open;
再次查询数据库归档模式,Archive Mode
表示已开启归档模式,Archive destination
表示归档日志储存路径。
SELECT * FROM v$log;
如上图所示,日志组的默认数量为2组,大小为4194304/1024/1024 = 4MB,这意味着日志大小每达到4MB就会进行日志组的切换,切换太过频繁会导致查询出错,因此需要增加日志组数量及大小。
SELECT * FROM v$logfile;
如上图所示,默认路径为/usr/lib/oracle/xe/app/oracle/flash_recovery_area/XE/onlinelog/
。
请与DBA联系,决定是否可以删除原有日志组。
--增加两组日志组
alter database add logfile group 3 ('/usr/lib/oracle/xe/app/oracle/flash_recovery_area/XE/onlinelog/redo3.log') size 200m;
alter database add logfile group 4 ('/usr/lib/oracle/xe/app/oracle/flash_recovery_area/XE/onlinelog/redo4.log') size 200m;
--删除原有两组日志组,并继续新增两组日志组
alter system checkpoint;
alter system switch logfile;
alter database drop logfile group 1;
alter database drop logfile group 2;
alter database add logfile group 1 ('/usr/lib/oracle/xe/app/oracle/flash_recovery_area/XE/onlinelog/redo1.log') size 200m;
alter database add logfile group 2 ('/usr/lib/oracle/xe/app/oracle/flash_recovery_area/XE/onlinelog/redo2.log') size 200m;
SELECT * FROM v$log;
SELECT * FROM v$logfile;
Oracle10g默认已安装LogMiner工具包,通过以下命令查询:
desc DBMS_LOGMNR;
desc DBMS_LOGMNR_D;
若无信息打印,则执行下列SQL初始化LogMiner工具包:
@$ORACLE_HOME/rdbms/admin/dbmslm.sql;
@$ORACLE_HOME/rdbms/admin/dbmslmd.sql;
其中roma_logminer_privs
为角色名称,可根据自身需求修改。
create role roma_logminer_privs;
grant create session,execute_catalog_role,select any transaction,flashback any table,select any table,lock any table,select any dictionary to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_COL$ to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_OBJ$ to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_USER$ to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_UID$ to roma_logminer_privs;
grant select_catalog_role to roma_logminer_privs;
其中roma_logminer
为用户名,password
为密码,请根据自身需求修改。
create user roma_logminer identified by password default tablespace users;
grant roma_logminer_privs to roma_logminer;
grant execute_catalog_role to roma_logminer;
alter user roma_logminer quota unlimited on users;
以创建的LogMiner用户登录Oracle数据库,执行以下SQL查询权限,结果如图所示:
SELECT * FROM USER_ROLE_PRIVS;
SELECT * FROM SESSION_PRIVS;
至此,Oracle 10g数据库LogMiner实时采集配置完毕。
--查看oracle版本
select * from v$version;
--查询数据库归档模式
archive log list;
根据自身环境配置归档日志保存路径,需要提前创建相应目录及赋予相应访问权限
alter system set log_archive_dest_1='location=/data/oracle/archivelog' scope=spfile;
shutdown immediate;
startup mount;
--开启日志归档
alter database archivelog;
--开启扩充日志
alter database add supplemental log data (all) columns;
alter database open;
再次查询数据库归档模式,Archive Mode
表示已开启归档模式,Archive destination
表示归档日志储存路径。
Oracle11g默认已安装LogMiner工具包,通过以下命令查询:
desc DBMS_LOGMNR;
desc DBMS_LOGMNR_D;
若无信息打印,则执行下列SQL初始化LogMiner工具包:
@$ORACLE_HOME/rdbms/admin/dbmslm.sql;
@$ORACLE_HOME/rdbms/admin/dbmslmd.sql;
其中roma_logminer_privs
为角色名称,可根据自身需求修改。
create role roma_logminer_privs;
grant create session,execute_catalog_role,select any transaction,flashback any table,select any table,lock any table,select any dictionary to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_COL$ to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_OBJ$ to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_USER$ to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_UID$ to roma_logminer_privs;
grant select_catalog_role to roma_logminer_privs;
其中roma_logminer
为用户名,password
为密码,请根据自身需求修改。
create user roma_logminer identified by password default tablespace users;
grant roma_logminer_privs to roma_logminer;
grant execute_catalog_role to roma_logminer;
alter user roma_logminer quota unlimited on users;
以创建的LogMiner用户登录Oracle数据库,执行以下SQL查询权限,结果如图所示:
SELECT * FROM USER_ROLE_PRIVS;
SELECT * FROM SESSION_PRIVS;
至此,Oracle 11g数据库LogMiner实时采集配置完毕。
--查看oracle版本
select BANNER from v$version;
--查询数据库归档模式
archive log list;
根据自身环境配置归档日志保存路径,需要提前创建相应目录及赋予相应访问权限
alter system set log_archive_dest_1='location=/data/oracle/archivelog' scope=spfile;
shutdown immediate;
startup mount;
--开启日志归档
alter database archivelog;
--开启扩充日志
alter database add supplemental log data (all) columns;
alter database open;
再次查询数据库归档模式,Archive Mode
表示已开启归档模式,Archive destination
表示归档日志储存路径。
其中roma_logminer_privs
为角色名称,可根据自身需求修改。
create role roma_logminer_privs;
grant create session,execute_catalog_role,select any transaction,flashback any table,select any table,lock any table,logmining,select any dictionary to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_COL$ to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_OBJ$ to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_USER$ to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_UID$ to roma_logminer_privs;
grant select_catalog_role to roma_logminer_privs;
grant LOGMINING to roma_logminer_privs;
其中roma_logminer
为用户名,password
为密码,请根据自身需求修改。
create user roma_logminer identified by password default tablespace users;
grant roma_logminer_privs to roma_logminer;
grant execute_catalog_role to roma_logminer;
alter user roma_logminer quota unlimited on users;
以创建的LogMiner用户登录Oracle数据库,执行以下SQL查询权限,结果如图所示:
SELECT * FROM USER_ROLE_PRIVS;
SELECT * FROM SESSION_PRIVS;
至此,Oracle 12c数据库LogMiner实时采集配置完毕。