Really you need an Oracle RAC database? I’m sure this question maybe a joke, but isn’t it. I’ve seens dozens of RAC database used simply to provide a clustering or a sort of failover and high availabilty service. But this is not true, definitly not.

First if you ask for an Oracle database high availabilty solution and your DBA or your consultat answer saying “RAC” please fight him.
RAC, Real Application Cluster, as acronymous is not a normal cluster but a particular database configuration and structure that only in some case may provide an high availabilty service. Usually many RAC are configured doubling the same hardware that many times is not good for an instance at all and using a low performance storage and a not efficient interconnect network.

The big attention should be paid to the application. An application that was built for a standalone single Oracle instance does not work obviously in a RAC environment. Today I think that only few application may run on a RAC gaining performance. Too many times let a normal application run on a RAC generate only a performance problem and also expose your database to some new, and sometimes interesting, wait events. I’ve to say that to take full advantage of the particular high availability services in a RAC enviroment few special considerations are to be checked with application and the TAF (Transparent Application Failover) protocol.

RAC can solve problem only if the whole environment is Oracle RAC friendly, otherwise you will face with many problems. Don’t trust a DBA that propose without any care a RAC solutions. You will only pay more to get less.

Tags: ,

I was looking online for this issue: are you able to know when a parameter was changed in your database or also track all parameters changes in your database? Kerry Osborne has the solution. Even if you’re able to check in your alert log file for changes (Oracle logs every changes to parameters) you can also use AWR! Table WRH$_PARAMETER holds the answer.

select instance_number instance, snap_id, time, parameter_name, old_value, new_value from (
select a.snap_id,to_char(end_interval_time,'DD-MON-YY HH24:MI') TIME,  a.instance_number, parameter_name, value new_value,
lag(parameter_name,1) over (partition by parameter_name, a.instance_number order by a.snap_id) old_pname,
lag(value,1) over (partition by parameter_name, a.instance_number  order by a.snap_id) old_value ,
decode(substr(parameter_name,1,2),'__',2,1) calc_flag
from dba_hist_parameter a, dba_Hist_snapshot b , v$instance v
where a.snap_id=b.snap_id
and a.instance_number=b.instance_number
and parameter_name like nvl('&parameter_name',parameter_name)
and a.instance_number like nvl('&instance_number',v.instance_number)
)
where
new_value != old_value
and calc_flag not in (decode('&show_calculated','Y',3,2))
order by 1,2
/

Original query (by Kerry Osborne) is available here. For the whole explaination check the trackback.

Tags: , , ,

Do you know that there are more than thirty not documented and hidden parameters for tracing?
You can find them with this query:

select 	ksppinm "Parameter Name",
		ksppstvl "Value",
		ksppstdf "Default",
from	x$ksppi x, x$ksppcv y
where	x.indx = y.indx
and		ksppinm like '/_%trace%' escape '/' ;

Note that Oracle 9i has about 26 parameters (if I remember right). Oracle 10g has 35 parameters. Not yet test on 11g, I’ll do it. Also some parameters are only RAC related as _ges_trace (for GES/GCS trace)

Tags: , ,

Sometimes you can get this error:

[oracle@oratest03 scripts]$ emctl start dbconsole
Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.
[oracle@oratest03 scripts]$
[oracle@oratest03 scripts]$ export ORACLE_UNQNAME=T11R2
[oracle@oratest03 scripts]$ emctl start dbconsole
OC4J Configuration issue. /app/oracle/product/11.2.0.1/oc4j/j2ee/OC4J_DBConsole_oratest03_T11R2 not found.

This is due to a misconfiguration of dbconsole during database setup. The fastest solution is usually to recreate repository and configuration.

First, deconfigure dbconsole:

[oracle@oratest03 bin]$ ./emca -deconfig dbcontrol db -repos drop

STARTED EMCA at Dec 28, 2009 12:15:33 PM
EM Configuration Assistant, Version 11.2.0.0.2 Production
Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Enter the following information:
Database SID: T11R2
Listener port number: 1521
Password for SYS user:
Password for SYSMAN user:  

Do you wish to continue? [yes(Y)/no(N)]: Y
Dec 28, 2009 12:15:44 PM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /app/oracle/cfgtoollogs/emca/T11R2/emca_2009_12_28_12_15_32.log.
Dec 28, 2009 12:15:44 PM oracle.sysman.emcp.EMDBPreConfig performDeconfiguration
WARNING: EM is not configured for this database. No EM-specific actions can be performed.
Dec 28, 2009 12:15:45 PM oracle.sysman.emcp.EMReposConfig invoke
INFO: Dropping the EM repository (this may take a while) ...
Dec 28, 2009 12:17:33 PM oracle.sysman.emcp.EMReposConfig invoke
INFO: Repository successfully dropped
Enterprise Manager configuration completed successfully
FINISHED EMCA at Dec 28, 2009 12:17:33 PM

Now, let’s configure it again

[oracle@oratest03 bin]$ ./emca -config dbcontrol db -repos create                                          

STARTED EMCA at Dec 28, 2009 12:17:43 PM
EM Configuration Assistant, Version 11.2.0.0.2 Production
Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Enter the following information:
Database SID: T11R2
Listener port number: 1521
Listener ORACLE_HOME [ /app/oracle/product/11.2.0.1 ]:
Password for SYS user:
Password for DBSNMP user:
Password for SYSMAN user:
Email address for notifications (optional):
Outgoing Mail (SMTP) server for notifications (optional):
-----------------------------------------------------------------

You have specified the following settings

Database ORACLE_HOME ................ /app/oracle/product/11.2.0.1

Local hostname ................ oratest03
Listener ORACLE_HOME ................ /app/oracle/product/11.2.0.1
Listener port number ................ 1521
Database SID ................ T11R2
Email address for notifications ...............
Outgoing Mail (SMTP) server for notifications ............... 

-----------------------------------------------------------------
Do you wish to continue? [yes(Y)/no(N)]: Y
Dec 28, 2009 12:17:58 PM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /app/oracle/cfgtoollogs/emca/T11R2/emca_2009_12_28_12_17_43.log.
Dec 28, 2009 12:17:59 PM oracle.sysman.emcp.EMReposConfig createRepository
INFO: Creating the EM repository (this may take a while) ...
Dec 28, 2009 12:23:44 PM oracle.sysman.emcp.EMReposConfig invoke
INFO: Repository successfully created
Dec 28, 2009 12:23:47 PM oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository
INFO: Uploading configuration data to EM repository (this may take a while) ...
Dec 28, 2009 12:24:41 PM oracle.sysman.emcp.EMReposConfig invoke
INFO: Uploaded configuration data successfully
Dec 28, 2009 12:24:43 PM oracle.sysman.emcp.util.DBControlUtil configureSoftwareLib
INFO: Software library configured successfully.
Dec 28, 2009 12:24:43 PM oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
INFO: Deploying Provisioning archives ...
Dec 28, 2009 12:25:13 PM oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
INFO: Provisioning archives deployed successfully.
Dec 28, 2009 12:25:13 PM oracle.sysman.emcp.util.DBControlUtil secureDBConsole
INFO: Securing Database Control (this may take a while) ...
Dec 28, 2009 12:25:54 PM oracle.sysman.emcp.util.DBControlUtil secureDBConsole
INFO: Database Control secured successfully.
Dec 28, 2009 12:25:54 PM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
Dec 28, 2009 12:26:19 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: Database Control started successfully
Dec 28, 2009 12:26:19 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: >>>>>>>>>>> The Database Control URL is https://oratest03:1158/em <<<<<<<<<<<
Dec 28, 2009 12:26:25 PM oracle.sysman.emcp.EMDBPostConfig invoke
WARNING:
************************  WARNING  ************************

Management Repository has been placed in secure mode wherein Enterprise Manager data will be encrypted.  The encryption key has been placed in the file: /app/oracle/product/11.2.0.1/oratest03_T11R2/sysman/config/emkey.ora.   Please ensure this file is backed up as the encrypted data will become unusable if this file is lost. 

***********************************************************
Enterprise Manager configuration completed successfully
FINISHED EMCA at Dec 28, 2009 12:26:25 PM

That’s all. Remember, if you want or need, to backup you encryption key.

Tags: , ,

Have you downloaded Oracle client for AIX, gunzipped and now unable with the usual command to extract using cpio? I know…maybe this is the right solution

oracle@aixsrv:/app/oracle>cpio -idmv < 10gr2_aix5l64_client.cpio

cpio: 0511-903 Out of phase!
cpio attempting to continue...

cpio: 0511-904 skipping 642010 bytes to get back in phase!
One or more files lost and the previous file is possibly corrupt!

Segmentation fault

That’s bad. The solution is to use the option -idcmv

oracle@aixsrv:/app/oracle>cpio -idcmv < 10gr2_aix5l64_client.cpio

This simply because Oracle Corp. had cpioed installer with -c argument that’s, from manpage, “Reads and writes header information in ASCII character form. If a cpio archive was created using the c flag, it must be extracted with c flag.”

Tags: ,

Poche parole:

  • Servomuto (e non mi interessa che sia FoppaPedretti!)
  • Un paio di camicie (chi è interessato mi chieda come..BTW ricorda che vesto solo classico, il colore dell’anno è viola, tessuto modello poplin anche senza righe e magari un monogramma)
  • Miscelatore per la cucina
  • Contributo riparazione parafango auto
  • Contributo tagliando auto
  • Macchina fotografica (da vedere quale…)
  • Gatto (preferibilmente un certosino)

Solo su alcuni regali, seri, posso ammettere che si cumulino per Natale e compleanno :D

Just two word to say that from yesterday I’m qualified as Oracle Certified Professional. Nothing more.

I’ve passed with success the exam 1Z0-052, with the previous exam 1Z0-007 now I’m an Oracle Certified Associate. Today I’m looking to attend the second exam 1Z0-053 to become Oracle Certified Professional. Good luck to myself

Tags: , , , , ,

Today I’ll start to prepare myself to attend Oracle exam 1Z0-052 – Oracle 11g Administration I .

I’ve already attended the related course in Oracle and now it’s time to take the exam. Any information is needed. I’ve already taken SelfTest software but is not similar to topics covered in my course. Maybe the only way to study is to use Oracle books from course and Oracle official book for this exam. Anything to suggest?

Follow up – 7/8 – I’ve discovered that test center was closed for holidays. Maybe somebody forgot to close online reservation! Damn

Tags: , , , , ,

I’ve always thought that ASM is a sucking unneeded part of oracle. Is really slow, is another abstraction layer between database a disk block, is not mature for production environment and simply sucks. Yesterday I made an error. Altering a diskgroup to add a new lun to ASM in a RAC environment cause an error because LUN was not visible to ASM on both cluster node

ALTER DISKGROUP ORAFRA ADD DISK '/dev/rhdisk14';
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15075: disk(s) are not visible cluster-wide

Oh my god, LUN rescan was done on both node, what’s the problem? I’ve found a permission problem, On second node LUN was not writable to oinstall group… ok. Changed. And now? Now is interesting.
First, ORAFRA diskgroup was unmounted on second node and as the diskgroup contains on control file second instance was closed in abort!
No panic. I’ve mounted diskgroup and restarted second instance. Curious, what about /dev/rhdisk14 ?
Check in ASM:

SQL> col name format a15
SQL> col path format a20
SQL> set lines 136 pages 400
SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,NAME,PATH from v$asm_disk where PATH like '%rhdisk14';

GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU NAME            PATH
------------ ----------- ------- ------------ --------------- ------------------------------
           0           5 CLOSED  MEMBER                       /dev/rhdisk14

My LUN is MEMBER of nothing! Perhaps an ASM error. As this LUN was added to diskgroup ORAFRA I’ll try to remove it from this diskgroup.

SQL> alter diskgroup ORAFRA drop disk '/dev/rhdisk14' ;
alter diskgroup ORAFRA drop disk '/dev/rhdisk14'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15054: disk "/DEV/RHDISK14" does not exist in diskgroup "ORAFRA"

Damn, what I’ve to do? Metalink note: 399500.1
This problem can occurs when disk is not visible cluster-wide. For particular type of storage (of course storage I’m using) you have to change a value in LUN configuration: reserve_policy = no_reserve
Ok, this needs a reboot, bad. And to solve my problem? Metalink suggest to check and make LUN really visible and useable to both nodes. Then drop and add again the disk. Is this possible? I think not!

Tags: , , , ,

« Older entries