+ All Categories
Home > Documents > Generic Linux Upgrade from Oracle9i Real Application ... Real Application Clusters ... See Oracle®...

Generic Linux Upgrade from Oracle9i Real Application ... Real Application Clusters ... See Oracle®...

Date post: 12-Apr-2018
Category:
Upload: vuhuong
View: 225 times
Download: 0 times
Share this document with a friend
31
Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using Database Upgrade Assistant (DBUA) An Oracle White Paper February 2005 Version 1.1 18.04.2005
Transcript

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using Database Upgrade Assistant (DBUA) An Oracle White Paper February 2005 Version 1.1 18.04.2005

Introduction........................................................................................................3 Oracle10g REAL APPLICATION ClusterS UPGRADE STEPS ............3

Prepare to Upgrade.......................................................................................3 Test the Upgrade Process ............................................................................4 Test the Upgraded Test Database ..............................................................4 Prepare and Preserve the Production Database .......................................4 Upgrade the Production Database .............................................................4 Enable New Features in the Production Database ..................................5 New SYSAUX Tablespace ..........................................................................5

Prepare and check your existing Oracle 9i Real Application Clusters Installation ..........................................................................................................6 Operating System Requirements for Oracle10g Real Application Clusters on LINUX................................................................................................................7

Operating System requirements ..................................................................7 User and Group requirements ....................................................................7

Installing Oracle10g Real Application Clusters .............................................7 Oracle10g CRS Installation ..........................................................................7 Oracle10g Database Intallation .................................................................10

DBUA using an existing srvm configuration from oracle9i......................12 Run the Oracle Net Configuration Assistant (NetCA) .........................12 DBUA turns off ARCHIVE LOG mode during upgrade....................13 Run DBUA ..................................................................................................14

DBUA without using an existing srvm configuration from oracle9i .......19 POST- upgrade steps ......................................................................................24

Performance.................................................................................................24 Verify your RAC Installation.....................................................................25 Backup the Voting and OCR device ........................................................26 NTP Protocol ..............................................................................................26

REFERENcES ................................................................................................27 Troubleshooting...............................................................................................28

Tracefiles and Debugging ..........................................................................28 Known Bugs ................................................................................................28

Appendix A ......................................................................................................29 Appendix A ......................................................................................................29

Parameters ....................................................................................................29 New Processes.............................................................................................30

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 2

Generic Linux* Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA

INTRODUCTION The recommended method to upgrade from one Oracle release to the next is to use the Database Upgrade Assistant (DBUA). This document focuses on the upgrade part of DBUA from Oracle9i Real Application Clusters Release to the Oracle10g Real Application Clusters Release on Linux x86.

* The DBUA steps are identical on any Linux platform such as IA64 / x86_64.

ORACLE10g REAL APPLICATION CLUSTERS UPGRADE STEPS

• Prepare to upgrade

• Test the upgrade process

• Test the upgraded test database

• Prepare and preserve the production database

• Upgrade the production database

• Tune and adjust the new production database

• Parameters

• New Processes

• SYSAUX tablespace

Prepare to Upgrade Become familiar with the features of the new Oracle Database 10g release and determine your upgrade method.

There are two possibilities: manual upgrade or using the DBUA, which is the recommended way to upgrade a Real Application Clusters database. Define home directories for the new Oracle Database 10g release. The Cluster Ready Services (CRS) installation ($ORA_CRS_HOME), and if you intend to

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 3

use ASM, the ASM home directory ($ORA_ASM_HOME). Prepare a backup strategy in the event that your upgrade fails and develop pre-production test plans.

Test the Upgrade Process Perform a test upgrade using a test database. The test upgrade should be conducted in an environment created for testing and should not interfere with the actual production database. Ideally, the test environment should resemble as closely as possible, the structure and environment of the production database. Datasets, runtime simulation, and workload should be the same as your production environment.

Test the Upgraded Test Database Perform the planned tests on the test database that was upgraded to the new Oracle Database 10g release.

Compare results, noting anomalies like errors, between the Oracle10g Real Application Clusters test database and on the production database.

Investigate ways to correct any anomalies you find and then implement the corrections. You may consider using the new tools available in Oracle10g Real Application Clusters to identify and correct these runtime anomolies. These tools include Automatic Workload Repository (AWR) and the SQL Tuning Advisor (see the Oracle Database 10g documentation for futher details).

Do not upgrade production users to the new Oracle Database until all of the applications have been tested and you have ensured that they operate properly on the test database.

Prepare and Preserve the Production Database Prepare the current production database as appropriate to ensure that the upgrade to the new Oracle Database 10g release will succeeds.

• Check your production database log files for are any errors.

• Take performance data (AWR reports) from all of the nodes and identify any performance bottlenecks.

• Perform a full backup of the current production database.

Schedule the downtime required for backing up and upgrading the production database.

Upgrade the Production Database Upgrade the production database to the new Oracle Database 10g release.

After the upgrade, perform a full backup of the production database and perform post-upgrade tasks.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 4

Enable New Features in the Production Database Determine which features of the Oracle Database 10g release that you want to use and modify your applications, if necessary, to use the new features. Note, these features should have been defined and fully tested in the Oracle10g Real Application Clusters test environment prior to the upgrade.

During the upgrade, multi-versioning can be a useful feature because you can keep multiple copies of the same database on one computer. You can use the existing release as your production environment while you test the new release.

See Oracle® Database Upgrade Guide10g Release 1 (10.1) Part No. B10763-02 pg. 1-6 for more information.

New SYSAUX Tablespace This section describes the minimum size for the SYSAUX tablespace, which is required in Oracle Database 10g. The SYSAUX tablespace must be created after the new Oracle Database 10g release is started and BEFORE the upgrade scripts are invoked - this is done by DBUA automatically.

The SYSAUX tablespace, introduced in Oracle Database 10g Release 10.1, serves as a compatibility and interoperability auxillary tablespace to the SYSTEM tablespace. Because SYSAUX is the default tablespace for many Oracle10g features and products that previously required their own tablespaces, it reduces the number of tablespaces that you must maintain.

Almost all tools now place their objects in SYSAUX, for example, the Automatic Workload Repository (AWR) has to be located there. The SYSAUX tablespace can't be deleted or renamed and must be created with a minimal size or 240MB. The recommended size is 500MB. Using DBUA the SYSAUX tablespace will be created automatically.

To monitor which tools or procedures are using the SYSAUX tablespace select from V$SYSAUX_OCCUPANTS. An example of the output is as follow:

OCCUPANT_NAME SCHEMA_N MOVE_PROCEDURE -------------- -------- -------------------------------- LOGMNR SYSTEM SYS.DBMS_LOGMNR_D.SET_TABLESPACE LOGSTDBY SYSTEM SYS.DBMS_LOGSTDBY.SET_TABLESPACE AO SYS DBMS_AW.MOVE_AWMETA XSOQHIST SYS DBMS_XSOQ.OlapiMoveProc ODM DMSYS MOVE_ODM SDO MDSYS MDSYS.MOVE_SDO WM WMSYS DBMS_WM.move_proc EM SYSMAN emd_maintenance.move_em_tblspc TEXT CTXSYS DRI_MOVE_CTXSYS ULTRASEARCH WKSYS MOVE_WK

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 5

PREPARE AND CHECK YOUR EXISTING ORACLE 9i REAL APPLICATION CLUSTERS INSTALLATION

Verify that the existing Oracle9i Real Application Clusters instances are running without issues. To ensure optimal performance in an Oracle10g Real Appliction Clusters database, all performance issues should be addressed prior to the migration.

The Oracle9i Oracle Cluster Manager called ORACM coexists with the new Oracle10g CRS. No changes to the configuration files for the Oracle9i Oracle Cluster Manager are necessary.

During the upgrade, the DBUA determines if it is running in a cluster environment. If not, the selected database is assumed to be "Single instance" by default. If DBUA identifies a cluster environment, it then verifies that the selected database exists in the Oracle10g Oracle Cluster Repository (OCR).

If the Oracle Database 10g exists then the DBUA retrieves all of the information relative to the selected database in from the OCR. During the CRS installation the Oracle9i Real Application Clusters file specified in /var/opt/oracle/srvConfig.loc is migrated to the OCR and it populates the OCR with all relevant Oracle9i database configuration information.

If the OCR does not have the Oracle9i database configuration information, then DBUA checks the /etc/oratab entries on remote nodes for the same database with matching $ORACLE_HOME(s). If the DBUA identifies matching $ORACLE_HOME(s) in the /etc/oratab files (local and remote), it assumes that it is a cluster database and asks the user for the local instance name. Once it gets the local instance details DBUA connects to the Oracle9i instance and gathers database information from global views to populate the Oracle10g OCR. From this point on, DBUA uses the Oracle10g OCR to process global configuration information for the Oracle9i and Oracle10g databases.

Please check your /etc/oratab files on all of the nodes for equivalence.

Use the Oracle9i $ORACLE_HOME/bin/srvctl status database –d <db_name> command to determine which databases are registered within the srvm.dbf.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 6

OPERATING SYSTEM REQUIREMENTS FOR ORACLE10g REAL APPLICATION CLUSTERS ON LINUX

Operating System requirements Prior to the installation, check if the operating system version and patch upgrades meet the Oracle10g requirements. Read the prerequisites documented in the Oracle® Real Application Clusters Installation and Configuration Guide 10g Release 1 (10.1) for AIX-Based Systems, Apple Mac OS X, HP-UX, HP Tru64 UNIX, Linux, Solaris Operating System, and Windows Platforms Part No. B10766-08

User and Group requirements If the oracle user exists, but its primary group is not oinstall or it is not a member of the appropriate OSDBA or OSOPER groups, then enter the following command to modify it. Specify the primary group using the -g option and any required secondary groups using the -G option:

# /usr/sbin/usermod -g oinstall -G dba[,oper] oracle

Please read chapter 5 “Pre-Installation Tasks for RAC on Linux” from the Real Application Clusters Installation and Configuration Guide 10g Release.

INSTALLING ORACLE10g REAL APPLICATION CLUSTERS The Oracle10g Real Application Clusters installation has two phases. First the CRS / CSS installation in a separate HOME called $ORA_CRS_HOME and second the RDBMS installation in the $ORACLE_HOME.

Oracle10g CRS Installation During the CRS installation the user who is installing Oracle10g must be able to read and write to the Oracle9i oraInventory. If a different user will perform the installation then this user must be in the same group as the Oracle9i user. Confirm that the Oracle10g installing user is in the correct group by issuing the command: “id” as either user oracle9 or user oracle10 uid=502(oracle10) gid=54(oinstall) groups=54(oinstall),55(dba) uid=501(oracle9) gid=54(oinstall) groups=54(oinstall),55(dba)

If a Global Service Daemon (GSD) from Oracle9i, Release 9.2 or earlier, is running, then stop it before installing Oracle Database 10g CRS by executing the following command from the Oracle9i GSD’s Oracle home:

$ORACLE_HOME/bin/gsdctl stop

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 7

__________________________________________________________

Note:

If a shared srvm config file specified in /var/op/oracle/srvConfig.loc exists in Oracle9i, then this file will be used as Oracle10g OCR file. During the CRS installation a OCR file location and a voting file location is requested. Before running the $ORA_CRS_HOME/root.sh on the first node change the CRS_OCR_LOCATION variable defined $ORA_CRS_HOME/root.sh (line number 212) to reflect the 9i srvm.dbf:

CRS_OCR_LOCATION=/ocfs_10g/9i_oracm/srvm.dbf

This step must be performed on all nodes.

The /etc/oracle/ocr.loc file will have the pointer to the in Oracle9i specified /var/opt/srvConfig.loc, srvm.dbf file eg.

cat /etc/oracle/ocr.loc ocrconfig_loc=/ocfs_10g/9i_oracm/srvm.dbf local_only=FALSE

$ORA_CRS_HOME/root root.sh will create this at the section # 9.2 installed previously if [ -f "$OCRCONFIG" ]; then # srvConfig.loc file exists, So take this location ocr.loc SRV_OCRLOC=`$AWK -F= '/srvconfig_loc/ {print $2}' < $OCRCONFIG` if [ "$SRV_OCRLOC" = "/dev/null" ]; then # Old OCR location is already invalidated. So ignore it # take the location entered by user to polulate ocr.loc SRV_OCRLOC=$OCRCLOC Fi

____________________________________________________

After running the $ORA_CRS_HOME/root.sh script, the /etc/oracle/ocr.loc will define the location of the OCR file. The Oracle9i pointer to the srvm file will be modified to point to /dev/null.

cat /var/opt/oracle/srvConfig.loc Local_only=FALSE srvconfig_loc=/dev/null

After successfully running $ORA_CRS_HOME/root.sh on all of the nodes, the Oracle 10g CRS and the Oracle9i oracm stack will both be up and running.

To confirm successful execution of the $ORA_CRS_HOME/root.sh script on all of the nodes, run $ORA_CRS_HOME/bin/ocrcheck as root, the version should be version2:

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 8

Status of Oracle Cluster Registry is as follows : Version : 2 Total space (kbytes) : 262144 Used space (kbytes) : 404 Available space (kbytes) : 261740

Cluster registry integrity check succeeded

___________________________________________________________

Note:

After the language selection screen appears during the CRS installation the following error message might appear if the srvm.dbf is on an OCFS mounted drive. Then try the following workaround:

Before installing CRS, move /var/opt/oracle/srvConfig.loc to a backup location. Afterwards while doing the CRS Install on the "Cluster Node Selection" screen move /var/opt/oracle/srvConfig.loc back and continue with the installation.

___________________________________________________________

Figure 1 - Seeing this error message please apply workaround from Bug: 3940214 noted above.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 9

Oracle10g Database Intallation The installation performs the same steps like any other Oracle10g installation. But during the installer session it will discover that there is an existing Oracle9i database installed and the Oracle Universal Installer (OUI) will run the two additional steps as described in this section.

Figure 2 - OUI discovers that a database from a previous version is installed.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 10

Figure 3 - All installed Oracle9i databases are listed and can be choosen for upgrade.

The installation is complete when the $ORACLE_HOME/root.sh script completes. The Virtual IP Configuration Assistant (VIPCA) is invoked from within the $ORACLE_HOME/root.sh script. Confirm that the VIP is configured and running by issuing the following command:

ifconfig

eth0 Link encap:Ethernet HWaddr 00:B0:D0:21:D8:84 inet addr:140.86.194.88 Bcast:140.86.199.255 Mask:255.255.248.0 inet6 addr: fe80::2b0:d0ff:fe21:d884/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5752434 errors:0 dropped:0 overruns:1 frame:0 TX packets:126279 errors:0 dropped:0 overruns:0 carrier:0 collisions:774 txqueuelen:100 RX bytes:715754138 (682.5 Mb) TX bytes:69324548 (66.1 Mb) Interrupt:9 Base address:0xdc80 eth0:1 Link encap:Ethernet HWaddr 00:B0:D0:21:D8:84 inet addr:140.86.194.104 Bcast:140.86.194.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:9 Base address:0xdc80

In this example the VIP interface eth0:1 is running on NIC eth0.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 11

The Global Service Daemon (GSD) of Oracle9i should not be running. This can be verified with gsdctl stat on all of the nodes. Only the GSD from Oracle10g should be running.

To verify all of the Oracle10g node applications resource statuses, including GSD and VIP, run the following command

$ORA_CRS_HOME/bin/crs_stat –t

An example of the output is as follows:

Name Type Target State Host ------------------------------------------------------------ ora.mars.gsd application ONLINE ONLINE mars ora.mars.ons application ONLINE ONLINE mars ora.mars.vip application ONLINE ONLINE mars ora.venus.gsd application ONLINE ONLINE venus ora.venus.ons application ONLINE ONLINE venus ora.venus.vip application ONLINE ONLINE venus

The Oracle10g GSD is running for compatibilty to support Oracle9i clients like SRVM, and the EM AGENT. Oracle10g clients are not using the Oracle9i GSD anymore. The above output reflects node applications status for all resources on the nodes MARS and VENUS. Node application descriptions can be found in the Oracle10g documention, Oracle® Real Application Clusters Administrator’s Guide. Once the installation is complete, the DBUA runs to upgrade your Oracle9i database.

DBUA USING AN EXISTING SRVM CONFIGURATION FROM ORACLE9i DBUA may be used with an existing SRVM configuration file or without this file. The steps to follow for both scenarios are outlined below.

After installing the new Oracle Database 10g release and specifying an instance to upgrade, the DBUA is started automatically. Otherwise, the DBUA can be started in the stand alone mode after the installation is complete by running:

$ORACLE_HOME/bin/dbua

Run the Oracle Net Configuration Assistant (NetCA) If you are upgrading from Oracle9i and a listener was not configured in the Oracle9i repository, then run Oracle10g NetCA to configure the listener protocol address and service information for the new Oracle Database 10g, including a listener.ora file. An Oracle Database 10g listener is required for an Oracle Database 10g database. Previous versions of the listener are not recommended for use with an Oracle10g database. However, it is possible to use an Oracle Database 10g listener with previous versions of the Oracle database for Oracle 9i/ Oracle10g co-existence and backwards compatibility.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 12

___________________________________________________________

Note:

It is important to run NetCA before running the DBUA. Although DBUA does not create or modify the listener.ora file, DBUA registers the database in the listener.ora file in the new Oracle Home as it upgrades the database.

___________________________________________________________

To check whether resources are online or offline use the following command: $ORA_CRS_HOME/bin/crs_stat –t

Name Type Target State Host ------------------------------------------------------------ ora....RS.lsnr application ONLINE ONLINE mars ora.mars.gsd application ONLINE ONLINE mars ora.mars.ons application ONLINE ONLINE mars ora.mars.vip application ONLINE ONLINE mars ora....US.lsnr application ONLINE ONLINE venus ora.venus.gsd application ONLINE ONLINE venus ora.venus.ons application ONLINE ONLINE venus ora.venus.vip application ONLINE ONLINE venus

DBUA turns off ARCHIVE LOG mode during upgrade The Oracle 10.1.0.x DBUA disables archiving during the upgrade (the original archiving mode is restored after the upgrade is done). This improves upgrade performance. Disabling archiving may cause problems in conjunction with Data Guard or Standby Databases. The DBUA gets the information to turn OFF archiving during the upgrade from an XML file which is generated by a PL/SQL package.

___________________________________________________________

Note:

You can make the following one-word change in this PL/SQL file to enable ARCHIVE LOG mode during the upgrade:

a) Open the file $10gOH/rdbms/admin/utlu101x.sql b) Go to line no.1234 or search for a line with text ArchiveLog Modify the line

1234 '<DisableArchiveLogMode value="true"/>');

to 1234 '<DisableArchiveLogMode value="false"/>'); c) Save the file and run DBUA RESULT: This will cause the database to be upgraded in the Archive log mode.

___________________________________________________________

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 13

Modify $ORACLE_HOME/bin/dbua $LD_LIBRARY path variable

Due to a bug the DBUA can fail with a PRKH-1001 HASCONTEXT INTERNAL ERROR (UNEXPECTED CLSS ERROR:[12] error message during the database information discovery. The workaround is as follows:

Before starting the $ORALE_HOME/bin/dbua, add /etc/ORCLcluster/oracm/lib to the LD_LIBRARY_PATH in the $ORALE_HOME/bin/dbua script line 135.

# Set the LD_LIBRARY_PATH to set the path for shared objects # Do not set it on AIX if [ $PLATFORM != IBM_AIX ]; then LD_LIBRARY_PATH=/etc/ORCLcluster/oracm/lib:$LIB32_DIR:$ORACLE_HOME/network/lib32:$LIB_DIR:$ORACLE_HOME/network/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH; fi

Run DBUA Below are the steps invoked to perform a successful upgrade.

Figure 4 - All instances running on the server from previous Oracle9i releases are listed.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 14

Figure 5 - Choose an instance, type the sys password and select next. Now the database information will be gatherd. If in Oracle9i the shared configuration file srvm was used the information is already migrated to the Oracle10g OCR.

Figure 6 - Specify the SYSAUX tablespace, minimum size required is 240MB.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 15

Figure 7 - Select to recompile all invalid objects after the upgrade. In multiple CPU environments another checkbox offeres to choose the number of parallel threads for recompilation.

Figure 8 - Select ‘I would like this tool to backup the database’ if DBUA should perform a backup.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 16

Figure 9 - Specify the Enterprise Manager control.

Figure 10 – At the Database Services screen additional Services can be added if needed.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 17

Figure 11 - The Summary screen will display all modifications done during the upgrade.

Figure 12 - The progress bar indicates which component will be upgraded and the progress. After a successful upgrade the summary screen will display the changes and modifacations.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 18

DBUA WITHOUT USING AN EXISTING SRVM CONFIGURATION FROM ORACLE9i ___________________________________________________________________

Note:

Please read the section “DBUA turns off ARCHIVE LOG mode during upgrade” page 13.

If the DBUA cannot obtain information from an Oracle9i srvm configuration file, then use the /etc/oratab information, from all of the nodes to discover if an Oracle9i Real Application Clusters database is installed and then select from global views to retrieve from an active instance to upgrade to a cluster database. Therefor, all instances in a cluster must be running prior to running DBUA.

The /etc/oratab entry for the $ORACLE_HOME must be identical on all nodes for the DBUA to identify a clustered environment.

____________________________________________________________

If DBUA indentifes a clustered environment using the /etc/oratab, then the DBUA prompts for a local instance name for the identified clustered database.

Figure 13 - At the popup window enter the instance name from the instance where the DBUA was launched.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 19

Figure 14 - DBUA will automatically create the SYSAUX tablespace. Minimum recommended size is 400 MB.

Figure 15 - Select ‘Recompile invalid objects…’ if all invalid ojbects should be recompiled.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 20

Figure 16 - Make sure a backup exists before you start the upgrade process.

Figure 17 - Choose yes or no, to configure the Database with Enterprise Manager.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 21

Figure 18 - During the upgrade process additional services can be created.

Figure 19 - Choose the TAF policy if additional services are added.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 22

Figure 20 - The Summary screen will display all modifications done during the upgrade.

Figure 21 – Now the individual upgrade steps will be performed and after the successful upgrade to Oracle Database 10g, the detailed Upgrade Results will be displayed. During the upgrade DBUA will shutdown all instances, start one in exclusive mode and perform the necessary steps.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 23

Figure 21 – The Upgrade Results screen at the end of the upgrade.

POST- UPGRADE STEPS

Performance

Rule-Based Optimizer Desupported

Starting with Oracle Database 10g release 10.1, the cost-based optimizer (CBO) is enabled by default. The rule-based optimizer is no longer supported in release 10.1. As a result, rule and choose are no longer supported as OPTIMIZER_MODE initialization parameter values and a warning is displayed in the alert log if OPTIMIZER_MODE is set to either of these values.

Optimizer Statistics

Collection of optimizer statistics is now automatically performed by default for all schemas (including SYS), for pre-existing databases upgraded to Oracle Database 10g, and for newly created Oracle Database 10g databases. Gathering

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 24

optimizer statistics on stale objects is scheduled by default to occur daily during maintenance.

Optimizer statistics are automatically gathered with the job GATHER_STATS_JOB. This job gathers statistics about all of the objects in the database that have:

• Missing statistics

• Stale statistics

This job is created automatically at database creation time and is managed by the Scheduler. This Scheduler runs this job when the maintenance window is opened. By default, the maintenance window opens every night from 10p.m. to 6a.m. and all day on weekends. The GATHER_STATS_JOB continues until it finishes, even if it exceeds the allocated time for maintenance. The duration of maintenance can be changed.

See Also: Oracle Database Administrator's Guide for information about the Scheduler and maintenance tasks

COMPUTE STATISTICS Clause of CREATE INDEX

In earlier releases, the COMPUTE STATISTICS clause of CREATE INDEX could be used to start or stop the collection of statistics on an index. This clause has been deprecated. Oracle Database 10g now automatically collects statistics during index creation and rebuild. This clause is supported for backward compatibility and will not cause errors.

AWR and Statspack

Database performance statistics are now automatically collected by the AutomaticWorkload Repository (AWR) database component for databases upgraded to Oracle Database 10g. This data is stored in the SYSAUX tablespace, and is used by the database for automatic generation of performance recommendations.

If Statspack is used for performance data gathering, then refer to the Statspack README (ORACLE_HOME/rdbms/admin/spdoc.txt) for directions about using Statspack in Oracle Database 10g to avoid conflict with the AWR. For more information regarding performance tuning see the Oracle Database 10g Performance Tuning Guide.

Verify your RAC Installation

Check if your Private Interconnect is used correctly

Confirm that RAC is using the desired IPC protocol by checking the alert.log to identify the protocol used.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 25

cluster interconnect IPC version:Oracle UDP/IP IPC Vendor 1 proto 2 Version 1.0 PMON started with pid=2

RAC will use the same “virtual” interconnect selected during CRS install. To confirm which interconnect is used and where it is defined, use the following select statement.

“select * from x$ksxpia;” ADDR INDX NST_ID P PICK NAME_KSXPIA IP_KSXPIA ---------------- ---- ------ - ---- ----------- --------- 00000003936B8580 0 1 OCR eth1 10.0.0.1 Pick: OCR … Oracle Clusterware OSD … Operating System dependent CI … indicates that the init.ora parameter cluster_interconnects is specified

The ksxpia.pick field indicates where the IPC layer obtains the interconnect definitions which interface and IP.

Backup the Voting and OCR device After installing Oracle RAC 10g and after ensuring that the system is functioning properly, make a backup of the OCR and Voting disk. In addition, make a backup of the OCR and Voting disk contents after you complete any node additions or node deletions and after running any de-installation procedures. Use dd or copy depending on whether your OCR and Voting disk are on raw devices or Oracle Cluster Filsystem files.

Please see Note.279793.1 for additional information

NTP Protocol We recommend setting up the Network Time Protocol (NTP) on all cluster nodes. This synchronizes the clocks among all of the nodes, and facilitates analysis of tracing information based on timestamps. Note that adjusting clocks by more than 15 minutes can cause instance evictions. It is strongly advised to shutdown all instances before date/time adjustments.

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 26

REFERENCES

Oracle® Database Upgrade Guide 10g Release 1 (10.1) Part Number B10763-02 Oracle® Real Application Clusters Installation and Configuration Guide 10g Release 1 (10.1) for AIX-Based Systems, Apple Mac OS X, hp HP-UX, hp Tru64 UNIX, Linux, Solaris Operating System, and Windows Platforms Part No. B10766-08 Note: 265831 Automatic Checkpoint Tuning in 10g Note: 276301.1 DBUA Took Primary to NOARCHIVELOG Mode Note: 222627.1 Migrating to the Cost-Based Optimizer Migrating Databases To and From ASM with Recovery Manager see Oracle® Database Backup and Recovery Advanced User's Guide 10g Release 1 (10.1) Part Number B10734-01

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 27

TROUBLESHOOTING

Tracefiles and Debugging To turn on DBUA tracing modify $ORACLE_HOME/bin/dbua at the end of the script and add -DTRACING.ENABLED=true -DTRACING.LEVEL=2 in front of the classpath, as follows:

$JRE_DIR/bin/java -Dsun.java2d.font.DisableAlgorithmicStyles=true -DORACLE_HOME=$OH -mx64m -DTRACING.ENABLED=true -DTRACING.LEVEL=2 -classpath $CLASSPATH oracle.sysman.assistants.dbma.Dbma $*

During the migration DBUA writes trace files to $ORACLE_HOME/assistants/dbma/logs and in $ORACLE_BASE/admin/upgrade/<database>/*

Known Bugs Bug:3724769 DBUA does not cover the non-existance from a listener in 9i Bug:4040264 DBUA fails with error PRKR-100: cluster database does not exist Bug:4147045 DBUA fails with PRKH-1001 HAScontext internal error (unexpected CLSS error:[12]) Bug: 3690107 DBUA takes the db to noarchivelogmode creating a gap in the standby database Bug: 3940214 10.1.0.2 and 10.1.0.3 CRS installations fail on existing 9.2 RAC environment

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 28

APPENDIX A

Parameters Check the existing Oracle9i Real Application Clusters database parameter file for deprecated parameters and the Oracle10g Real Application Clusters database for obsolete parameters.

Deprecated Parameters SQL> select name from v$parameter where isdeprecated='TRUE'; NAME ----------------------------- buffer_pool_keep (DB_KEEP_CACHE_SIZE in 10g) buffer_pool_recycle (DB_RECYCLE_CACHE_SIZE in 10g) drs_start (DG_BROKER_START in 9.2) fast_start_io_target (FAST_START_MTTR_TARGET in 9.0) global_context_pool_size lock_name_space log_archive_start max_enabled_roles parallel_automatic_tuning parallel_server (CLUSTER_DATABASE in 9.0) parallel_server_instances (CLUSTER_DATABASE_INSTANCES in 10g) plsql_compiler_flags (PLSQL_CODE_TYPE and PLSQL_DEBUG) serial_reuse

Obsolete Parameters SQL> select name from v$obsolete_parameter; DBLINK_ENCRYPT_LOGIN ORACLE_TRACE_COLLECTION_NAME HASH_JOIN_ENABLED ORACLE_TRACE_COLLECTION_PATH LOG_PARALLELISM ORACLE_TRACE_COLLECTION_SIZE MAX_ROLLBACK_SEGMENTS ORACLE_TRACE_ENABLE MTS_CIRCUITS ORACLE_TRACE_FACILITY_NAME MTS_DISPATCHERS ORACLE_TRACE_FACILITY_PATH MTS_LISTENER_ADDRESS PARTITION_VIEW_ENABLED MTS_MAX_DISPATCHERS PLSQL_NATIVE_C_COMPILER MTS_MAX_SERVERS PLSQL_NATIVE_LINKER MTS_MULTIPLE_LISTENERS PLSQL_NATIVE_MAKE_FILE_NAME MTS_SERVERS PLSQL_NATIVE_MAKE_UTILITY MTS_SERVICE ROW_LOCKING MTS_SESSIONS SERIALIZABLE OPTIMIZER_MAX_PERMUTATIONS TRANSACTION_AUDITING UNDO_SUPPRESS_ERRORS

New init.ora parameters asm_diskgroups log_archive_config asm_diskstring log_archive_local_first asm_power_limit plsql_code_type db_flashback_retention_target plsql_debug db_recovery_file_dest plsql_optimize_level db_recovery_file_dest_size plsql_warnings db_unique_name resumable_timeout ddl_wait_for_locks sga_target fileio_network_adapters skip_unusable_indexes gcs_server_processes smtp_out_server instance_type sp_name ldap_directory_access sqltune_category streams_pool_size

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 29

New important defaults LOG_ARCHIVE_FORMAT: should include %s, %t, and %r PGA_AGGREGATE_TARGET: not set: enabled with 20% of the SGA 0: disabled Value set: PGA=Value STATISTICS_LEVEL = TYPICAL [Default] collects data and saves it to the AWR (see also: v$statistics_level) FAST_START_MTTR_TARGET = 0 not set: enables automatic checkpointing 0: disables automatic checkpointing Value set: enables automatic checkpointing

New Processes There are a few new background processes who are important for Oracle Database 10g. For Monitoring purposes MMAN == Memory Manager (? SGA) MMON == Manageability Monitor (? AWR) MMNL == Manageability Monitor Light (? AWR) For Backup&Recovery and Flashback CTWR == Change Tracking Writer (? CTF/RMAN) RVWR == Recovery Writer (? Flashback Logs) For Automatic Storage Manager ASMB == ASM Background RBAL == ASM Rebalance master ARBn == ASM Rebalance 0..n For DataGuard NSV == Data Guard Net Slave INSV == Data Guard Instance-Slave

There are several new operating system processes for CRS and the Cluster Synchronization Services (CSS) such as:

ocssd.bin crsd.bin evmd.bin

Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA Page 30

White Paper Title: Generic Linux Upgrade from Oracle9i Real Application Clusters to Oracle10gR1 Real Application Clusters Using DBUA . Author: Knapp Roland Contributing Authors: Mike Dietrich, John McHugh Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 www.oracle.com Copyright © 2003, Oracle. All rights reserved. This document is provided for information purposes only and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.


Recommended