Saturday, July 25, 2009

What's wrong with the network?

# ifconfig eth0
>> show status of network device eth0

#iwconfig eth0
>> show status of wireless device eth0

# iwlist scan
>> List wireless networks in range

# ip link show
>> List network interfaces

# ip addr show
>> List addresses for interfaces

# hostname -i
>> Lookup local ip address

# netstat -tup
>> List active connections to/from system

# ip route show
>> List routing table

Attention:This file(or car??) is backing up

Note: xxx and yyy are filenames

# tar -cvf archive.tar xxx
create a uncompressed tarball

# tar -cvf archive.tar xxx yyy dir1
create an archive containing 'xxx', 'yyy' and 'dir1'

# tar -tf archive.tar
show contents of an archive

# tar -xvf archive.tar
extract a tarball

# tar -xvf archive.tar -C /dir
extract a tarball into /dir

# tar -cvfj archive.tar.bz2 dir1
create a tarball compressed into bzip2

# tar -xvfj archive.tar.bz2
>> decompress a compressed tar archive in bzip2

# tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg'
>> Make encrypted archive of dir/ on a remote machine

dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz'
>> Backup harddisk to a remote machine

# tar -cvfz archive.tar.gz dir1
create a tarball compressed into gzip

# tar -xvfz archive.tar.gz
Uncompress a compressed tar archive in gzip

# unzip xxx.zip
Uncompress a zip archive

# zip xxx.zip xxx
create an archive compressed in zip


# bunzip2 xxx.bz2
Uncompress a file called 'xxx.bz2'

# bzip2 xxx
compress a file called 'xxx'

# gunzip xxx.gz
Uncompress a file called 'xxx.gz'

# gzip xxx
compress a file called 'xxx'

# gzip -9 xxx
compress with maximum compression

Permissions,Ownerships,users and groups

# chown user1 file1
>> change owner of a file to user1

# chown -R user1:group directory1
>> change owner and group of a directory and all the contents inside it

# chgrp group1 file1
>> change group of files

# chmod ugo+rwx directory1
>> set permissions

read (r),
write (w)
execute (x)

to

owner (u)
group (g)
others (o)

# chmod go-rwx directory1
>> remove permits (rwx) from users (g0)

# ls -lh
>> permits on files

# groupadd [group]
>> create a new group

# groupdel [group]
>> delete a group

# groupmod -n dba oinstall
>> rename a group from dba to oinstall

# useradd -g dba -d /home/applmgr -s /bin/bash applmgr

>> create a new user "applmgr" belongs "dba" group with home directory /home/applmgr and default shell /bin/bash


# userdel -r oracle
>> delete a user oracle

Search and Find

# which (Command/executable)
>> Full path to a binary / executable

# whereis (binary)
>> location of a binary file, source

# find /usr/bin -type f -mtime -7
>> search files created or changed within 7 days

# find / -name file1
>> search file and directory from '/'

# find / -user user1
>> search files and directories belonging to 'user1'

# find /home/applmgr -name \*.fmx
>> search files with '. fmx' extension within directory '/ home/applmgr'

# find /usr/bin -type f -atime +100
>> search binary files that are not used in the last 100 days

# find / -name *.fmb -exec chmod 755 '{}' \;
>> search files with '.fmb' extension and modify permissions

Mount a File system

# mount /dev/hda1 /mnt/hda1
>> mount a disk called hda1

# mount /dev/hdc /mnt/cdrecorder
>> mount a cdwriter

# mount -o loop xxx.iso /mnt/cdrom
>> mount a file or iso image

# mount -t vfat /dev/hda1 /mnt/hda1
>> mount a Windows FAT32 file system

# mount -t smbfs -o username=xxxx,password=xxxx //Ip-address/share /mnt/share
mount a windows network shared directory

# fuser -km /mnt/hda1
>> force umount when the device is busy

File System

# ls
>> List files of a directory

# ls -a
>> Lsit hidden files

# ls -lrt
>> List files by date.

# cd
>> Go to $HOME directory

# cd ..
>> Go to previous directory

# cd ../..
>> Go back two levels

# mkdir dir1
>> create a directory called 'dir1'

# mkdir dir1 dir2
>> create two directories simultaneously

# mkdir -p /dir1/dir2/dir3
>> create a directory tree

# mv dir1 dir2
>> rename / move a file or directory from dir1 to dir2

# pwd
>> show the path of working directory

# rm -f file1
>> delete file called 'file1'

# rm -rf dir1
>> remove a directory called 'dir1' and contents recursively

# rmdir dir1
>> delete directory called 'dir1'

# touch -t 0712250000 file1
>> modify timestamp of a file or directory - (YYMMDDhhmm)

# ln -s file1 lnk1
>> create a symbolic link to file or directory

# ln file1 lnk1
>> create a physical link to file or directory

# du -sh dir1
>> space used by directory 'dir1'

Friday, July 24, 2009

System Commands

#uname -a
version and system architecture

#cat /etc/issue
Name and version of Linux Distro

#grep MemTotal /proc/meminfo
RAM total seen by the system

#cat /proc/version
Linux version

#date
system date

#cal
Calender

#cal -3
Three month calender

#lspci
-tv
PCI and Adapter info

#last reboot
system reboot history

#badblocks -s /dev/sda
Test for unreadable blocks on disk sda

#tail -f /var/log/messages
check messages in a log file

#free -m
RAM remaining in MB

#fdisk -l
Disks partitions sizes and types

#df -h
free space on filesystems

# fsck /dev/hda1
Repair / check integrity of linux filesystem on disk hda1

# fsck.ext3 /dev/hda1
repair / check integrity of ext3 filesystem on disk hda1

# mkfs /dev/hda1
>> create a filesystem type linux on hda1 partition

# mkfs -t vfat 32 -F /dev/hda1
>> create a FAT32 filesystem

# mkswap /dev/hda3
>> create a swap filesystem

# swapon /dev/hda3
>> Activate a new swap partition

Restart shutdown Logout

# init 0 Shutdown a system
#init 6 reboot a system

#logout Leave a session
#reboot reboot a system

#shutdown -r now reboot a system
#shutdown -h now Shutdown a system

#shutdown -h 22:00 & Shutdown a system at 22:00

#poweroff Stop the system

Wednesday, July 22, 2009

Html or Self-service page not coming up

This happened on a Test instance.

A user today came up with this error .
On examining the exception details which looks something like this.


Exception Details.
oracle.apps.fnd.framework.OAException: Could not load application module 'oracle.apps.pos.supplier.server.SuppSummAM'. at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:279) at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:78) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1283) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:536) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:424) at _OA._jspService(_OA.java:212) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:702) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:359) at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:252) at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:42) at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:186) at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283) at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:191) at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:322) at _RF._jspService(_RF.java:225) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64) at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15) at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:610) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:359) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230) at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33) at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:595) ## Detail 0 ## JBO-30003: The application pool (parasaktidev.sinewloresoft.comDEVPCIL1527oracle.apps.pos.supplier.server.SuppSummAM) failed to checkout an application module due to the following exception: oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.apps.fnd.framework.OAException, msg=Application: FND, Message Name: FND_GENERIC_MESSAGE. Tokens: MESSAGE = java.sql.SQLException: ORA-20001: SQL_PLSQL_ERROR: N, ROUTINE, MO_GLOBAL.INIT, N, ERRNO, -20001, N, REASON, ORA-20001: APP-FND-02902: Multi-Org profile option is required. Please set either MO: Security Profile or MO: Operating Unit profile option. ORA-06512: at "APPS.FND_MESSAGE", line 509 ORA-06512: at "APPS.MO_GLOBAL", line 36 ORA-06512: at "APPS.MO_GLOBAL", line 757 ORA-06512: at "APPS.MO_GLOBAL", line 700 ORA-06512: at line 1


The highlighted part shows that the Profile options MO:Security Profile and MO:Operating Unit

need to be set correctly.


These profile options are being changed by some other user while testing.

On reverting to the relevant and appropriate values, everything went fine.

Tuesday, July 21, 2009

Deploying a New Forms formsapp.ear File

After applying CPU July 2009 for 12.0.6 instance,

it recommends to deploy a new formsapp.ear

The reason for this is-----

A Forms patch may contain changes to the Forms listener servlet code. If so, the patch will contain a new formsapp.ear file to update the J2EE Forms module.
To complete the patching process, this new formsapp.ear file must be deployed within the Forms OC4J container used with Oracle Applications.

This is how it is done in R12.

Set the env and stop all services.

Backup the present system-jazn-data.xml located at
$INST_TOP/ora/10.1.3/j2ee/forms/config/

Change the oc4jadmin password if required (if you dont know or remember)

vi system-jazn-data.xml

Change the credentials tag in the file for user name oc4jadmin as follows:

First remove the encrypted line in between the tags

and then enter the password you want to give preceded by a !(exclamatory) symbol.

Save and exit the file.


Now Run the Deployment Script

$FND_TOP/bin/txkrun.pl -script=CfgOC4JApp

Enter Application name for re-deployment ? forms
Enter Oc4j Instance password for re-deployment ? welcome (or current password)
Run Autoconfig ? No

and enter the Apps schema password when asked.

It also prompts whether to run Auto-config

Blank Page Accessing R12

After applying the CPU patch July 2009,
I encountered with this error.

An exception occured.

URL=http://host.domain:port/OA_HTML/OA.jsp?page=/oracle/apps/fnd/sso/login/
webui/MainLoginPG&akRegionApplicationId=0&transactionid=1417503822&language_code=US
&requestUrl=&oas=mAZ72j_xwRUpq6ij9xcwFw..

javax.servlet.ServletException: oracle.classloader.util.
AnnotatedClassNotFoundException:

Missing class: _OA

Dependent class: oracle.jsp.runtimev2.JspPageInfo
Loader: oc4j:10.1.3
Code-Source: /oraAPP/apps/tech_st/10.1.3/j2ee/home/lib/ojsp.jar
Configuration: in META-INF/boot.xml in /oraAPP/apps/tech_st/10.1.3/j2ee/home/oc4j.jar

This load was initiated at oacore.web.html.jsp14212142:0.0.0 using the loadClass() method.

The missing class is not available from any code-source or loader in the system.


This is surely a problem with jsps not getting compiled correctly earlier.

So re-compilation is needed.

Compiled the JSPs as follows:

cd $FND_TOP/patch/115/bin
perl ojspCompile.pl --compile --flush -p 2

which first translates all the jsps and then compiles them all.


Prior to that Check if the consolidatesd enviroment is sourced or
cd $APPL_TOP
. APPSCONTEXT_NAME.env


And then restart the Application services.



Refer to Doc id:467562.1 for Blank Page Accessing R12 -


Sunday, July 19, 2009

GSIAP: DUPLICATE ORDER ID WHILE RUNNING REMITTANCE PROGRAM

In R12 Payments
While Running remittance program, this error appears.

GSIAP: DUPLICATE ORDER ID WHILE RUNNING REMITTANCE PROGRAM

Resolution is :

Apply patch 7485946

MANUAL TYPE PAYMENTS, PAYABLE DOCUMENT NUMBER WRONGLY GENERATING

While creating manual payments,

after selecting the payment document,If we go to enter/adjust invoice.Select the invoice and once save it is changing to some other number.

Expected Behaviour is once saved the number should not change.

Apply patch 8526412 which requires a password to download.
The password can be obtained by raising an SR with Oracle Support.

Friday, July 17, 2009

PLS-925 native compilation failed

As requested by one of our techies, I had to enable native compilation for database which is on 10.2.0.3 and Apps is on 12.0.6

This is done as follows:

ALTER SESSION SET PLSQL_CODE_TYPE='NATIVE';

which has a default value as INTERPRETED;

as required for a particular session .


The other two parameters for native compilation are:

PLSQL_NATIVE_LIBRARY_DIR
plsql_native_library_subdir_count

which have values well set for my instance.


But when I tested it with a test procedure,
native compilation failed with these errors.

PLS-00925: native compilation failed: Unable to create C file.


Checked with the file permissions for nativelib directory under $ORACLE_HOME/plsql

but still didnot work.


The reason is found to be

The directories required to store the shared libraries
generated as part of native PL/SQL compilation are not present.

I thought that the gcc compiler is not picking up the code.

So checked with the spnc_commands file under plsql directory ( which by default
should not have any problem)

The $ORACLE_HOME, I replaced it with actual path and retested which didnt work.

Finally, I discovered that the directories which the compiler
is trying to access under nativelib directory are not there as indicated by the
error.

PLS-925: native compilation failed: Unable to create C file

DB oracle home/plsql/nativelib/d_number/name.c

So created the directories manually
using mkdir -p d0 ------- d100

and then the compilation went fine as per the procedure.

Tuesday, July 14, 2009

E-Business Suite Release 12.1.1 Maintenance Pack

Pre-update Tasks

Upgrade Oracle Database to version 10.2.0.3 or later

before applying the Release 12.1.1 maintenance pack.

Refer 454750.1 for 10g release 2
Refer 735276.1 for 11g release 1

Upgrade OracleAS 10g Release 3 (10.1.3) to Patchset 4 (10.1.3.4)

454811.1

Upgrade OracleAS 10g Release (10.1.2) for Forms and Reports to Patchset 3 (10.1.2.3)
437878.1

Upgrade Oracle E-Business Suite Release 12 JDK to Java 6.0 latest update
455492.1

Oracle Configuration Manager (OCM)
727157.1

Apply the AD Minipack

Use AutoPatch to apply R12.AD.B.1 (Patch 7461070).
760167.1

To apply Release 12.1.1,

1. Use AutoPatch to apply Release 12.1.1 (Patch 7303030)
2. Use AutoPatch to apply the latest consolidated online help patch (Patch 7303031)

Post-Update Steps

As the APPLMGR user
. APPL_TOP/APPSCONTEXT_NAME.env

Run the admkappsutil.pl utility to create the file appsutil.zip in the INST_TOP/admin/out directory.
As the oracle user,

cd RDBMS ORACLE_HOME

. CONTEXT_NAME.env
# Copy or FTP the appsutil.zip file to the RDBMS ORACLE_HOME.
# Uncompress appsutil.zip under the RDBMS ORACLE_HOME.

cd ORACLE_HOME
unzip -o appsutil.zip
#Run AutoConfig on the RDBMS ORACLE_HOME.
#Run AutoConfig on all nodes with an Appl_Top.
adautocfg.sh

Run adpreclone.pl on the database tier and the application tier. Since updates included in Release 12.1.1 were applied to the system, you must run the adpreclone again in order to apply the updates to the clone directory structures used during cloning.


perl adpreclone.pl dbTier
perl adpreclone.pl appsTier


For 12.1.1 Maintenance Pack Installation Instructions Refer 752619.1

Perform NLS related steps
Register new products if any..
Update client products for 12.1.1 and perform prodcut-specific steps if any..

Saturday, July 11, 2009

Enable Autoconfig in New Oracle Home

Autoconfig will not be enabled on the database tier when

Database tier not created by Rapid Install
Cross platform migration of the database tier
Upgrading to 11g Database
Upgrading the database tier from Applications 11i to E-Business Suite Release 12

Confirm if latest autoconfig patch is applied on apps Tier

If your instance is on 12.0.X and is not upgraded to 10.1.3.3 AS patchset, Patch 4585869 needs to be applied in order to use the adbldxml utility.

Copy AutoConfig to the RDBMS ORACLE_HOME


Log in to the APPL_TOP environment (source the environment file)
Create appsutil.zip file
perl AD_TOP/bin/admkappsutil.pl

This will create appsutil.zip in INST_TOP/admin/out

On the database tier (as the ORACLE user)

Copy or FTP the appsutil.zip file to the RDBMS ORACLE_HOME
cd RDBMS ORACLE_HOME
unzip -o appsutil.zip
Run AutoConfig on the database tier and then on the applications tier


Download Jre from
http://java.sun.com/javase/downloads/index_jdk5.jsp

Install JRE on the Database tier
under ORACLE_HOME/appsutil directory created in above step.

Jre is required by adbldxml.pl to build the context_name.xml for database

cd [ORACLE_HOME]/appsutil/
mkdir jre
cd jre

Install the downloaded latest update of JRE 5.0

./jre_xxx_xxx.bin

As the apps tier jdk is on jdk 5 version ,
I decided to install the same version on db Tier
and later as part of the JDk upgrade I willl upgrade both the tiers to JDK 6 as required for the APPS upgrade.

I have tried copying the jre directory from 10g Oracle_home which worked fine.

Generate the Database Context File
perl RDBMS_ORACLE_HOME/appsutil/bin/adbldxml.pl

Run Autoconfig.

This builds the context_name.env file required by Apps Database under RDBMS_ORACLE_HOME.

$ tnsping SID
from apps tier to confirm the connectivity of database.

Upgrade 11.1.0.6 to 11.1.0.7

On each application tier server node,
shut down all server processes or services.

On the database tier server node,
shut down the database listener in the old Oracle home.

On the database server node,
as the owner of the Oracle 11g file system and database instance, unzip and extract the 11.1.0.7 patch set file for your platform.

Set the environment to the oracle_home to be upgraded.
Use the runInstaller in the patchset to start the OUI.

./runinstaller -invPtrLoc /oraDb/app/oracle/....../11.1.0

I did this as my global inventory is not set.

Once the OUi starts from the LOV s in the Oracle_home list choose the appropriate one to be upgraded and the location also.

The present oracle_home and its location will appear if the environment is set correctly.

Proceed with the next steps on the OUI screen.

Click Next when it says Configuration Assistant has failed.
This skips the other configuration assistants also ,whixh actually are not required by E-business Suite Installations.

Post Installation

Once done Apply the RDBMS patches
7486407 and 7684818

to this Oracle_home, which are as always applied using opatch..

Gather statistics for SYS schema

Copy $APPL_TOP/admin/adstats.sql from the administration server node to the database server node.

$ sqlplus '/ as sysdba'
SQL> shutdown normal;
SQL> startup restrict;
SQL> @adstats.sql
SQL> shutdown normal;
SQL> startup;
SQL> exit;

This finishes upgrade of 11.1.0.6 to 11.1.0.7

Check it :
SQL> select banner from v$version;

Restart all the Applications server processes
that you shut down before installing the patch set. Users may return to the system.

Friday, July 10, 2009

Upgrade R12 Database server

How to upgrade R12 Database server from 10.2.0 to 11.1.0 (10g to 11g) manually ?

We cannot upgrade the existing Oracle Home, since 11g is not a patchset. We have to install 11g oracle home
as a separate ORACLE_HOME in parallel to 10g Oracle Home.

We have to install the new database for upgrading the existing database.
But before installing check the software versions for.....

a)Oracle database version and check the appropriate upgrade path accordingly depending on the present version.

b)E-business suite version---minimum is 12.0.4 and apply interoperability patch for 11g on apps node using adpatch

c)Autoconfig has to be upgraded to latest version by applying 7207440.

I did not need to apply as my instance is on 12.0.6 and 6728000(12.0.6 upgrade patch) supersedes this autoconfig patch..

Now steps for database installation

1.Apply patch 6400501 to Apps 10.1.0.5 Oracle-home

2. Deregister the current database if you want to change database sid,host,port.
And update autoconfig for database also before that.

$ perl $ORACLE_HOME/appsutil/bin/adgentns.pl appspass=apps
contextfile=$CONTEXT_FILE -removeserver

3. Update applications context file with new database parameters....
s_dbhost
s_dbdomain
s_db_serv_sid
s_dbport
s_apps_jdbc_connect_descriptor

to new database values. Don't run auto config on apps tier now....
otherwise apps will not be able to connect to database at all.
Run autoconfig only after complete upgrade process is finished..


Database Installation

The 11.1.0 Oracle home must be installed on the database server node
in a different directory other than the current Oracle home

Log in to the database server node as the owner
of the Oracle RDBMS file system and database instance. Ensure
that environment settings, such as ORACLE_HOME, are set for the new
Oracle home you are about to create, and not for any existing
Oracle homes on the database server node

Choose to install software only (without any default database) in the new location.


After the installation,

Run utlu111i.sql (located in 11g_ORACLE_HOME/rdbms/admin) on source 10g database
and check the output.
SQL>@/11g_oracle_home/rdbms/admin/utlu111i.sql

It displays warnings and recommends steps to clear the issues.

Time Zone Issue

select * from v$timezone_file;

FILENAME VERSION
------------ ----------
timezlrg.dat 3

If time zone file version is less than 4 then apply time zone patch 5632264

This can be done using opatch.
unzip the patch and run opatch going into the unzipped patch directory.

or manually copy the .dat files under 5632264/files/oracore/zoneinfo into
$ORACLE_HOME/oracore/zoneinfo

Bounce the database and check the TIMEZONE version.

Do not forget to take a backup of old zoneinfo directory before this.


Re-run utlu111i.sql after patching the database to record
the new timezone file version.

This time it says something like Database contains stale optimizer statistics.
So..

Gather statistics

SQL> EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
SQL> EXEC DBMS_STATS.GATHER_SCHEMA_STATS(’SYS’);
SQL> EXEC DBMS_STATS.GATHER_SCHEMA_STATS(’SYSMAN’);

And other schemas which ever it recommends for.

Run the pre-upgrade utility once again to make sure,
you don’t get any warnings.

Copy initialization file (pfile) from source (10g) to target (11g)

Modify initialization parameters
1.
background_dump_dest replaced by diagnostic_dest
user_dump_dest replaced by diagnostic_dest
core_dump_dest replaced by diagnostic_dest

comment above three deprecated parameters

and add
*.diagnostic_dest=’/11g_base’

2.
Change *.compatible=’10.2.0′

to *.compatible=’11.1.0′

Set Environment to new Oracle home

export ORACLE_HOME=/oraDB/app/oracle/product/11.1.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=TEST
export TNS_ADMIN=$ORACLE_HOME/network/admin/Context_Name

sqlplus '/as sysdba'

Startup the database in upgrade mode.

SQL> startup upgrade
SQL> SPOOL upgrade.log

SQL> @catupgrd.sql

This takes considerably a long time depending on the size of database.

Once the upgrade finishes,It will shut down the database automatically.
Login again as sysdba and startup in normal mode.

You will get NLS errors as nls directory under new oracle_home does not have 9idata directory

Run the $ORACLE_HOME/nls/data/old/cr9idata.pl script to create the $ORACLE_HOME/nls/data/9idata directory.

I , actually copied the 9idata directory from 10g oracle_home to new location.

After creating the directory,

make sure that the ORA_NLS10 environment variable is set to the full path of the 9idata directory whenever you enable the 11g Oracle home.

SQL>startup

Check the dba_registry for the components and its status

SQL> select comp_name,version, status from dba_registry;

Run Post-Upgrade Status Tool provides a summary of the upgrade

SQL>@?/rdbms/admin/utlu111s.sql

Perform upgrade actions that do not require the database to be in UPGRADE mode


SQL>@?/rdbms/admin/catuppst.sql

Check for invalid objects

SQL> select object_name, owner, object_type from all_objects where status= ‘INVALID’;

Compile Invalids

SQL> @?/rdbms/admin/utlrp.sql

Copy tnsnames.ora, listener.ora, sqlnet.ora and include file from source oracle_home to target oracle_home

This finishes upgrade of 10.2.0.3 database to 11.1.0.6 in E-Business Suite R12.

Further we have to upgrade the existing 11.1.0.6 to 11.1.0.7 using a patchset.

which I will discuss in my next post..

After Upgrade
Start the new database listener

Set the TNS_ADMIN environment variable to the directory where you created your listener.ora and tnsnames.ora files.

Run adgrants.sql
Copy $APPL_TOP/admin/adgrants.sql (adgrants_nt.sql for Windows) from the administration server node to the database server node.

$ sqlplus '/ as sysdba'
SQL> @adgrants.sql APPLSYS

Grant create procedure privilege on CTXSYS

Copy $AD_TOP/patch/115/sql/adctxprv.sql from
the administration server node to the database server node.
$ sqlplus apps/apps
SQL>@adctxprv.sql SYSTEM_password CTXSYS

Implement and run AutoConfig in the new database Oracle Home.

How to implement autoconfig in a new oracle_home ...coming up.....

Wednesday, July 8, 2009

Status

Presently,

Besides my regular work,
I am working on upgrading a 12.0.6 instance to 12.1.1.

Finished:
Though it was not mandatory to upgrade database, I have upgraded Apps 10.2.0.3 Database to 11.1.0.7 with some issues to work on.

Still to be done as part of it are:
10.1.2 HOme Upgrade
10.1.3 Home upgrade
Jdk upgrade
AD upgrade
OCm upgrade
and finally the maintenance pack of 12.1.1

Will do it and come up with a post on upgradation ,most probably by this weekend.

Friday, July 3, 2009

Alert Log file in 11G

From 11g,
the alert log is written as both an XML-formatted file and as a text file also.

Both these log files are stored inside the ADR home.The ADR root directory is known as ADR BASE.The Automatic Diagnostic Repository (ADR) is a directory structure that is stored outside of the database.

SQL> show parameter diagno

NAME TYPE VALUE
--------------------------- ----------- ------------------------------
diagnostic_dest string /u01/oracle/product/ora11g/log


The location of an ADR home is given by the following path, which starts at the ADR base directory:

ADR_BASE/diag/product_type/product_id/instance_id

XML formatted alert.log
-------------------------


The alert log is named log.xml and is stored in the alert sub-directory of ADR home.

To get the log.xml path

ADR_HOME/diag/product_type/product_id/instance_id/alert

from sqlplus

SQL> select value from v$diag_info where name ='Diag Alert';

ADRCI utility to view a text version of the alert log (with XML tags stripped)

Text formatted alert.log
-----------------------

The alert.log is named alertSID.log and is stored in the trace subdirectory of ADR home.


To view the text only alert.log file

ADR_HOME/diag/product_type/product_id/instance_id/trace

SQL> select value from v$diag_info where name ='Diag Trace';
or
SQL>show parameter background_dump_dest



The alert log of a database is a chronological log of messages and errors, including the following:

  • All internal errors (ORA-600), block corruption errors (ORA-1578), and deadlock errors (ORA-60) that occur
  • Administrative operations, such as the SQL statements CREATE/ALTER/DROP DATABASE/TABLESPACE and the Oracle Enterprise Manager or SQL*Plus statements STARTUP, SHUTDOWN, ARCHIVE LOG, and RECOVER
  • Several messages and errors relating to the functions of shared server and dispatcher processes
  • Errors during the automatic refresh of a materialized view

INTERMITTENT ORA-06502 DURING PEAK LOADING

In 10.2.0.3,

non reproducible ORA-06502 arises from

time to time when the production has the peak loading.


Alter system flush shared pool helps the problem for a while....


Error:

ORA-06502:

numeric or value error: associative array shape is not consistent with

session parameters

(PLS-01910)

numeric or value error: character to number conversion error (PLS-01900)

Solution:

Apply patch 5890966 to resolve the error using opatch utility.