Monday, July 13, 2009

Oracle Upgrade From 9i To 10g (Unix Platform)

Hi All,

Here is the procedure to upgrade the oracle 9i to 10g (9.2.0.6 to 10.2.0.4) ...

Some Notes You might need in between:

1) Note 841728 - 10.2: Solutions for installation and upgrade problems

2) Note 819830 - Oracle Database 10g: Additional Information on upgrade:UNIX

3) Note 886783 - Installing Oracle 9207 Client Software on UNIX

4) Note 600141 - Oracle9i: Automatic UNDO Management

5) Note 819829 - Oracle Instant Client Installation and Configuration on Unix

6) Note 830577 - Oracle Database 10g: ORA-21700 when upgrading to 10.1/10.2

7) Note 871735 - Current patch set for Oracle 10.2.0


Prerequisites for unix system :

1. Checking the Correct UNIX Users, Groups, and Authorizations:
Enter the following commands with user orasid:
touch /oracle/write_test
rm /oracle/write_test
umask 022
2) Checking the Directory Structure
Create the staging directory /oracle/stage/102_64.
Extract OR110264.SAR from CD 51031670 to /oracle/stage/102_64
Now perform the following:
cd /oracle/stage/102_64/database OR
cd /oracle/stage/102_64/database/Disk1
mv SAP SAP_ORIG

3) Download RDBMS_SAP_64.zip from note #819830 and copy it over to the
/oracle/stage /102_64/database directory

4) Extract the zip file:
cd /oracle/stage/102_64/database OR
cd /oracle/stage/102_64/database/Disk1
Unzip RDBMS_SAP_64.zip (You should now see the directory SAP extracted which
contains the updated version of SAP-specific files)

5) Check the Oracle inventory directory /var/opt/oracle/oraInst.loc
The default location for the Oracle inventory is $ORACLE_BASE/oraInventory

6) Create the empty Oracle home directory before starting the OUI.
/oracle//102_64

7) Running the Pre-Upgrade Script
Execute the following commands:
sqlplus /nolog
SQL> connect / as sysdba
SQL> spool /tmp/pre_upgrade.log
SQL> @/oracle/stage/102_64/database/Disk1/SAP/utlu102i.sql
SQL> spool off
SQL> exit

(You can check the results of the pre-upgrade script by looking at the log file /tmp/pre_upgrade.log.)

8) Checking the Prerequisites for the Oracle Universal Installer
Log in as the Oracle user ora.
Execute the following commands:
cd /oracle/stage/102_64/database/Disk1
./runInstaller –executeSysPrereqs
(If the OUI complains that the operating system version is not certified or
supported, you can ignore this.If OUI reports missing OS patches, you need to
apply these before you can continue. )

9) Download the latest version of the Oracle Client software ‒ OCL1020464.SAR
Before you start installing / extracting the Oracle client software please
shutdown the SAP application running on that host.Updating the Oracle client
software online (when the SAP system is still running) is not supported and may
result in system errors/inconsistencies.
Now do the following:
mv /oracle/client/10x_64 /oracle/client/10x_64_ORIG
mkdir /oracle/client/10x_64
IMPORTANT!! Go up to this directory, cd /oracle/client/10x_64
SAPCAR -xvf /tmp/OCL1020464.SAR
(Refer Note # 886783)

10) Execute the SQL script sapconn_role.sql as follows:
cp /oracle/stage/102_64/database/Disk1/SAP/sapconn_role.sql $ORACLE_HOME/dbs
cd $ORACLE_HOME/dbs
sqlplus /nolog @sapconn_role

11) 9. Migrating to Automatic Undo Management
Read SAP Note 600141,

12) 10. Stopping Statspack Reports (If running)
Log on as the user under which the statspack jobs run (usually PERFSTAT):
SQL> connect PERFSTAT/
SQL> select job, what from user_jobs;
This displays a list of the jobs that are currently entered under the user PERFSTAT.
Delete all jobs with the print job number :
SQL> connect PERFSTAT/
SQL> execute dbms_job.remove( );


13)Checking the SYSTEM and SYSAUX Tablespace for Free space
Make sure that the SYSTEM and SYSAUX tablespaces have at least between 500 MB and 750 MB freespace.
(If your source database is Oracle 9.2, there is no SYSAUX tablespace. In this case you can ignore references to the SYSAUX tablespace in this section. )
Check Space by:
brspace –f dbshow –c tsinfo –s SYSTEM
brspace –f dbshow –c tsinfo –s SYSAUX
If the size is less then 750 MB of freespace extend the tablespace.


14) Checking for Invalid Database Objects
a). Execute the following commands:
SQL> spool invalid_objects
SQL> select unique object_name, object_type, owner from dba_objects where status ='INVALID';
SQL> @?/rdbms/admin/utlrp.sql
SQL> select unique object_name, object_type, owner from dba_objects where status ='INVALID';
SQL> spool off
A) list of invalid objects before the upgrade is now generated.Invalid Objects Before upgrade
B) Check the list of invalid objects after the upgrade.If any objects in the list from before the upgrade are also in the list of invalid objects after the upgrade, you can be sure that this is not due to the upgrade process.

Oracle Software Installation( started )

1) Set the environment variables below by editing the files .dbenv_.sh and .dbenv_.csh in the home directory of ora.
(Do not make the changes to the environment permanent as long as the old database is still running)

a). Make sure the following environment variables are not set:
n TWO_TASK
n ORA_NLS
n ORA_NLS32
n ORA_NLS33

b). Set the following environment variables:
DISPLAY :0.0 (It is the host on which the OUI will be displayed.)
ORACLE_BASE /oracle
ORACLE_SID
ORACLE_HOME /oracle//102_64
NLS_LANG Set this to the output of the script CHECKS.SQL (/oracle/stage/102_64/database/Disk1/SAP . The database must be open before you execute the script CHECKS.SQL. )
ORA_NLS10 $ORACLE_HOME/nls/data
SAPDATA_HOME /oracle/
SHLIB_PATH $ORACLE_HOME/lib:$SHLIB_PATH


c). Include $ORACLE_HOME/bin in your PATH or path variable, replacing the existing variable with the new one:
set path = ($ORACLE_HOME/bin $path)
Check if the temporary directory (usually /tmp) has at least 400 MB of free space.


2) BackUp the Oracle Inventory

3)Running the Oracle Universal Installer

Start the OUI with the user ora as follows:
cd /oracle/stage/102_64/database/Disk1/SAP
./RUNINSTALLER


4) On The first screen press Next



5)



6) After this press Next next and you will see this screen




7) Installing the Current Patch Set
Only have to install the latest (that is, the current) patch set.
SAP Note 871735.
51036965_4 Patch CD.
Now enter the following command to unzip and extract the installation files:
$ unzip *.zip
Stop all listeners and other processes running in the Oracle home directory, where you need to install the patch set.
cd patchset_directory/Disk1
./runInstaller

8) Specify the detail and continue with installation

Prerequisites for DB Upgrade

1. Copying and Adapting the SQL*Net Files
I. Log on as user ora.
II. If ora have environment variable TNS_ADMIN set, do the following:
a) Choose a new location for the new SQL*Net parameter files and set TNS_ADMIN to point to the new location .
b) Copy the SQL*Net parameter files from the old location to
c) Edit the new SQL*Net files by adapting all file paths for the new directory. Be sure to adapt the value of ORACLE_HOME in the listener.ora file.

III. If ora has not set the TNS_ADMIN environment variable, Oracle first searches in /etc, in
$ORACLE_HOME/network/admin for the SQL*Net parameter files. Choose which of the following applies to your installation:
n The SQL*Net parameter files are located in directory /etc:
a) Make a backup copy of the files.
b) Edit the new SQL*Net files by adapting all file paths for the new directory. Be sure to adapt the value of ORACLE_HOME in the listener.ora file.
n The SQL*Net parameter files are located in /network/admin:
a) Copy the SQL*Net parameter files from to .
b) Edit the new SQL*Net files by adapting all file paths for the new directory. Be sure to adapt the value of ORACLE_HOME in the listener.ora file.

IV. Since your database is still running in the old environment, do not start the listener with the new
listener.ora file at this point.

2) Shutting Down the SAP System and Oracle Listener Process
stopsap r3
lsnrctl stop
Database Upgrade( Started)

1) Checking the oratab Entry
oratab file( /etc )
a). Make sure that the oratab file contains the following entry:
::N
Where old_ORACLE_HOME stands for the path to the old oracle software installation.
b). If this entry does not exist, insert it using a text editor.

2) Starting the Database Upgrade Assistant
Start the Oracle Database Upgrade Assistant (DBUA).
Before Starting Check:
Confirm that the following environment variables point to Oracle 10.2 directories:
ORACLE_HOME points to /oracle//102_64
PATH
ORA_NLS10
LD_LIBRARY_PATH or SHLIB_PATH or LIBPATH
Before you start the DBUA make sure that the DISPLAY environment variable is correctly set.

Now start the DBUA:
cd $ORACLE_HOME/bin
./dbua

3) After this you should be able to see this



4) Choose the database SID in the database screen. And click on “Next”

5) Check the Database Assistant Information window detail after analysis. If the information
is regarding the following points, you can ignore and proceed further by clicking “yes”
(Default is “No”)
1. Stale optimizer statistics
2. Changes to Oracle connect role
3. Information on invalid objects

6) In the SYSAUX creation screen apply the following changes
1. Datafile name and location
a. Change the data file path and file name as
/oracle/SID/sapdata1/sysaux_1/sysaux.data1
b. Increase the initial size to 1000Mb
c. Select the Autoextend on check box
d. Increment 100Mb
e. Modify the selection of Maximum size value to 2000Mb from Unlimited

7) In the Recompilation of invalid objects screen

1. Choose check for the recompilation of invalid objects
2. Select the check box for disable the Archive log during the upgrade.
3. Click on “Next” to proceed

8) Select the “I already backed up my database” and choose next

9) In the “Management Options” screen disable the Configure the database with
enterprise manager option

10) In the “Management Options” screen disable the Configure the database with
enterprise manager option

11) Click Finish on the summary Screen

12) a. Conversion Started By 09:00 PM
b. Conversion End By 11:07 Pm
c. Total Conversion Time 2Hr (Approx)

Post-Upgrade Steps

1). Finalizing the Environment of the oraUser
Make sure that the changes you made to the Oracle user environment are permanently stored in the profiles (.cshrc, .dbenv_.csh, and so on).
2) Checking the Upgraded Database
a) Log onto the database as the ora user.
b) Enter the following command to start SQLPLUS:
sqlplus / as sysdba
c) Enter the following SQL commands:
A) Enter the following command to determine the release of the installed software:
SQL> select version from V$INSTANCE;
B) Enter the following command to determine the release and status of the installed database components:
SQL> select comp_id, version, status from dba_registry;
Make sure that the command returns the status VALID.
C) Check that the version returned in the previous two commands is identical.

After the upgrade check that the following document is created:
$ORACLE_HOME/assistants/dbua/doc/help/DefaultBehaviorChangesin10g.html
3) Extract the latest BR*Tools to the kernel directory /sapmnt/SID/exe
(i) Cd /sapmnt/SYS/exe
(ii) Sapcar –xvf DBATL700O10_18-20001045.SAR

4) Copy the initSID.sap from /oracle/SID/920_64/dbs directory
(i) Cd $ORACLE_HOME/dbs
(ii) Cp /oracle/SID/920_64/dbs/initSID.sap .

5) Update the permissions for the OS$ users for BR*Tools usage
i) cp /sapmnt/SID/exe/sapdba_role.sql /oracle/SID/102_64/dbs
ii) cd /oracle/SID/102_64/dbs
iii) ./sqlplus /nolog @sapdba_role SID

6) Change database compatibility by executing the following SQL command as the ora user
a) Login as oraSID
b) Sqlplus /nolog
c) Connect / as sysdba
i) SQL> alter system set compatible='10.2.0' scope = spfile;
d) Restart the Oracle database.
i) Shutdown immediate
ii) startup

7) Deactivate the Oracle recycle bin by executing the following SQL command as the ora user:
a) SQL> purge dba_recyclebin;
b) SQL> alter system set recyclebin = 'off' scope = spfile;

8) Gather Oracle optimizer statistics as follows:
a) Execute the following commands as the ora user:
b) SQL> spool $ORACLE_HOME/cfgtoollogs/dbstats.log
c) SQL> execute dbms_scheduler.disable('GATHER_STATS_JOB');
d) SQL> execute dbms_stats.gather_system_stats;
e) SQL> execute dbms_stats.gather_dictionary_stats (ESTIMATE_PERCENT => NULL,
METHOD_OPT => 'FOR ALL COLUMNS SIZE AUTO',GRANULARITY => 'ALL',
CASCADE => TRUE, OPTIONS => 'GATHER', NO_INVALIDATE => FALSE);
f) SQL> execute dbms_stats.gather_fixed_objects_stats;
g) Check the log file dbstats.log created at $ORACLE_HOME/cfgtoollogs for any errors during the gathering of statistics

9) Identify the objects that are invalid after the upgrade as follows:
a) Execute the following commands as the ora user:
b) SQL> @?/rdbms/admin/utlrp.sql;
c) SQL> spool $ORACLE_HOME/cfgtoollogs/invalid_post.log
d) SQL> select count(*) from dba_objects where status = 'INVALID';
e) SQL> select substr(owner,1,12) owner, substr(object_name,1,30) object, substr(object_type,1,30) type, status from dba_objects where status <>'VALID' order by owner;
f) SQL> spool off;
g) Check the log file to compare the invalid objects before the start of the upgrade to the upgraded system
10) Disable the following oracle parameters
a) Alter system reset commit_write scope = spfile sid=’*’;
b) Alter system reset cursor_space_for_time scope = spfile sid=’*’;
c) Alter system reset db_file_multiblock_read_count scope = spfile sid=’*’;
d) Alter system reset hash_join_enabled scope = spfile sid=’*’;
e) Alter system reset log_archive_start scope = spfile sid=’*’;
f) Alter system reset optimizer_index_cost_adj scope = spfile sid=’*’;
g) Alter system reset optimizer_mode scope = spfile sid=’*’;
h) Alter system reset statistics_level scope = spfile sid=’*’;
i) Alter system reset timed_statistics scope = spfile sid=’*’;
j) Alter system reset trace_enabled scope = spfile sid=’*’;

11) Restart the database to activate the changes
a) Sqlplus /nolog
b) Connect / as sysdba
c) Shutdown immediate;
d) Startup

12) Gather Statistics for SAP Schema
a) sqlplus /nolog
b) SQL> connect / as sysdba
c) SQL> @/oracle/stage/102_64/database/SAP/updDBSTATC10.sql

13) Update the DBCHECKORA control table after the upgrade as follows:
a) cd /oracle/stage/102_64/database/SAP
b) sqlplus sap/ @dbcheckora10upgr

14) Checking the oratab entry
a) cd /var/opt/oracle
b) Make sure that there is an entry like the following in your oratab file:
i) SID:/oracle/C11/102_64:N

15) Start the Listener process
a) Login oraSID
b) Check the status of the listener process
(i) lsnrctl staus
c) if the process is already not running, start the process
i) To start the listener lsnrctl start

16) Don’t rename the old oracle home directory, just rename the /oracle/SID/920_64 directory.
a) mv /oracle/SID/920_64/bin /oracle/SID/920_64/bin.old

17) Change the following R3 instance parameter to the new oracle home /oracle/SID/102_64.
a) DIR_ORAHOME
b) DIR_CLIENT_ORAHOME
c) DIR_SERVER_ORAHOME

18) Install the Oracle 9.2.0.7 Client software as per the note 886783
a) Login as oraSID
b) cd /oracle/client
c) mkdir 92x_64
d) cd 92x_64
e) SAPCAR –xvf /oracle/stage/920_64/client/OCL92064.SAR

That's all If you have any Problem Start Troubleshooting

Dont forget to apply SAP recommeneded opatches after this..


Hope it will make your upgrade smooth...


Regards,

Gagan Deep Kaushal

Friday, May 22, 2009

Install TOP utility for Solaris

Hi,

Install top utility to findout resource consumption in solaris.

Go to www.sunfreeware.com.
Select your OS and platform.
Then find the top package. It will be in a gzip format.
Download this and get it on your server.
Then use gunzip to unzip the file (gunzip filename.gz).
Finally, used pkgadd to add the top package (pkgadd -d filename).

Regards,
Gagan

Sunday, May 3, 2009

SMS Setting in SAP (SCOT Configuration for SMS)

HI All ,

Here i am sharing the procedure/configuration to send the message from SAP .

Go to T-code SCOT

You will see screen like this






Click on PAG and then create button on same screen






Provide detail as:

NODE: HTTP
Description: SMS Integration




Select HTTP Node



Provide URL provided by third party



Keep password this field blank as we have provided the same in URL itself




Provide maximum length of character allowed by service provider




Provide field address area as *




Provide the time in minutes or hours (depends )




Select Node is ready to Use




Now you can see HTTP service





HTTP Virtual host Configuration

Go to T-code SICF and select default host and then New Sub element






In Log-on tab provide user name and password for same client
Click on HANDLER List tab and provide the handler as shown below




Finally activate the service



HTTP Client proxy setting:

In same T-code SICF








In HTTP Log tab provide proxy detail



Maintain pager Service

Go to Client 000 and run t-code SA14

Provide detail as shown below

Pager Serv: BAL
Use :SMS Service




Go to SPRO in your customizing client


SAP Web Application Server  Basis Services Address Management Define pager services






Provide detail

Pager serv : SMS
Pager service : SMS
Use : SMS Service





Composing a SMS

Go to T-code SBWP





Click on New Message




To monitor the process go to T-code SCOT here you can see 1 in waiting as we have given time for 2 minutes it will send the message after 2 min only




Go to T-code SOST and here we can check the status of message






That's all now you can check you mobile phone for Message :)

Regards,
Gagan Deep Kaushal

Wednesday, April 29, 2009

Run OS Commands from SAP GUI

Hi All,

What a interesting piece of information now you can run os commands from SAP GUI.

Just run report RSBDCOS0 in SA38 and enjoy .

You can change working directory and all.Now no need to ask sysadmin to give password also . :)

Hope all basis will enjoy now..Specially junior guys..

Enjoy maadi....

Regards,
Gagan Deep kaushal

Registering a program on the Gateway

RFC connection test in SM59 might give error similar to this

———————————————————————————————————

Logon Connection Error

Error Details Error when opening an RFC connection

Error Details ERROR: program not registered

Error Details LOCATION: SAP-Gateway on host / sapgw

Error Details DETAIL: TP not registered

Error Details COMPONENT: SAP-Gateway

Error Details COUNTER: 16793

Error Details MODULE: gwr3cpic.c

Error Details LINE: 1694

Error Details RETURN CODE: 679

Error Details SUBRC: 0

Error Details RELEASE: 700

Error Details TIME: Mon APR 17 13:08:02 2009

Error Details VERSION: 2

———————————————————————————————————

The program in the above error should be registered in the gateway for this connection test to complete successfully. The server program rfcexec is responsible for its registration on the gateway.

To register the program login into the OS level as sudo su - adm and execute the following command.

rfcexec –g -a -x

rfcexec is the server program name, the can be obtained from SM59, it is case sensitive and should match with the entry in SM59. The and can be obtained from the transaction SMGW. When this command is executed it goes to a hanging loop.

The connection will fail once this command is terminated or the user executing this command logs off

To avoid this, instead of using the above mentioned command an entry should be made in the file saprfc.ini

To do this, execute the following command

sudo su - adm

rfcexec –D

is the RFC destination name in SM59

So now we are done with registering the server program, but how do we check it is registered, once a server program is registered it is displayed in the Logged on clients in SMGW.

In transaction SMGW choose GOTO-> Logged on clients. There should be an entry for the server program in the screen that is displayed with system type Registered_TP (which indicates that the program is registered)

There can be many reasons due to which we might get this error saying server program is not registered, once such instance which I faced was where in the TREX server, a new RFC destination was defined, the TREX server creates a new program id each time this RFC destination is defined. This program id was not changed in TCP/IP connection is SM59 which was the reason why the destination was failing



Regards,

Gagan Deep Kaushal

Thursday, April 16, 2009

SAP Notes--That help me a lot

Hi,

Through this blog i want to share some SAP note number that can help you in particular scenario because sometime its difficult to find out the same in service market place ......

Administration:


Note 121178 - NT: Installation note for SSO Single Sign On

Note 1171650 - Automated Oracle DB parameter check

Note 830576 - Parameter recommendations for Oracle 10g

Note 153641 - Swap space requirement for R/3 64-bit kernel

Note 570375 - SAP on Sun Solaris: Swap Space and Paging

Note 63906 - Explanation for SWAP SPACE sizes in ST06

Note 150380 - Is MIT Kerberos 5 supported for use with SNC ?

Note 981875 - Optimizer merge fix for Oracle 10.2.0.2




CRM

Note 1152612 - Incorrect component type in structure WRMA_S_RESULT_DATA

Note 724713 - parameter settings for Solaris 10

Note 1038204 - Setting Up the Help Center in SAP CRM

Note 1318162 - Performance problem with document search in CRM

Note 1162685 - SAP CRM 2007 Webclient performance

Note 1277476 - Performance Issues with browser caching of Mime

Note 1255130 - WEBCUIF: Frontend performance w.r.t PAI and table

Note 1247380 - THTMLB cellerator resizing performance enhancement

Tuesday, April 14, 2009

Problem in transport

Hi All,

Recently i have faced a issue with long running transports the reasons is some corrupted transports. So once you met this error you will not be able to even transport any other request.So here is the procedure through which you can resolve any issue related to STMS

1.) Ask everybody to leave the STMS transaction

2.) Ensure that there are no running transports (I mean currently
started) and kill all "tp" processes on all application server of BWP

3.) Copy to another location the content of /usr/sap/trans/tmp
afterwards truncate the content of /usr/sap/trans/tmp

4.) Delete the content of TRBAT and TRJOB tables on BWP if they
containing some entries

5.) Please take a screenshot of the Import Monitor of BWP and after that delete the entry within

6.) Start the failing imports again.



Enjoy Maadi...............


Regards,
Gagan Deep Kaushal