|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
MySQL部署迅速,因此移植过程不会导致生产中断。而且,较短的学习曲线可以让你的系统管理员迅速掌握它的运行和维护。而且,MySQL的易于维护和管理意味着目前的职员可以处理目前的工作。
Logminer是每一个Dba都应熟习的工具,当一天因为用户的误操纵你必要做不完整的恢复时,因为你没法断定这个操纵是哪一个工夫做的,以是这对你的恢复就带来的很年夜的难度,丧失的数据也不克不及完整恢复返来。而LogMiner就能够帮你断定这个误操纵的正确工夫。
我的测试情况是Aix4.3.3的操纵体系,Oracle9.2.0.3的测试库。
1、LogMiner的几点申明
1、LogMiner能够帮你断定在某段工夫所发的各类DML,DDL操纵的详细工夫和SCN号,它所根据的是回档日记文件及联机日记文件。
2、它只能在Oracle8i及今后的版本中利用,不外它能够剖析Oracle8的日记。
3、Oracle8i只能用于剖析DML操纵,到Oracle9i则能够剖析DDL操纵了。
4、LogMiner不撑持索引构造表、Long、LOB及汇合范例。
5、MTS的情况也不克不及利用LogMiner.
2、操纵步骤
1、设定用于LogMiner剖析的数据文件寄存的地位
这是设定utl_file_dir参数的历程,我的示例:
a、在initctc.ora文件中到场以下一行
utl_file_dir=/u01/arch
b、得启数据库
oracle>sqlplus/nolog
sql>conn/assysdba
sql>shutdownimmediate
sql>statup
2、天生数据字典文件,是经由过程dbms_logmnr_d.build()来完成。
SQL>BEGIN
2dbms_logmnr_d.build(
3dictionary_filename=>logminer_dict.dat,
4dictionary_location=>/u01/arch
5);
6END;
7/
dictionary_location指的是Logminer数据字典文件寄存的地位,它必需婚配utl_file_dir的设定。
个中的dictionary_filename指的是放于寄存地位的字典文件的名字,名字能够恣意取。
3、创建一个日记剖析表
a、创建日记剖析表数据库必需在mount或nomount形态,启动数据库到mount形态。
sqlplus/nolog
sql>conn/assysdba
sql>shutdownimmediate
sql>starupmount
b、创建日记剖析表,利用dbms_logmnr.add_logfile()
SQL>BEGIN
2dbms_logmnr.add_logfile(
3options=>dbms_logmnr.new,
4logfilename=>/u01/arch/arc_ctc_0503.arc
5);
6END;
7/
个中的options有三种取值,dbms_logmnr.new用于建一个日记剖析表;dbms_logmnr.addfile用于到场用于剖析的的日记文件;dbms_logmnr.removefile用于移出用于剖析的日记文件。
4、增加用于剖析的日记文件。
SQL>BEGIN
2dbms_logmnr.add_logfile(
3options=>dbms_logmnr.addfile,
4logfilename=>/u01/arch/arc_ctc_0504.arc
5);
6END;
7/
利用则能够把这个文件从日记剖析表中移除,从而不举行剖析。
SQL>BEGIN
2dbms_logmnr.add_logfile(
3options=>dbms_logmnr.removefile,
4logfilename=>/u01/arch/arc_ctc_0503.arc
5);
6END;
7/
5、启动LogMiner举行剖析。
SQL>BEGIN
2dbms_logmnr.start_logmnr(
3dictfilename=>/u01/arch/logminer_dict.dat,
4starttime=>to_date(2003050112:15:00,yyyymmddhh24:mi:ss),
5endtime=>to_date(2003050115:40:30,yyyymmddhh24:mi:ss)
6);
7END;
8/
即剖析2003年5月1日是日12:15至15:40这段工夫,并把剖析了局放到数据字典中以用于查询。另有两个参数StartScn(肇端scn号)及EndScn(停止Scn)号。
6、检察日记剖析的了局,经由过程查询v$logmnr_contents能够查询到
a、检察DML操纵,示例:
SELECToperation,
sql_redo,
sql_undo,
FROMV$logmnr_contents
WHEREseg_name=QIUYB;
OPERATIONSQL_REDOSQL_UNDO
--------------------------------------------------------------
INSERTinserintoqiuyb.qiuyb...deletefromqiuyb.qiuyb...
个中operation指的是操纵,sql_redo指的是实践的操纵,sql_undo指的是用于作废的相反的操纵。
b、检察DDL操纵,示例:
SELECTtimstamp,
sql_redo
FROMv$logmnr_contents
WHEREupper(sql_redo)like%TRUNCATE%;
7、停止LogMiner的剖析。
SQL>BEGIN
2dbms_logmnr.end_logmnr;
3end;
4/
3、与LogMiner相干的数据字典。
1、v$loglist它用于显现汗青日记文件的一些信息
2、v$logmnr_dictionary因logmnr能够有多个字典文件,该视图用于显现这方面信息。
3、v$logmnr_parameters它用于显现logmnr的参数
4、v$logmnr_logs它用于显现用于剖析的日记列表信息。
(全文完)
解决方案提供商开始推动DBaaS浪潮之前,他们应该深入了解究竟什么是DBaaS。 |
|