First, Miscellanous stuff :
1] Put RMAN backups on NFS
It’s very annoying to hit this error, even when following the given OS mount arguments …
ORA-27054: NFS file system where the file is created or resides is not mounted with correct options See [ID 781349.1]
If you’re sick of dealing with NFS, it’s now possible to remove the NFS options checking ( 10gR2+ ) :
SQL> alter system set event="10298 trace name context forever, level 32" scope = spfile ;
Side effects:
It will generate some trace files which you can ignore Bug:4998064 'Ksfq 10298 Trace Enabled For Levels Other Than Bit Level 0x2' (unpublished)- It can have a side effect of disabling direct IO on RAC using regular
files on NFS mounts
files on NFS mounts
2] List commands
list backup of archivelog sequence between 252000 and 252051 ;
list backup of archivelog sequence 359490 ;
list backup of archivelog from sequence 889818 until sequence 889873 ;
3] Is it possible to restore an RMAN dump coming from another OS platform
?
Is RMAN portable from an OS to another : NO
What’s possible in 10g :
- Use RMAN to copy a source DB in READ-ONLY state to a different OS platform but with the same ENDIAN
RMAN> CONVERT DATABASE NEW DATABASE 'LinDB10g' ... TO PLATFORM 'Linux IA (32-bit)'
- Copy the tablespaces to a target DB on a different OS and ENDIAN platform
Transportable Tablespaces :
RMAN> CONVERT TABLESPACE TBS1 TO PLATFORM 'HP-UX (64-bit)' FORMAT '/tmp/%U';
Note :
SELECT * FROM V$TRANSPORTABLE_PLATFORM order by 1 ;
PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT
----------- ----------------------------------- --------------
1 Solaris[tm] OE (32-bit) Big
2 Solaris[tm] OE (64-bit) Big
3 HP-UX (64-bit) Big
4 HP-UX IA (64-bit) Big
5 HP Tru64 UNIX Little
6 AIX-Based Systems (64-bit) Big
7 Microsoft Windows IA (32-bit) Little
8 Microsoft Windows IA (64-bit) Little
9 IBM zSeries Based Linux Big
10 Linux IA (32-bit) Little
11 Linux IA (64-bit) Little
12 Microsoft Windows x86 64-bit Little
13 Linux x86 64-bit Little
15 HP Open VMS Little
16 Apple Mac OS Big
17 Solaris Operating System (x86) Little
18 IBM Power Based Linux Big
19 HP IA Open VMS Little
20 Solaris Operating System (x86-64) Little
I used two technologies to do an RMAN Backup on a Clone DB to eliminate the overhead of a Backup on the Production Database :
EMC BCVs Business Continuance Volumes : Split-Mirror Disks
IBM Flash Copy : more like a Snapshot of Unix Inodes, then Copy those Blocks as a Clone
Those tools are different but have the same result : RMAN may be used to backup a copy either done online or offline of a Production DB. This way, RMAN capabilities remain available while we offload the Database Server.
RMAN Catalog is required.
Those backups are very Complex and should be run with DBA expert knowledge …
4.1 Best practices
· on the fc_mirror, it may be necessary to recover the database in mount mode to get a consistent state in case of non-clean shutdown.
· for archivelog db, instance fc_mirror shouldn’t never be open because it would rollback transactions that may be commited on PRD db.
· controlfile autobackup ON may still be used
4.2 RMAN-20035: invalid high recid
Note:302615.1 RMAN is allowed to backup a mounted database on an intermediate server that hosts mirror filesystems only if the controlfile is converted before backup from ‘current’ to ‘backup’ state.
Therefore, RMAN configuration and Current Controfile backup will take place on the Production Database.
If 2 ‘current’ controlfiles connect to RCAT, error RMAN-20035 occurs.
Explanation
Every Backup records in Controlfile and RMAN Catalog have a RECID generated by the Instance.
After a successful backup on a Clone DB, the RECID is incremented in the Controlfile, then is logged in the RMAN Catalog. RECID in Controlfile hasn’t been modified.
On the following communication between Production DB and RMAN Catalog, if the highest RECID in Catalog is superior to the RECID of Controlfile, the RMAN-20035 id triggered.
Oracle recommends to convert the Controlfile on the Copy into a ‘backup controlfile’.
Hence, when RMAN detects a non-current Controlfile ( ‘backup’ or ‘standby’ ), it won’t increment the RECID in the Catalog.
5] RMAN Operations Running Status
set pages 5000 lines 150
SELECT SID, SERIAL#, CONTEXT, SOFAR, TOTALWORK,
ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE"
FROM V$SESSION_LONGOPS
WHERE OPNAME LIKE 'RMAN%'
AND OPNAME NOT LIKE '%aggregate%'
AND TOTALWORK != 0
AND SOFAR <> TOTALWORK;
6] 10G+ Block Change Tracking
6.1 Enable / Check for
alter database enable block change tracking using file '/work/oracle/<base>/flash_area/<base>_bct.trk' ;
col FILENAME for a40
select * from v$block_change_tracking ;