Thursday, November 22, 2007

RAC Expert 1Z0-048

Yet another certification exam.. Cleared the newly introduced exam .. 1Z0-048-RAC Certified Expert . Yet another exxam like OCP. But would be a good choice for who want to do a systematic RAC study. Preparing for a couple of days using Oracle Universities RAC Ed 2 material is enough to clear 1Z0-048-RAC Certified Expert.

(EXAM 1Z0-048 Oracle Database 10g R2: RAC for Administrators)

Wednesday, October 31, 2007

Restricted Session and Listener load balancing.

Morning got a call from a friend who is new RAC DBA. His problem was

on a two node RAC.

On Instance rac1 service " fin" is prefered.
On Instance rac2 service "fin" is available.

So when rac1 is in restricted session he was expecting connections to "fin" is also restricted. But to his surprise connections got diverted to "rac2".

Well this is the expected behaviour. If prefered instance for a service is in restricted session listener will exclude that instance from its load balancing algorithm and new connections will be send to the instance where it is "available"

Monday, October 29, 2007

NFS archive destinations.

Scenario
Two instances
rac1 on system1 and rac2 on system2.

Wanted to use a shared nfs(not a CFS) location for archivelogs from both the instances.


created an nfs mount in system2 /backup/rac
Mount it on the system1 and set log_archive_dest_1 in both instances to point to /backup/rac/.

Archival on System 1 was consistently failing with following error.

ORA-19504: failed to create file "" It is not me who removed the file name !!!!!!!! The error message was exactly the same. Instance is complaining it is not able to write the file But it could not even give the file name !!

(ofcouse I have already verified the location is writable by oracle using "touch" ).

Hmm again time for research............
Well found out the following nfs mount options (from oracle doc).

used them -- great. Archival is happening now... and my fstab looks like...
.........
sys2:/backup/rac2/arch /backup/rac2/arch nfs hard,rsize=32768,wsize=32768,noac 0 0
.........
Great I have shared nfs location for archive logs..

Good to go with further experiments !!!!!!!

Monday, October 22, 2007

Data Guard 10g - drop file

Jomon is doing some research on Dataguard ... Great !. He came with a question. He did drop a newly added datafile (10gr2 new feature allows this) from primary and was expecting the same to go from standby (he was sure about this because of Standby_file_management was auto). But that did not happen and when he added another datafile to primary with same name as that of dropped one everything went for a toss (in standby). I was sure if this the case it would be bug. In few mints he idenitified the bug . wow....

Alter ... drop datafile - on primary ---

Sunday, October 21, 2007

How gv$ views are populated?

Today I was reading something very basic about RAC. A thought came into my mind on gv$ views.. From where they are getting data.. The instance to which client connects to query gv$ views can n't however store all instance information.. After a little bit of reading got the answer. It uses a parallel query mechanism with query co-ordinator on the node where client connects and spawaing slave process on other instances to collect respective values...

Wanted to prove this.. (hmm I dont belive without seeing !!!).

1. Loged into rac2 machine.
#ps -ef grep oracle..
observed the last process.
2) Logged into rac1 instance .. issued a query aganist gv$log.

3) Refreshed the ps-ef grep oracle output in rac2 machine..
here comes "ora_pz99_rac2" process. So "pznn" is the parallel query slaves starts on each node to collection required information for a gv$ query and submit it to the co-ordinator running on the node where client connect to .

Hmmm one more proof.. (this time Oracle came to me with proof :)


Instance rac1 open
rac2 nomount;

Query from rac1 on gv$thread.... output says...


SQL> select thread#,status from gv$thread;
select thread#,status from gv$thread
*ERROR at line 1:ORA-12801: error signaled in parallel query server PZ99, instance core1:rac2(2)ORA-01507: database not mounted

But is n't this a bug ? Otherwise it wont allow certain gv$queries when all instances are not open !!!







(gv# views has got an additional column inst_id and these views contains data for all instances)

Back to Oracle exeperiments........

Its about two three months since I have done something serious with my favourite database now... Its time to start experiments again. RAC and Performance tuning are in focus.