ORACLE管理学习第四天

一、管理已存档的重做日志
1、存档
2、改变数据库的存档模式
3、允许自动存档
4、禁止自动存档
5、执行手动存档
6、指定存档目标位置
7、存档目标位置状态
8、指定日志传送模式
9、管理存档目标失败
10、设定ARCn进程数
11、控制存档日志进程生成的跟踪输出
12、相关视图

二、使用LogMiner来分析重做日志文件
1、LogMiner的局限
2、相关视图
3、使用LogMiner

[@more@]

一、管理已存档的重做日志
1、存档
将联机重做日志文件变成已存档的重做日志文件的进程,分自动存档和手动存档。
2、改变数据库的存档模式
将NOARCHIVELOG切换为ARCHIVELOG
a、关闭数据库实例
b、备份数据库
c、对初始化参数文件进行编辑,其它包含了指定是否允许自动存档以及指定存档日志文件的目标位置的初始化参数。
或者在第一步前执行如下操作
alter system set log_archive_dest= '' scope=spfile;--设置归档路径
alter system set log_archive_start=true scope=spfile;--设置是否自动归档
d、启动一个新的实例并装载数据库,但是不打开数据库。
startup mount;--启动到mount状态
(nomount--读取参数文件,起实例;mount--读取控制文件;open--找到日志文件和数据文件,数据库可用)
e、alter database archivelog;--设置为归档模式
f、alter database open;--打开数据库

如果改回非归档
alter system set log_archive_start=false scope=spfile;--设置是否自动归档
shutdown immediate;
startup mount;
alter database noarchivelog;--设置为非归档模式
alter database open;--打开数据库
3、允许自动存档
在实例启动时允许自动存档方式:设置初始化参数--log_archive_start=true
在实例启动后允许自动存档方式:alter system archive log start;
控制存档进程数目:alter system set log_archive_max_processes = 3;
4、禁止自动存档
在实例启动时禁止自动存档方式:设置初始化参数--log_archive_start=false
在实例启动后禁止自动存档方式:alter system archive log stop;
5、执行手动存档
alter sysem archive log all;
6、指定存档目标位置
方法一:
使用参数log_archive_desc_n(这里n是从1到10的整数),n标识某个目标位置

关键字 表示 例子
LOCATION 本地文件系统位置 LOG_ARCHIVE_DEST_1 = 'LOCATION=/DISTK2/ARCH'
SERVICE 通过ORACLE NET服务名称远程存档 LOG_ARCHIVE_DEST_2 = 'service=test'

LOG_ARCHIVE_FORMAT初始化参数,使用s%来包含日志序号作为文件名的一部分,并且使用t%来包含纯种号。使用大写字母(S%和T%)来以0填补文件名左边的空处。

方法二:
使用参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST
允许指定最多两个位置,由以上两个参数决定
7、存档目标位置状态
每个存档目标位置由以下变量来决定它的状态,相关视图为v$archive_dest:
Valid/Invalid--指出磁盘位置或服务名称是否是指定的和有效的
Enabled/Disabled--指出目标位置的可用性状态以及ORACLE是否可以使用这个目标位置
Active/Inactive--指出在访问目标位置时是否会出现问题
ENABLE/DEFFER--指出ORACLE当时是否可以使用这个目标位置,DEFFER表明暂时不能使用这个位置。
以上特性可以进行组合。

以下乃v$archive_dest查询结果说明:
STATUS Valid Enabled Active 含义
VALID TRUE TRUE TRUE 用户正确初始化了目标位置,该目标位置可以用于存档
INACTIVE FALSE n/a n/a 用户还没有提供或者已经删除了目标位置的信息。
ERROR TRUE TRUE FALSE 创建或写入目标文件时发生错误;请考虑错误信息
DEFFERRED TRUE FALSE TRUE 用户手动并暂时不允许该目标位置
DISABLED TRUE FALSE FALSE 用户手动暂时不允许出现错误的目标位置;请参考错误信息。
BAD PARAM n/a n/a n/a 发生参数错误;请考虑错误信息。通常,只有当没有设置LOG_ARCHIVE_START参数时,才能看到这种状态。
8、指定日志传送模式
分正常传送模式和备用传送模式(此块内容有空时分专题进行讲解)。
9、管理存档目标失败
log_archive_min_succeed_dest(取值范围1-10):决定了了ORACLE必须成功存档重做日志组的上档的最小数目。默认值1
重新存档到一个失败过的目标:LOG_ARCHIVE_DEST_n参数的REOPEN属性。
REOPEN=n,n表示重新打开失败过的目标所需的最小秒数,默认值为300秒。
10、设定ARCn进程数
alter system set log_archive_max_processes = 2;
11、控制存档日志进程生成的跟踪输出
设置初始化参数log_archive_trace来设置跟踪级别,可以为以下值
0 不允许存档日志跟踪(默认值)
1 跟踪重做日志文件的存档
2 跟踪每个存档日志目标的存档状态。
4 跟踪存档操作的阶段。
8 跟踪存档日志目标的活动。
16 跟踪详细的存档日志目标的活动。
32 跟踪存档日志目标的参数修改。
64 跟踪ARCn进程的状态活动
注意:指定一个值,其值等于希望跟踪各个级别的总和,这样就可以合并跟踪级别。
12、相关视图
v$database:查看是否为归档模式
v$archived_log:显示控制文件中的历史存档日志信息。如果使用了恢复一览表,RC_BACKUP_REDOLOG将包含类似的信息
v$archive_dest:描述当前的实例、所有存档目标以及这些目标的当前值、模式和状态。
v$archive_processes:显示实例用到的各种存档进程的状态信息
v$backup_redolog:包含有关已存档的日志的任何备份的信息。如果使用了恢复一览表,RC_BACKUP_REDOLOG将包含类似的信息
v$log:显示数据库所用的所有联机重做日志组并指出哪一个需要存档
v$log_history:包含日志历史信息,比如哪些日志已经存档以及每个已存档的日志的SCN范围。

另外,archive log list命令用来显示已连接实例的存档信息。

二、使用LogMiner来分析重做日志文件
1、LogMiner的局限
a、数据类型LONG和LOB
b、简单的和嵌套的数据提取类型(ADTs)
c、集合(嵌套表和VARRAYs)
d、对象Refs
e、索引结构的表(IOTs)
注意:共享服务器环境不能运行LogMiner的局限
2、LogMiner的相关视图
v$logmnr_contents:显示对用户所做的修改以及表信息
v$logmnr_dictionary:显示相关LogMiner字典文件的信息,这些文件是由使用STORE_IN_FLAT_FILE选项创建的字典提供的。显示的信息包括数据库名称和状态信息。
v$logmnr_logs:该视图包含每个日志文件的信息
v$logmnr_parameters:显示有关可选的LogMiner参数的信息,包括启动和结束系统更改号码(SCNS)以及启动和结束的时间。
3、使用LogMiner
A、提取字典
a、为字典文件指定放置的位置,可以设置init.ora文件中的UTL_FILE_DIR参数
b、EXECUTE DBMS_LOGMNR_D.BUILD(dictionary_filename=>'sqltrace.ora',
dictionary_location =>'/oracle/oracle/logminer',
options =>DBMS_LOGMNR_D.STORE_IN_FLAG_FILE);--该选项可以不用
B、指定要分析的重做日志文件
来源于:select * from v$archived_log;
a、添加
EXECUTE DBMS_LOGMNR.ADD_LOGFILE(
logfilename =>'/ld_archive1/oradata/szjy/archive/2_2713.dbf',
options =>dbms_logmnr.new);
b、继续添加
EXECUTE DBMS_LOGMNR.ADD_LOGFILE(
logfilename =>'/ld_archive1/oradata/szjy/archive/2_2714.dbf',
options =>dbms_logmnr.addfile);
c、删除
EXECUTE DBMS_LOGMNR.ADD_LOGFILE(
logfilename =>'/ld_archive1/oradata/szjy/archive/2_2714.dbf',
options =>dbms_logmnr.removefile);
C、启动LogMiner
dbms_logmnr.start_logmnr(dictfilename =>'/oracle/oracle/logminer/sqltrace.ora',
starttime =>to_date('2006120613:00:00','yyyymmddhh24:mi:ss'),
endtime =>to_date('20061206 17:45:00','yyyymmdd hh24:mi:ss'),
startscn => 100,--SCN次序是应用在介质恢复过程中的标准次序
endscn => 150,
options => dbms_logmner.committed_data_only + dbms_logmner.ddl_dict_tracking);--选项可以多选
options用于设置会话特性:
committed_data_only:在v$logmnr_contents视图中,只显示已提交事务的行。
skip_curruption:在v$logmnr_contents视图中进行选择性操作的过程中,会跳过惩一儆百日志文件的任何遭到损坏的地方。
ddl_dict_tracking:如果使用的字典是来自于平面文件或重做日志文件,那么在重做日志文件中找到DDL事件时,LogMiner保证它的内部字典已经更新。
该选项默认情况下是不允许的,且与dict_frin_online_cataog选项互斥。
no_dict_reset_onselect:仅在指定了ddl_dict_tracking选项的情况下有效。在每一次v$logmnr_contents视力上的选择操作开始的时候,它可以避免logminer重新装载它的字典。
如果希望完全重新构建随后的选择操作返回的SQL语句,那么就不应该指定该先项。
dict_from_online_catalog:如果设置了这个选项,logminer将采用数据库当前使用的字典。
dict_from_redo_logs:如果设置了这个选项,logminer会期望在DBMS_LOGMNR.ADD_LOGFILE过程指定的重做日志文件中找到一个字典。
D、结束LogMiner
EXECUTE DBMS_LOGMNR.END_LOGMNR;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/594892/viewspace-926585/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/594892/viewspace-926585/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值