411 REFERENCE · Wikibooks
RAC Attack - Oracle Cluster Database at Home/Setup Backups
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
During this lab we will intentionally misconfigure the cluster database backups and make some common mistakes with local, non-shared storage.
Login to a terminal on collabn1 as the user oracle.On collabn1 create a directory /u01/app/oradata and try to configure it as the Flash Recovery Area (FRA) through the init param db_recovery_file_dest. The operation will fail.
collabn1:/home/oracle[RAC1]$ mkdir /u01/app/oradata
collabn1:/home/oracle[RAC1]$ ss
SQL*Plus: Release 11.1.0.6.0 - Production on Mon May 4 07:39:57 2009
SQL> show parameter recovery_file
NAME TYPE VALUE
------------------------------- ----------- ------------------------------
db_recovery_file_dest string +FRA
db_recovery_file_dest_size big integer 4000M
SQL> alter system set db_recovery_file_dest='/u01/app/oradata';
alter system set db_recovery_file_dest='/u01/app/oradata'
*
ERROR at line 1:
ORA-32008: error while processing parameter update at instance RAC2
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-01261: Parameter db_recovery_file_dest destination string cannot be
translated
ORA-01262: Stat failed on a file destination directory
Linux Error: 2: No such file or director
The error occurred on the remote node, but was reported here. It was also recorded on the remote node – do you know where it is recorded? What kind of monitoring would need to be in place to be proactively alerted by messages like this?Now create the directory on the remote node and re-run the operation. This should succeed but it is still a poor configuration; we will investigate the reasons later in this lab.
SQL> host ssh collabn2 mkdir /u01/app/oradata
SQL> alter system set db_recovery_file_dest='/u01/app/oradata';
System altered.Shutdown the database across the cluster. Then mount it on collabn1 and put the database into archivelog mode. No archivelog destination is assigned – where will the archivelogs go and why?
You do not need to disable the cluster_database init param for this.
collabn1:/home/oracle[RAC1]$ srvctl stop database -d RAC
collabn1:/home/oracle[RAC1]$ srvctl status database -d RAC
Instance RAC1 is not running on node collabn1
Instance RAC2 is not running on node collabn2
collabn1:/home/oracle[RAC1]$ ss
SQL*Plus: Release 11.1.0.6.0 - Production on Mon May 4 09:08:01 2009
SQL> startup mount
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
collabn1:/home/oracle[RAC1]$ srvctl start database -d RAC
File Test Flashback Database