Wednesday, May 29, 2013

Increase /tmp Using Zfs Solaris 11

zfs create -V 1gb rpool/newtmp
swap -a /dev/zvol/dsk/rpool/newtmp


 Old Size :

swap                   159M   212K       159M     1%    /tmp
rpool/export            78G    32K        67G     1%    /export
rpool/export/home       78G    32K        67G     1%    /export/home
rpool/export/home/omnix
                        78G   790K        67G     1%    /export/home/omnix
oracle                 118G   1.1M        11G     1%    /oracle
rpool                   78G    39K        67G     1%    /rpool
oracle/u01             118G    93G        25G    79%    /u01
/oracle                 11G   1.1M        11G     1%    /home/oracle

New Size :

root@HMMDB:/# zfs create -V 1gb rpool/extraswap
root@HMMDB:/# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
oracle                    107G  10.6G  1.11M  /oracle
oracle/u01               92.6G  25.0G  92.6G  /u01
rpool                    12.6G  65.6G    39K  /rpool
rpool/ROOT               5.39G  65.6G    31K  legacy
rpool/ROOT/solaris       5.39G  65.6G  5.03G  /
rpool/ROOT/solaris/var    316M  65.6G   312M  /var
rpool/dump               1.03G  65.7G  1.00G  -
rpool/export              854K  65.6G    32K  /export
rpool/export/home         822K  65.6G    32K  /export/home
rpool/export/home/omnix   790K  65.6G   790K  /export/home/omnix
rpool/extraswap          1.03G  66.7G    16K  -
rpool/swap               5.16G  65.8G  5.00G  -

root@HMMDB:/# swap -a /dev/zvol/dsk/rpool/extraswap

Now Check New Size for /tmp


swap                   1.2G   212K       1.2G     1%    /tmp
rpool/export            78G    32K        66G     1%    /export
rpool/export/home       78G    32K        66G     1%    /export/hom

Thank you
Osama Mustafa

Tuesday, May 28, 2013

Flashback version query/Operation Column is Unknown

SQL > SELECT START_SCN,OPERATION,LOGON_USER,XID FROM  FLASHBACK_TRANSACTION_QUERY WHERE TABLE_NAME='TEST';
The Output will be like this :


XID              TABLE_OWNER TABLE_NAME OPERATION           LOGON_USER UNDO_SQL
---------------- ----------- ---------- -------------------------------- ----------              ---------------
0600090064030000              TX         UNKNOWN                          TEST
0600090064030000              TX         UNKNOWN                          TEST

To avoid Unknown Status enable  supplemental logging by

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA ;

Database altered.

Thank you
Osama mustafa

Monday, May 27, 2013

Enable FTP On Redhat

to enable FTP on Redhat on you have to follow to follow the below step,you need to define which user will use the FTP, in this article i will use root user :

Edit the files /etc/vsftpd.ftpusers and /etc/vsftpd.user_list looks like :

#

# List of users denied access to the FTP server, see ftpusers(4).
#
root
daemon
bin
sys
adm
lp
uucp
nuucp
dladm
netadm
netcfg
smmsp
xvm
mysql
openldap
webservd
nobody
noaccess
nobody4
unknown
zfssnap
aiuser

and remove root user from each file.

You can control ftp as services from


/etc/init.d/vsftpd

Thank you
Osama Mustafa

Sunday, May 26, 2013

ORA-00607/ORA-00600


ORA-00600: internal error code, arguments: [4193], [4271], [4056], [], [], [], [], []

As you see the above error ORA-00600 usually Indicate for Bug, A mismatch has been detected between Redo records and Rollback (Undo)  records. and to solve this issue you need to do the below :

SQL> show parameter undo
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS

SQL> alter system set undo_management='MANUAL' scope=spfile;

SQL > Shutdown immediate ;
SQL > Startup ; 
SQL > create undo tablespace NEW_UNDOTBS datafile '/u01/app/oracle/oradata/SID/NEW_UNDOTBS01.DBF' size 1G ;

SQL> alter system set undo_tablespace='NEW_UNDOTBS' scope=spfile;
System altered.
SQL> alter system set undo_management='AUTO' scope=spfile;
System altered.
 After Shutdown The new Effect Should be Taken And If you want to Drop Old Undo you can do This another option you can use is Take if Offline. Sometimes when you want to drop Old Undo you receive new error : 

SQL> drop tablespace UNDOTBS01 including contents;
ORA-01548: active rollback segment '_SYSSMU1_1255349037$' found, terminate dropping tablespace

So What Can i do Take Offline Or The Below Option :

SQL> select * from v$rollname ;
USN NAME
---------- -----------------
0   SYSTEM
1  _SYSSMU1$
2 _SYSSMU2$
3 _SYSSMU3$
4 _SYSSMU4$
5 _SYSSMU5$
6 _SYSSMU6$
 SQL > Create Pfile='/u01/New.init' from spfile
 File Created
SQL > Shutdown immediate ;
Edit pfile 

*.undo_management='MANUAL'
*.undo_retention=1800
*.undo_tablespace='NEW_UNDOTBS'
*._offline_rollback_segments= (_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$ )

  • Startup database from new pfile without create spfile ;
  • try to Drop Tablespace Now, this way should work.
  • After drop Undo Tablespace, Remove _offline Parameter and undo_management to AUTO 

Thank you 
Osama Mustafa

Tuesday, May 21, 2013

em12c agent software unavailable

Sometimes you need to deploy new agent to different machine or database, and to do that you have to add target and choose which platform installed but Agent software unavailable  this is the message you will see.





to solve this :

Setup >> Extensibility >> Self Update

Connection mode should be Offline ( you need to configure System Library to change Connection mode or Error will be appeared )


After change Connection mode to offline back to self_update main screen And Press Check Updates



New Box Dialog will appear 



You need to visit https://support.oracle.com and download patch number 9348486 after finish downloading copy to OMS server using FTP and don't unzip it.

Run the below command
 ./emcli import_update_catalog -file=/u01/p9348486_112000_Generic.zip -omslocal
if the below error show up :


Error: The command name "import_update_catalog" is not a recognized command.
Run the "help" command for a list of recognized commands.
You may also need to run the "sync" command to synchronize with the current OMS.
Do the following :
 ./emcli login -username='SYSTEM'
Enter password
Login successful
 ./emcli sync
Synchronized successfully
And Re-Run The Above Command Again,

The output will look like this 



after doing this will be able to see  all the agent Software in Self-update like the below.



now each kind of agent you need to download you have to install the patch and apply
 ./emcli import_update_catalog -file= ..... 
You can download the article from here

Thank you
Osama Mustafa

Expdp Error --> ORA-31617/ORA-19505/ORA-27037

Setup like the following :

Database 11gr2
Rac 11gr2

When trying to expdp the below error appear :

expdp dumpfile=tdmp_test.dmp logfile=1.log directory=expdp_folder schemas=siebel parallel=4


ORA-31693: Table data object "CS_XM_TEMP"."CS_XM_TEMP_CC" failed to load/unload and is being skipped due to error:
ORA-31617: unable to open dump file "/u01/expdp /dump_test.dmp" for write
ORA-19505: failed to identify file "/u01/expdp/dump_test.dmp"
ORA-27037: unable to obtain file status

You need to make sure of the below :
-  Folder exdp_folder should be exists on the both nodes with same path.

even if you try to connect using tnsnames it will generate error so solution
-Remove parallel from your expdp command to be like this

expdp dumpfile=tdmp_test.dmp logfile=1.log directory=expdp_folder schemas=siebel 

-Use Cluster Option in expdp

expdp dumpfile=tdmp_test.dmp logfile=1.log directory=expdp_folder schemas=siebel cluster=n

Thank you
Osama mustafa

Monday, May 20, 2013

Startup database with ORA-00000


SQL*Plus: Release 11.2.0.3.0 Production on Mon May 20 12:26:29 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected.
SQL>
SQL>
SQL> startup ;
ORA-00000: normal, successful completion


you need to investigate  more about this error most the cause for this error :

1- Oracle Home contain "/" in the end of detestation.
2- if one not works for you, Then you need to check your networks included with listener


Thank you 
Osama Mustafa 

SQL*Plus: Release 11.2.0.3.0 Production on Mon May 20 12:26:29 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected.
SQL>
SQL>
SQL> startup ;
ORA-00000: normal, successful completion

Wednesday, May 15, 2013

Oracle Error : ORA-31003/ORA-06512

The Below Error Appear when you are trying to use dbms_network_acl_admin

ORA-31003: Parent /sys/acls/File_name.xml already contains child entry
ORA-06512: at "SYS.DBMS_NETWORK_ACL_ADMIN", line 226
ORA-06512: at line 30
ORA-01403: no data found

The Solution Is Simple

exec dbms_network_acl_admin.drop_acl('/sys/acls/file_name.xml');
Commit
Re-Run Script Again.

Thank you
Osama Mustafa

Upgrade R12.1.1 To R12.1.3

To Upgrade Oracle EBS R12.1.1 To R12.1.3 Follow the Below Steps :

From https://support.oracle.com you have to download the following patch :



  • p9239090_R12_LINUX_1of6.zip
  • p9239090_R12_LINUX_2of6.zip
  • p9239090_R12_LINUX_3of6.zip
  • p9239090_R12_LINUX_4of6.zip
  • p9239090_R12_LINUX_5of6.zip
  • p9239090_R12_LINUX_6of6.zip
  • p9239095_R12_GENERIC.zip
  • p9822544_R12.MSC.B_R12_GENERIC.zip(Optional)
  • p10349415_R12.AD.B_R12_GENERIC.zip (Optional)
  • p9239089_R12.AD.B_R12_LINUX.zip

Before Start Working You have to shutdown all application Services using  ( adstpall.sh ) and enable maintenance mode using adadmin 

Run the Patch in Order like the following, before apply Any Patch you need to check README.txt for any Pre-Install Step/Post-Install Step 


1- Start with patch Number 9239089 , before do that on Readme.txt you have to do the below :
-Open Two Session ( Terminal ) Run Apps Env On Terminal #1, Terminal #2 run database Env.
-On DB Terminal Create under $ORACLE_HOME/Appsutil/admin 
-Copy adgrants.sql (Unix)  from patch folder to Above folder.
-From $ORACLE_HOME/appsutil/admin Run adgrants.sql
-sqlplus /nolog
-SQL> @$ORACLE_HOME/appsutil/admin/adgrants.sql


2-Apply Patch 10349415
3-Apply Patch 9239090
4-Apply Patch 9239095
5-Apply patch 9822544 
6-Apply Patch  9817770 
7-Apply Patch 9966055

After you Applied all the above patch Do the below steps :

On Application Tier :

  • Run Autoconfig ( Which is Located $ADMIN_SCRIPT_HOME )
  • Run the admkappsutil.pl ( Located in $AD_TOP/bin/admkappustil.pl ) Using the below command 
perl /bin/admkappsutil.pl
This will generate new appsutil.zip located in  $INST_TOP/admin/out

On Database Tier :

Copy appsutil from Application tier to $ORACLE_HOME,Unzip in under $ORACLE_HOME Like the below

  • cd $ORACLE_HOME
  • unzip appsutil.zip
  • Run autoconfig for Database Tier located in ( $ORACLE_HOME/appsutil/admin) --> adauto.sh
Finally two more simple step, you need to run adpreclone on Database Tier & application Tier using the below command :

  • perl adpreclone.pl dbTier (located in $ORACLE_HOME/appsutil/admin)
  • perl adpreclone.pl appsTier (Located in $ADMIN_SCRIPT_HOME)
Disable Maintenance mode now. 

Sqlplus apps/***

SQL> select release_name from fnd_product_groups;

RELEASE_NAME
--------------------------------------------------
12.1.3


Start Application Services using ( adstrtall.sh )

Thank you
Osama mustafa

Tuesday, May 14, 2013

Oracle Security Topic, what you should be Afraid of ?

Again !!!!

SQL injection Occur when someone ( Hackers ) Writing Web application code that access to your database this code contain special format.

As DBA you need to understand who access to database and corporate with developers and make sure they are connect in secure way. and Use good SQL statement to avoid SQL injection, because of this Don't relay on your firewall always make sure you secure your database and your code before start working on firewall, i am not saying here firewall will not protect your database yes it will but don't forget now these days we have devices and complex network wireless, IPAD , Mobiles , Devices and Laptop are connected to your network, so in that case firewall will not protect you 100%, secure for better reasons :)

Users connect to database using Listener, Even database is down and listener is up user can still open connection to database ( which is caused the problem ) you can access to the server because there is no authentication way in listener, lot of examples on this type of attackes.

to solve this issue you need to Patch & patch OS and Database to ensure all security bugs and fixed.

there's different type of oracle vulnerabilities Buffer overflow , listener issues , misunderstanding configuration and PL/SQL which indicate to SQL injection. most of our fears is not outside hackers/attacker it's internally such as employee, hacking lessons online on internet and free everyone want to try it where mostly in work, in 2008 reports indicate that 26% of hacking issues happened because employee ignorant.

Company ignore security side because Resource such as money and consultant but they will not do that after they get hacked and lose everything data and customer information.

Most of the company has network administrator and system administrator so if you secure OS & network well your database will be secure.

Thank you
Osama Mustafa

 

Sunday, May 12, 2013

" java.lang.UnsatisfiedLinkError" When Run Oracle EBS

Exception in thread "main" java.lang.UnsatisfiedLinkError: /u01/media/StageR12/startCD/Disk1/rapidwiz/jre/Linux_x64/1.6.0/lib/i386/xawt/libmawt.so: libXi.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.security.action.LoadLibraryAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
at sun.awt.DebugHelper.(Unknown Source)
at java.awt.Component.(Unknown Source

This error appear while trying to  ./rapidwiz in Oracle EBS , and it's regarding to Wrong packager version

First you need to remove the old package using :

rpm -e --nodeps
Install the required package from the below link :

Package libXi 32bit Here
Package libXi 64bit Here




Re Run the Installer again

Enjoy

Thank you
Osama Mustafa

Thursday, May 9, 2013

Which module You installed on Apps

Sometimes you need to check which module you installed in oracle E-business suite and to do that there's more one way :

using Query / as Apps User :


SELECT a.application_name,a.product_code,
DECODE (b.status, 'I', 'Installed', 'S', 'Shared', 'N/A') status,
patch_levelFROM apps.fnd_application_vl a,
apps.fnd_product_installations b
WHERE a.application_id = b.application_id
and b.status='I' order by product_code asc;


Using adutconf.sql scripts which is located in $AD_TOP

This script include information about Product installation status, version and other information.

Using Oracle Application Manager ( OAM )

Site Map ---> License Manager Which licensed word means installed.


Simple


Thank you
Osama Mustafa

Tuesday, May 7, 2013

Step By Step Remove Oracle Table Lock

All your query should be done using sys user or system user, after that you need to find Session SID with below query :


SQL> SELECT SESSION_ID
  2  FROM DBA_DML_LOCKS
  3  WHERE NAME = 'EMP_INFORMATION';

Where EMP_INFORMATION is Table_name

Output :

SID
___
424

Next step it's talking about How to find Serial# :


SELECT SID,SERIAL#
FROM V$SESSION
WHERE SID IN (SELECT SESSION_ID
FROM DBA_DML_LOCKS
WHERE NAME = 'EMP_INFORMATION')
Output :

SID                SERIAL#
----                 -------
424                 1103
Use Alter system To kill this session :
ALTER SYSTEM KILL SESSION 'SID,SERIALl#';

Thank you
Osama mustafa





Monday, May 6, 2013

Configure Email Notification and Incidents Rule

Before I talked about how to Install and Add Target in Enterprise Manager 12c today i will talk how to enable Email notification and Incidents Rule Step By Step and as usual you can download the article as PDF file :

Check the below picture the fill with Correct Parameter to enable email notification First


If you need to customize your Email format that will be deliver to you go to the below section in em12c :





The Below Page will appear to you choose which Type you want to customize



now Let's work On Incident Rules, From Setup --> Incidents --> Incident Rules

New Page will appear With Some Content All you have to do is Press "Create Rule Set" and below page will appear, Choose the name for Rule Set, which target this Rule set will be applied




On Second Tab " Rule" Press Create to add new One


There's Description for each Type I will choose the first one



After That follow the instruction to create your own Rule Set ,
First you need to choose which type of event

As you see there's two option below Drop box if you need to create events for all target option one your choice otherwise choose #2  and which one you want to enable 
 


The below Picture describe what happened if you choose Option #2 

 Now what we choose before will appear to us here now you want to enable metrics for Which Target
and i provide some example for predefined metrics group



 The Overall will be look like this

 Next , and Add Action page press add like usual


Define Which action will taken if event match


 Finally Name For Rule Set

 Review Page






you can download this article from here

Thank you
Osama Mustafa

Friday, May 3, 2013

Add Target Manually / Enterprise Manager 12c

previously I mentioned how to deploy agent in enterprise manager using Auto Discovery, But today I will Post about the second way which called "Add target Manually" all you have to do is follow the screen shot and the instruction :

Setup --> Add target --> Add Target manually


Choose the first Option

 New Page will appear -- > Press add and Type Hostname for the server and which Operating system installed it on it.


Insert your Agent Path ( where you want to install agent ) and username

Review and then Deploy Agent


You can download this article here

Thank you
Osama Mustafa

Deploy Agent In Enterprise Manager 12c

After I post about how to install Oracle Enterprise manager ( em12c ) today i will talk how to deploy em12c agent

there's two method to do that
1) Configuring Automatic Discovery
2) Adding targets Manually

I will describe the both :) each one separately

Before deploy you need to decide if you want to use Oracle user or root user the below steps you have to do before using oracle :

[root@em12c ~]# vi /etc/sudoers

and change and add the following lines :
Comment this line :

#Defaults    requiretty
add the below line

oracle  ALL=(ALL)       ALL

and remove ! from this line :
Defaults   visiblepw
Now On em12c There's something called privilege delegation

Privilege delegation allows a logged-in user to perform an activity with the privileges of another user. Sudo and PowerBroker are privilege delegation tools that allow a logged-in user to be assigned these privileges. These privilege delegation settings will be used for all provisioning and patching activities on these hosts.

Read more here.



in the screen below add these lines :

/usr/bin/sudo -u %RUNAS% %COMMAND%
/usr/bin/sudo ---> location for sudo command.


 after all the above steps are done let's configure Auto Discovery

Setup --> add target --> configure auto discovery  the below screen will open, choose the first option "Host and oracle vm manager Discovery using Ip scan"

 Press create Button

On add Button new Panel Will open , Choose your Host and Choose the Range Ip for scan The Format Mentioned above examples :
192.168.1.240-250
192.168.240/10
192.168.240,241



 Now you need to configure Job Summary


the job will start immeditaly as we choose press "Refresh Ip Scan Result" to check The result. you can check it also from here :


Check the Host






Next Post will be How to Add Agent Manually .

You can Download this Article From here.

Thank you
Osama Mustafa





Wednesday, May 1, 2013

3872 Actual Result: Port 3872 passed is busy Check complete

This error appear while trying to deploy agent for Enterprise manager 12c (em12c) and the cause for this error that port 3872 is already in use :

solution


[root@em12c Middleware]# netstat -anp | grep 3872

tcp        0      0 :::3872                     :::*                        LISTEN      2391/java    
     
[root@em12c Middleware]# kill -9 2391

[root@em12c Middleware]# netstat -anp | grep 3872

Deploy Again

Thank you
Osama Mustafa