The basic usage of Logminer is the same between Oracle8i and Oracle9i so for basic usage notes see the LogMiner article in the Oracle8i section.
Several new features have been added to Logminer in Oracle9i to make it more flexible and robust:
DDL Statements Data Dictionary Access DDL Dictionary Tracking Dictionary Staleness Log Corruption Committed Data Only Primary Keys Restrictions Logminer Views & Viewer DDL StatementsIn previous versions of LogMiner DDL statements were viewed as a list of DML statements against the internal tables. In Oracle9i the actual DDL statement is now logged. The V$LOGMNR_CONTENTS view now contains a column called OPERATION which indicates if the operation was DDL or DML. The SQL_REDO column shows the actual DDL command. Data Dictionary AccessThe dictionary is used by Logminer to translate object IDs into meaningful object names. In Oracle8i this had to be stored as a flat file on the file system. In Oracle9i you can choose to store the dictionary in the redo logs:
EXECUTE Dbms_Logmnr_D.Build( -
dictfilename => 'C:\Oracle\Oradata\TSH1\Archive\dictionary.ora', options => Dbms_Logmnr_D.Store_In_Flat_File);
EXECUTE Dbms_Logmnr_D.Build( -
options => Dbms_Logmnr_D.Store_In_Redo_Logs);
The latter option can only be used if the database is in ARCHIVELOG mode and will cause a considerable increase in redo.
Logminer can be started using a dictionary file, redo logs or the online dictionary:
EXECUTE DBMS_LOGMNR.START_LOGMNR( -
dictfilename =>'C:\Oracle\Oradata\TSH1\Archive\dictionary.ora');
EXECUTE Dbms_Logmnr.Start_Logmnr( -
options => Dbms_Logmnr.Dict_From_Redo_Logs);
EXECUTE Dbms_Logmnr.Start_Logmnr( -
options => Dbms_Logmnr.Dict_From_Online_Catalog);
If objects have been dropped and recreated the online dictionary may not be able to resolve some object IDs. Its main use is for recent redo logs. DDL Dictionary TrackingIn Oracle8i the dictionary file was static. Any objects created after the creation of the dictionary file could not be translated. In Oracle9i the DDL_DICT_TRACKING option makes Logminer apply any DDL operations to its dictionary allowing the translation of new objects.
EXECUTE Dbms_Logmnr.Start_Logmnr( -
options =>
Dbms_Logmnr.DDL_Dict_Tracking);
The database must be open for this option.
Dictionary StalenessIn Oracle9i versioning information is logged about each object. If a DDL statement is issued against an object this will alter its version. Logminer is aware of this versioning information and can detect if the current dictionary is not in sync with redo logs. Log CorruptionPrior to Oracle9i corruption of the logfiles caused Logminer to stop. In Oracle9i the SKIP_CORRUPTION option in the Dbms_Logmnr.Start_Logmnr() procedures tells Logminer to attempt to pass over corruptions:
EXECUTE Dbms_Logmnr.Start_Logmnr( -
options => Dbms_Logmnr.Skip_Corruption);
Logminer indicates the number of blocks skipped.
Committed Data OnlyThe COMMITTED_DATA_ONLY option means that Logminer will only display SQL_REDO and SQL_UNDO for commited transactions, greatly redUCing the number of rows displayed:
EXECUTE Dbms_Logmnr.Start_Logmnr( -
options => Dbms_Logmnr.Committed_Data_Only);
Primary KeysBy default SQL_REDO and SQL_UNDO statements contain rowid references in the WHERE clause. If this data is to used against a different database this rowid has no meaning. For this reason Logminer can be configured to display the primary key value, which can be used in place of the rowid. The rowid is still displayed.
To get these results supplemental redo log groups must be added at the table or database level. This feature significantly increases the amount of redo at the database level.
RestrictionsLogminer does not support:
LONG and LOB datatypes Object Types Collections Object Ref datatypes Index Organized tables (IOTs) Logminor cannot be run in a multithreaded server (MTS) environment but it can be used to analyze logs from a an MTS environment.
Logminer can now be used to view direct path loads as long as the system is in ARCHIVELOG mode and LOGGING is enabled.
Logminer Views & ViewerVery few changes have occurred to the dictionary views. The V$LOGMNR_CONTENTS view now contains a column called OPERATION which indicates if the operation was DDL or DML. The V$LOGMNR_DICTIONARY view only contains rows if the STORE_IN_FLAT_FILE option was used to create the dictionary.
Oracle Enterprise Manager now includes a GUI tool called Logminor Viewer which allows you to build and store queries against the V$LOGMNR_CONTENTS view. Rows can be returned with the primary key values displayed and the view can be restricted to commited transactions if required.
Hope this helps. Regards Tim...
Back to the Top.
right"(出处:清风软件下载学院)