BLOG

Steps To Shutdown/Start Oracle RAC

Hi Again

I will mention steps to shutdown Oracle Real Application Cluster First :
You need to shutdown all the services like the following :

On Linux :
**Change to $ORACLE_HOME/crs/bin

shutdown emctl stop dbconsole .

1- ./srvctl stop database -d .

To check database name :

select DB_name from v$database ;

2-./srvctl stop asm -n

To check node name :
Hostname on terminal .

3-./srvctl stop nodeapps

4-./crsctl stop -all

these steps to stop RAC services on linux :

Windows :

** change to $ORACLE_HOME/crs/bin
1-srvctl.exe stop database -d
2-srvctl.exe stop asm -n
3-srvctl stop nodeapps
4-crsctl.exe stop -all .

Startup RAC services :

1-./srvctl start nodeapps
2-./srvctl start asm -n .
3-./srvctl start database -a .
4-./crsctl start -all .

emctl start dbconsole .

windows the same but without “./” just srvctl.exe

Useful Command in RMAN

List Command :

1)RMAN> list backup;
List all your backup sets.
***************
2)RMAN>LIST BACKUPSET;
Lists only backup sets and proxy copies.
***************
3)RMAN>LIST COPY;
Lists of Image copies and Archive Logs.
***************
4)RMAN>LIST EXPIRED BACKUP;
Backups did not found after crosscheck. That is backup is manually moved or deleted from OS.
***************
5)RMAN>LIST BACKUP BY FILE;
List backup by Datafile, controlfile, spfile.
***************
6)RMAN>LIST BACKUP SUMMARY;
Lists backup sets, proxy copies, and disk copies.
***************
7)RMAN>LIST BACKUP OF DATABASE;
LIST BACKUP LIKE ‘/tmp/%’; list backup of datafile 1; LIST ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE sbt;LIST COPY OF DATAFILE 2 COMPLETED BETWEEN ’17-MAR-2008′ AND ’22-MAR-2008′; are also available.
***************
8) RMAN>LIST INCARNATION;
LIST INCARNATION OF DATABASE; to see the incarnations of your database.

Report Command:

RMAN REPORT command analyzes the available backups and return results about while files need backup which files are obsolete etc.

1)REPORT NEED BACKUP;
Determine which database files need backup under a specific retention policy.
***************
2)REPORT UNRECOVERABLE;
Report which database files require backup because they have been affected by some NOLOGGING operation.
***************
3)REPORT SCHEMA;
Lists and displays information about the database files.
***************
4)REPORT OBSOLETE;
REPORT OBSOLETE displays the backups that are obsolete according to the current retention policy.
***************
5)REPORT NEED BACKUP RECOVERY WINDOW OF 2 DAYS DATABASE SKIP TABLESPACE data01;
If you use Recovery Catalog then past data can be shown.Like, REPORT SCHEMA AT TIME ‘SYSDATE-10’;
***************

Delete Command:

Delete commands is used to delete any backup or backupsets.

1)RMAN> delete backupset all;
Delete all your backup sets
***************
2) RMAN> delete copy all;
Delete all image copies.
***************
3) RMAN>DELETE OBSOLETE;
Delete obsolete Backups.
***************

thank you all .

ORA-00060 RUNNING BACKUPS FOR 2 DATABASES USING SAME CATALOG

hi All ,

All of us using backup techniques maybe it will be different but the aim is one , saving your data
some error could be appear while you doing backup but everything can be solved one of this errors
deadlock error

but what is this mean ?

deadlock : situation where in two or more competing actions are each waiting for the other to finish

so when you have two backup not necessary backup btw it could be session , backup-1 will wait backup-2 and vice verse …

In rman backup its Bug 6830296 accroding to meta-link ID 779095.1

Solution is :

In Rman catalog database create the following indexes :-

CREATE INDEX tfatt_i_sck on tfatt(start_ckp_key)
CREATE INDEX tfatt_i_eck on tfatt(end_ckp_key)

Or

Check for availability of one off patch using the following link Patch 6830296

thank you all

Check Rac Status

hi All Again ,

As Oracle Database administrator its your job to check rac status on your server, i know its little creepy when we heard about RAC,DG but its all about the command and how , when to use it ? !!!

Sure you need to be careful when you are using commands such as “crs , Srvtl” and stuff like that .

I will make it easy for you save this command in the notepad (you can find in the end of this article)
so everytime you need to check RAC status and you need to do is choose your command :

Let start

*To check RAC STATUS ON OS :
Use :
crs_stat -t

*Check Node Availability :
Status nodeapps -n

*Check your ASM :
srvctl status asm -n

ok but i need to check database status how ?
*for Database status :
srvctl status database -d esxrac

And what about service for this database is it work fineeeeee :
* Database Services :
srvctl status service -d esxrac

And Finally
* Cluster Status :
crsctl check crs

As we see its all about command if you how to use it RAC will be easy otherwise don’t use it if you don’t know anything about it because it maybe destroy everything . BE CAREFUL

Where you Go its not the end , i need to check RAC inside the Database (SQL) :
lets Begin 🙂

I need to check Rac Instance if it works fine in normal database we use v$instance
here in rac just add gv$instance .
** select instance_name, host_name, archiver, thread#, status
from gv$instance ;

What About datafiles :
**select file_name, bytes/1024/1024 from dba_data_files ;

Getting the status of all the groups, type, membership :
**select group#, type, member, is_recovery_dest_file from v$logfile order by group#

But , Wait what about ASM we need to check it too :
To check ASM Disk :
**select group_number, name,allocation_unit_size alloc_unit_size,state,type,total_mb,usable_file_mb
from v$asm_diskgroup;

Information About ASM instance :
select group_number, file_number, bytes/1024/1024/1024 GB, type, striped, modification_date from v$asm_file
where TYPE != ‘ARCHIVELOG’

Thank You very Much , just Bookmark my blog all i keep post everything useful for DBA’s

And you can Download notepad from HERE

ORA-20001

hi Everyone ,

After We installed Oracle EBS on Our PC’S I have to say this is not the end theres’s lot of common problems for Oracle EBS that you will faced one of them The Above Error
This error actually Appear when you try to add Functional Administrator to your Responsibly .

Cause of this error is :

There’s some package have not been complied yet so you need to drop it and recreate it again , change some parameter and bounce Apache we will talk about every steps .

Solution Of this Error :

1- As we said before you need to Drop And recreate One Produce Responsible for this error .all this inside Sqlplus (But How can you enter Sqlplus)

To enter Sql-plus as Apps user you need to set your env . just Follow these Steps and you thank me later 🙂

On Linux Env :
cd $ORACLE_HOME/apps/apps_st/appl

After This
. Your Env-name

And Now you can enter to your Sqlplus apps/apps .

No , we not Finish Yet . all this to enable Sqlplus . we back to the error now .

Following to Support.oracle [ID 839423.1] you need to follow these Steps :

  • Drop / recreate the subscriber from sqlplus as the apps user as follows:

declare
lagent sys.aq$_agent;
subscriber_exist exception;
pragma EXCEPTION_INIT(subscriber_exist, -24034);
begin
lagent := sys.aq$_agent(‘WF_BPEL_Q’,null,0);
dbms_aqadm.add_subscriber(queue_name
=>’APPS.WF_BPEL_Q’,subscriber=>lagent,rule=>’1=1′);
exception
when subscriber_exist then
— just add the rule if subscriber exists
dbms_aqadm.alter_subscriber(queue_name =>’APPS.WF_BPEL_Q’,
subscriber=>lagent,
rule=>’1=1′);
end;
/

In Above Steps you recreate This Produce to enable it , There’s some error in the installation doesn’t appear to you .

  • Run the concurrent request Workflow Directory Services User/Role Validation as follows (just Follow the screen Shot) :

To enter to Concurrent and start new Request .

Then Search for Following :

you need make new request with following parameter (parameter Not the picture)

two Request :
a. “Workflow Directory Services User/Role Validation” Parameters : 100000, Yes, No, No”
b. “Workflow Directory Services User/Role Validation” Parameters : 100000, No, Yes, No”

After You made this sometimes we face another problem that is the concurrent manager doesn’t work at all so you need to enable again . But HOW Believe me its easy more than you think ?

Enter to Sqlplus (apps user) and Enter the following command :

exec wf_maintenance.ValidateUserRoles(p_BatchSize => null, p_check_dangling => TRUE, p_check_missing_ura => TRUE, p_UpdateWho => FALSE);

imagine in above steps that you enable Concurrent manager this is AMAZING !!!!!

now After you made all the perviuos steps all you have to do is the Final Steps

  • Bounce Apache But what we mean in this ???!!!!!

I mean is Stop Apache And run it Again like the following :

– you need to run env like the pervious Step.
-cd $ADMIN_SCRIPTS_HOME.
-./adapcctl.sh stopall.
-Wait Wait Wait Wait.
-./adapcctl.sh startall.

Thanks For All of you to reading this Article hope it will be useful .

Osama Mustafa .
Oracle Database Consultant .

Oracle EBS installation

Hi all ,
its taking long time for me to write new blog , any way in this article i am gonna talk about how to install oracle EBS on Linux – 64 V5 update 4, take in your consideration there’s no difference oracle ebs installation step,the difference is changing is the prerequisites for platforms .

you can check the prerequisites on meta-link DOC [ID 761566.1]
i will post link in the bottom of this article .

Before we begin the wild ride, there a few modifications that needs to be done to the system, a few packages need to be installed. I’ll assume that you have searched for quite a while and maybe you even tried to install the damn thing and ran into errors, so I’ll get right into the process. Here what we’re going to do:

  1. Install Development Tools
  2. Install required packages
  3. Modify the System Configuration and Kernel (don’t panic)
  4. Create Required Users
  5. Install Oracle Apps

1-install Development Tools

there’s easy way and hard way i prefer hard way since easy way take space on system and some package not needed for oracle

Easy way :

yum groupinstall "Development Tools"
Hard Way :
you need to check every package on OS if its installed or not

  • gcc-4.1.2-14.el5.x86_64
  • gcc-c++-4.1.2-14.el5.x86_64
  • glibc-2.5-18.i686 (32-bit)
  • glibc-2.5-18.x86_64
  • glibc-common-2.5-18.x86_64
  • glibc-devel-2.5-18.i386 (32-bit)
  • glibc-devel-2.5-18.x86_64
  • libgcc-4.1.2-14.el5.i386
  • libgcc-4.1.2-14.el5.x86_64
  • libstdc++-devel-4.1.2-14.el5.i386
  • libstdc++-devel-4.1.2-14.el5.x86_64
  • libstdc++-4.1.2-14.el5.i386
  • libstdc++-4.1.2-14.el5.x86_64
  • make-3.81-1.1.x86_64
  • gdbm-1.8.0-26.2.1.i386
  • gdbm-1.8.0-26.2.1.x86_64
  • libXp-1.0.0-8.1.el5.i386
  • libXp-1.0.0-8.1.el5.x86_64
  • libaio-0.3.106-3.2.i386
  • libaio-0.3.106-3.2.x86_64
  • libgomp-4.1.2-14.el5.x86_64
  • sysstat-7.0.0-3.el5.x86_64
  • util-linux-2.13-0.45.el5.x86_64
  • compat-libstdc++-296-2.96-138.i386
  • compat-libstdc++-33-3.2.3-61.i386

Additionally, the following RPMs are required for an 11gR1 Database (which is bundled with the 12.1.1 release) on the database tier:

  • compat-libstdc++-33-3.2.3-61.x86_64
  • elfutils-libelf-devel-0.125-3.el5.x86_64
  • elfutils-libelf-devel-static-0.125-3.el5.x86_64
  • libaio-devel-0.3.106-3.2.x86_64
  • unixODBC-2.2.11-7.1.i386
  • unixODBC-devel-2.2.11-7.1.i386
  • unixODBC-2.2.11-7.1.x86_64
  • unixODBC-devel-2.2.11-7.1.x86_64
  • kernel-headers-2.6.18-8.el5.x86_64
  • openmotif21-2.1.30-11.EL5.i3861
  • xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386

Check Package by command : rpm -qa | grep “package name”
Ex:
rpm -qa | grep kernel-headers

if its installed the name of package will appear as result but if its not you need to install like the following :

rpm -ivh “package name that you need to install”.

* after install package called ” openmotif” you need to make the following command :

unlink /usr/lib/libXtst.so.6
ln -s /usr/X11R6/lib/libXtst.so.6.1 /usr/lib/libXtst.so.6

Modify the System Configuration and Kernel

Open /etc/sysctl.conf as root
then add the following lines at the end of the file :

#Oracle EBS R12.1.1 Kernel Settings
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 256 32000 100 142
fs.file-max = 327679
net.ipv4.ip_local_port_range = 10000 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=4194304

Now lets apply the new settings
/sbin/sysctl –p

Add the following lines to the /etc/security/limits.conf file:

* hard nofile 65535
* soft nofile 4096
* hard nproc 16384
* soft nproc 2047

Add the following lines to the /etc/resolv.conf file:

options attempts:5
options timeout:15

Create Required Users

we need two Groups : groupadd oinstall groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
useradd -g oinstall -G dba apps
passwd apps

Create Oracle Base Folder

mkdir -p /u01/oracle/PROD
chown -R oravis:oinstall /u01
chmod -R 775 /u01/

Before installation make sure all media (STAGE) owned by Oracle:oinstall and permission is 775 .
before installation you need to change permission for ./rapidwiz like Following
chmod u+x STAGE_PATH/startCD/DISK1/rapidwiz/

Apply patch number 6078836 before installation becuase if you don’t the Post installation check will fail on HTTP error : RW-50015 , you find this patch in the bottom .

Start the installation and Good luck : ./rapidwiz


If you need patch or any thing please contact me here .

Downloadable Files :
Package May you will need : Redhat 5.4
Patch 6078836

ORA-01450

Cause

the errors seen above are encountered because the NLS_LENGTH_SEMANTICS initialisation parameter has been set to CHAR. This is not a supported setting for this parameter in an Oracle Fusion Middle ware installation. This is documented in the Release Notes for each platform.

Solution

To remove the ORA-01450 errors when creating the MDS and SOAINFRA components ensure that the requirement for NLS_LENGTH_SEMANTICS=BYTE is met.

To check the current setting of NLS_LENGTH_SEMANTICS, login to the target database as SYSDBA and issue the following command:

SQL> show parameters nls_length_semantics

SQL> alter system set NLS_LENGTH_SEMANTICS=BYTE scope=both

After resetting the parameter you should restart your database for the change to take effect.