Log Miner - DB_ID mismatch between dictionary and logfiles
Can LogMiner only be invoked to mine logs from the 'home' DB?
Tom Kyte's Expert One-On-One suggests not ..."We could go into the data dictionary and find what object 30551 is, but only if the we are in the same database in which the redo log file was originally generated." (p.1100) To me this suggests you can use Log Miner with 'foreign' Logs (ie) those generated by a database other than the current database.
Now, I've used Log Miner on several occasions but only within a DB that 'owned' the logfiles.
Now I've tried to import logfiles from a 'foreign' database and mine them. When I try and start Log Miner I get:
3 (dictFileName => 'C:\oracle\admin\utl_file_dir\logminer_dict.dat');
ERROR at line 1:
ORA-01295: DB_ID mismatch between dictionary and logfiles
ORA-06512: at "SYS.DBMS_LOGMNR", line 53
ORA-06512: at line 2
Is what I'm attempting impossible? The error message suggests so, but Mr Kyte implied otherwise.
"one nice thing about logminer is that it allows to analyze redo/archivelogs from other databases which means you don't have to be on the production database to do the actual analysis. In your case, i would build the dictionary file from 8.0 database move all archive logs that needs to analyzed to a box running 8i and start the analysis. one caveat is that both databases should be of same characterset / db_block_size / OS"
That right? How restrictive is the last caveat - OS?
Both DBs are same Charset and block size, but one is Windows XP (my PC) and one Windows 2003 (The prod server). Is this the problem?
This sounds much more viable and when I think about it I could kick myself:
"You need to build the dictionary for log miner in each database and copy (or reference) the appropriate one when you start logminer (step 6). You cannot use a dictionary from database A to work with logs from database B even if the database structure is the same (the object IDs will usually be different)."
Of course - The DD is my PC db can't resolve the Object IDs - Doh!!!
This kindles my curiosity, what happens if I colone a database using OS copy and rename it to a different name and have it on the remote/same server. This defeats the point on the difference in DBID, as the OS cloneing won't change the DBID of the database, where it would only change the DBNAME.