重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1210|回复: 1
打印 上一主题 下一主题

使用 dbua升级到 18c

[复制链接]
跳转到指定楼层
楼主
发表于 2018-10-24 15:16:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Oracle 18c - Complete Checklist for Upgrading to Oracle Database 18c (18.x) using DBUA  (文档 ID 2418576.1)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
 楼主| 发表于 2018-10-24 15:17:21 | 只看该作者
本帖最后由 郑全 于 2018-10-24 15:21 编辑

In this Document

Purpose
Scope
Details
Database Upgrade Assistant (DBUA)
About Read-Only Oracle Homes
Upgrade Path / Compatibility Matrix for 18.x Oracle Database
Requirements and Recommendation for source database
Requirements and Recommendations for Target database
Prerequisites for Preparing Oracle Home on Windows
Pre Upgrade
Check for Invalid Objects / Components
Gathering Optimizer Statistics to Decrease Oracle Database Downtime
Verifying Materialized View Refreshes are Complete Before Upgrade
Check of TIMESTAMP WITH TIMEZONE Datatype
Ensuring That No Files Are in Backup Mode and no files need media recovery Before Upgrading
Purging Recycle Bin before upgrade
Databases That Use Oracle Label Security and Oracle Database Vault
Save OEM DB Control Configuration (For Oracle Database releases earlier than 12.1)
Single-instance databases:
Oracle Real Application Clusters (Oracle RAC) databases:
Removing DB Control with emremove.sql (For Oracle Database releases earlier than 12.1)
Desupport of OLAP Catalog (OLAP AMD) (For Oracle Database releases earlier than 12.1)
Copying Transparent Encryption Oracle Wallets
Check the accounts use Case-Insensitive password version
About Password Case Sensitivity
Requirement for Upgrading Databases that Use Oracle Warehouse Builder (OWB)
Invoke DBUA
DBUA ( Step 1 of 9 )
DBUA ( Step 2 of 9 )
DBUA ( Step 3 of 9 )
DBUA ( Step 4 of 9 )
DBUA ( Step 5 of 9 )
DBUA ( Step 6 of 9 )
DBUA ( Step 7 of 9 )
DBUA ( Step 8 of 9 )
DBUA ( Step 9 of 9 )
Post Upgrade
Known Issues


Applies to:  Oracle Database - Enterprise Edition - Version 11.2.0.3 to 18.1.0.0.0 [Release 11.2 to 18]
Information in this document applies to any platform.
Purpose The purpose of this article is to help DBA's / Support Teams to perform the upgrade of a database using DBUA to 18.x.
Scope DBA, Support
DetailsDatabase Upgrade Assistant (DBUA)Database Upgrade Assistant (DBUA) provides a graphical user interface to guide you through the upgrade of Oracle Database.DBUA works for CDB and non-CDB database systems. It is the recommended method for performing a major release upgrade or patchset release upgrade.
You can use DBUA to upgrade multitenant architecture container databases (CDB), pluggable databases (PDBs), and non-CDB databases.
The procedures are the same, but the choices you must make and the behavior of DBUA are different, depending on the type of upgrade.
DBUA automates the upgrade process by performing all of the tasks.
DBUA provides support for Oracle Real Application Clusters (Oracle RAC) databases. In an Oracle RAC environment,
DBUA upgrades all the database and configuration files on all nodes in the cluster.
DBUA, graphical user interface must be invoked within the new Oracle home where the Oracle Database 18c software has been installed.
For windows, Only an Administrator or Installed owner should invoke DBUA for Windows systems.
DBUA runs the Pre-Upgrade Information Tool as part of the prerequisite checks it performs before starting the upgrade.
However, to reduce downtime, Oracle recommends that you run the Pre-Upgrade Information Tool as part of your upgrade planning, so that you can analyze the database,
and take proactive steps before your planned upgrade date.
Once, you address / fix the pre-upgrade recommendation / warnings /errors and continue with the upgrade, DBUA shows the progress of the upgrade for each component of source database.
As with previous releases of DBUA, 18c DBUA restricts the carry over of hidden parameters since Oracle recommends not to have hidden parameters other than those suggested
via support during the upgrade.
To view existing hidden parameters execute the following command while connected AS SYSDBA:
SELECT name,description from SYS.V$PARAMETER WHERE name LIKE '\_%' ESCAPE '\';
DBUA performs some of the checks before actually starting the database upgrade. Some of the checks can be done manually to reduce downtime for the upgrade.
DBUA provides below options:
- Upgrade timezone. The default timezone vetrsion in 18.x is 26.
- Gather dictionary statistics before upgrade.
- Make user tablespaces read only.
- Take RMAN backup before upgrade.
- Create Restore Point for Database Flashback
- Restore database backup to rollback upgrade
- Option to execute Custom scripts before and after upgrade
- show the location of DBUA logs and Alert log files.
- Option to upgrade existing listener to 18.x home or create a new listener in 18.x target home.

About Read-Only Oracle HomesStarting with Oracle Database 18c, you can configure an Oracle home in read-only mode.
In a read-only Oracle home, all the configuration data and log files reside outside of the read-only Oracle home. This feature allows you to use the read-only Oracle home as a software image that can be distributed across multiple servers.
Upgrade Path / Compatibility Matrix for 18.x Oracle DatabaseDBUA can upgrade only supported versions of direct upgrade.Direct Upgrade to 18.x:
Source DatabaseTarget Database
11.2.0.3 and Higher 18.x
12.1.0.x (12.1.0.1 - 12.1.0.2)18.x
12.2.0.118.x

Indirect Upgrade to 18.x:
Source Database Intermediate upgrade path Target database
11.2.0.1/11.2.0.2-->11.2.0.3/11.2.0.4-->18.x
11.1.0.6/11.1.0.7-->11.2.0.3/11.2.0.4-->18.x
10.2.0.2, 10.2.0.3, 10.2.0.4, 10.2.0.5-->11.2.0.3/11.2.0.4/12.1.0.1/12.1.0.2-->18.x
10.1.0.5-->11.2.0.3/11.2.0.4/12.1.0.1/12.1.0.2-->18.x
9.2.0.8 or earlier-->11.2.0.3/11.2.0.4-->18.x


Requirements and Recommendation for source database
- Ensure that all database components/objects provided by Oracle are VALID in the source database prior to starting the upgrade.
- Before you start an upgrade or downgrade process, Oracle strongly recommends that you update both your earlier release and your new release (18.x) Oracle Database to the latest Oracle bundle patch or patch set update (BP or PSU).
- Ensure that you do not have duplicate objects in the SYS and SYSTEM schema. For 1 and 2 refer to:
      Doc Id 556610.1 - Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)
- dbupgdiag.sql script is a set of sql statements intended to provide a user friendly output to diagnose the status of the database either before (or) after upgrade. The script will create a output file called db_upg_diag_<sid>_<timestamp>.log
- IF APEX is installed then it is recommended to upgrade APEX in the source DB first before upgrading DB
- Timezone should less than or equal to target database timezone version.
- Make sure to have a valid backup of source database prior to upgrade.
- Disable any custom triggers that would get executed before / after DDL statements. Re-enable after the upgrade.
- Check the database server upgrade/downgrade compatibility matrix before upgrading the database.
- Set Archive Log ON during upgrade. Oracle recommends that you set Archive Log ON in order for DBUA to create and update the log file for the upgrade process.
- For Oracle RAC, if you upgrade a cluster database using DBUA, then you must leave the CLUSTER_DATABASE initialization parameter set to TRUE.
- Ensure to run the pre-upgrade utility prior to upgrading the database.
- Examine and follow the recommendation given in the preupgrade log file.
- Materialized views in source database should be stopped before upgrade
     Doc ID 1406586.1 - How to Handle Materialized Views When You Upgrade or Clone a Database
- Disable scheduled database custom jobs / cron jobs.
- Min value of COMPATIBLE parameter to upgrade 18.1 is “11.2.0”, make sure you have COMPATIBLE parameter is set to 11.2.0 or greater



Requirements and Recommendations for Target database- Verify whether your operating system / platform is certified for 18.x release.
- Download and Install Oracle 18c (18,x) in a new Oracle_Home and make sure there are no binary relinking errors.
- Download and Install the latest available RU or RUR from My Oracle Support (MOS).
- Make sure to set the ORACLE_HOME, PATH, LD_LIBRARY_PATH, LIBPATH etc. to 18.x target home.
- Review patch recommendations as given in the article "Patches to apply before upgrading Oracle GI and DB to 18c (Doc ID 2414935.1)"


Prerequisites for Preparing Oracle Home on Windows

Your system must meet these requirements before you can upgrade Oracle Database on Microsoft Windows platforms. For security reasons, different Microsoft Windows user accounts configured as Oracle
home users for different Oracle homes are not allowed to share the same Oracle Base.

- Database upgrade is supported when the same Windows user account is used as the Oracle home user in both the source and destination Oracle homes.
- Database upgrade is supported when the Oracle home from which the database is being upgraded uses the Windows Built-in Account. Releases earlier than Oracle Database 12c (release 11.2 and earlier) only supported the built-in account option for the Oracle home user on Windows.
- The Oracle home user may not have access to files outside its own Oracle Base and Oracle home. If that is the case, then if you choose a different Oracle Base during upgrade, it is possible that Oracle Database services cannot access files in the older Oracle Base. Using DBUA for database upgrade ensures that the Oracle home user has access to files outside of its own Oracle Base and its own Oracle home.






Pre Upgrade


$Earlier_release_Oracle_home/jdk/bin/java -jar $New_release_Oracle_home/rdbms/admin/preupgrade.jar [FILE|TERMINAL] [TEXT|XML] [DIR output_dir]


FILE|TERMINAL - Use this option to direct script output to a file. Use TERMINAL to direct output to the terminal. If it is not specified then defaultr is FILE.
TEXT - Use this option to specify log should be in Text format. Use TEXT to specify text output. Use XML to specify XML output. If you do not specify an output type, then the default is text.
DIR - Logs will be created under <output_dir>. Directs the output to a specific directory. If you do not specify an output directory with the DIR option, then the output is directed to one of the default locations: If you define ORACLE_BASE environment variable then the generated scripts and log files will be created under $ORACLE_BASE/cfgtoollogs/<dbname>/preupgrade/ location else it will create under $ORACLE_HOME/cfgtoollogs/db_name/preupgrade/.

For example,
source Oracle Home : /u01/app/oracle/product/12.1.0.1/dbgome_1
target Oracle Home : /u01/app/oracle/product/18.0.0.0/dbhome_1
$ export ORACLE_SID=orcl
$ export ORACLE_BASE=/u01/app/oracle
$ export ORACLE_HOME=/u01/app/oracle/product/12.1.0.1/dbhome_1
$ $ORACLE_HOME/jdk/bin/java -jar /u01/app/oracle/product/18.0.0.0/dbhome_1/rdbms/admin/preupgrade.jar FILE TEXT

Preupgrade generated files:
/u01/app/oracle/cfgtoollogs/orcl/preupgrade/preupgrade.log
/u01/app/oracle/cfgtoollogs/orcl/preupgrade/preupgrade_fixups.sql
/u01/app/oracle/cfgtoollogs/orcl/preupgrade/postupgrade_fixups.sql

Examine the preupgrade.log file and follow the recommendation.



The latest preupgrade utility for 18.x can be found from :
How to Download and Run Oracle's Database Pre-Upgrade Utility (Doc ID 884522.1)



Check for Invalid Objects / Components
set pagesize500
set linesize 100
select substr(comp_name,1,40) comp_name, status, substr(version,1,10) version from dba_registry order by comp_name;
select substr(object_name,1,40) object_name,substr(owner,1,15) owner,object_type from dba_objects where status='INVALID' order by owner,object_type;
select owner,object_type,count(*) from dba_objects where status='INVALID' group by owner,object_type order by owner,object_type ;


If you find invalid objects and/or database components then try to VALIDATE the invalid objects and/or database components by executing the following steps:
Run utlrp.sql to validate the invalid objects in the database. You can execute the utlrp.sql scripts multiple times to validate the invalid objects.
$ sqlplus "/ as sysdba"
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql


Gathering Optimizer Statistics to Decrease Oracle Database Downtime
Oracle strongly recommends that you use this procedure to gather statistics before performing Oracle Database upgrades.Oracle recommends that you use the DBMS_STATS.GATHER_DICTIONARY_STATS   procedure to gather these statistics. For example, enter the following SQL statement:     
SQL> EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;

Verifying Materialized View Refreshes are Complete Before Upgrade  Use this procedure to query the system to determine if there are any materialized view refreshes still in progress. Before upgrading Oracle Database, you must wait until all materialized views have
completed refreshing.
SQL> SELECT o.name FROM sys.obj$ o, sys.user$ u, sys.sum$ s WHERE o.type# = 42 AND bitand(s.mflags, 8) =8;

How to Handle Materialized Views When You Upgrade or Clone a Database (Doc ID 1406586.1)

Check of TIMESTAMP WITH TIMEZONE DatatypeThe time zone files that are supplied with Oracle Database 12c release 2 (18.x) is version 26.
Case 1 Timezone version of source database is lower or equal 26.
If the source database is using a timezone file lower than version 26 then there is no DST patch to apply in source oracle home or target 12cR2 home.
Case 2 Timezone version of source database is higher than 26.
If the source database uses a Timezone version higher than 26 then BEFORE the upgrade you MUST patch the target 12cR2 $ORACLE_HOME with a timezone data file of the SAME version as the one used in the source release database.

Ensuring That No Files Are in Backup Mode and no files need media recovery Before Upgrading
Execute below query to check for the status of the backup:
SQL> SELECT * FROM v$backup WHERE status != 'NOT ACTIVE';
Ensure that no files require media recovery:
SQL> SELECT * FROM v$recover_file;


Purging Recycle Bin before upgrade
SQL> PURGE DBA_RECYCLEBIN;

we can purge the recycle bin via DBUA.

Databases That Use Oracle Label Security and Oracle Database VaultAudit Table Preupgrade and Archive Requirements

For Oracle Database releases earlier than 12.1 using Oracle Label Security and Oracle Database Vault, you must run the OLS preprocess script before you upgrade.

If you are upgrading from a database earlier than Oracle Database release 12.1 that uses Oracle Label Security (OLS) and Oracle Database Vault, then you must first run the OLS preprocess script, olspreupgrade.sql, to process the aud$ table contents. The OLS upgrade moves the aud$ table from the SYSTEM schema to the SYS schema. The olspreupgrade.sql script is a preprocessing script required for this move.

Running the olspreupgrade.sql script before upgrading is mandatory for upgrading databases earlier than Oracle Database release 12.1 that use Oracle Label Security and Oracle Database Vault. Once you have upgraded to Oracle Database release 12.1, you do not have to perform the OLS preprocessing procedure going forward to patch or upgrade the database.

Oracle Database Vault and Upgrades of Oracle Database Release 11.2

If Oracle Label Security is installed in the earlier release that you are upgrading, then grant the DV_PATCH_ADMIN role to SYS.

To run the OLS preprocess script on a release 11.2 database before upgrading:

1.    Copy the following scripts script from the newly installed Oracle home (18.1) to the Oracle home of the database that needs to be upgraded (11.2):
        ORACLE_HOME/rdbms/admin/olspreupgrade.sql
        ORACLE_HOME/rdbms/admin/emremove.sql
        ORACLE_HOME/rdbms/admin/catnoamd.sql

2.    Start SQL*Plus and connect as DVOWNER to the database that you want to upgrade.

3.    Run the following statement:
    SQL> GRANT DV_PATCH_ADMIN to SYS;

4.    At the system prompt, connect SYS as SYSDBA:
    CONNECT SYS AS SYSDBA

5.    Run the preprocess scripts for Data Vault
    ORACLE_HOME/rdbms/admin/olspreupgrade.sql
    ORACLE_HOME/rdbms/admin/emremove.sql
    ORACLE_HOME/rdbms/admin/catnoamd.sql
    You may continue to run your applications on the database while the preprocess scripts are running.

6.    After the olspreupgrade.sql completes its run successfully, start SQL*Plus and connect to the database as DVOWNER.

7.    Run the following SQL statement:
    SQL> REVOKE DV_PATCH_ADMIN from SYS;
For 12.x Granting the DV_PATCH_ADMIN Role to SYS for Oracle Database Vault

If Oracle Database Vault is enabled, then to perform checks for Oracle Data Vault, the upgrade process requires running three SQL scripts - olspreupgrade.sql, emremove.sql, catnoamd.sql

   Start SQL*Plus and connect as DVOWNER to the database that you want to upgrade.

    Run the following statement:
    SQL> GRANT DV_PATCH_ADMIN to SYS;


Save OEM DB Control Configuration (For Oracle Database releases earlier than 12.1)If you plan to downgrade database after upgrading to 18.x, then before starting the upgrade save the DB Control configuration and data using emdwgrd utility, so that you can restore the files after downgrading.
Steps to Save data:
     1. Install the software for the new Oracle Database 12c release.
     2. Set ORACLE_HOME to your old Oracle home.
     3. Set ORACLE_SID to the SID of the database being upgraded.
     4. Set PATH, LD_LIBRARY_PATH, and SHLIB_PATH to point to the upgraded Oracle Database Oracle home.
     5. Change directory to the new Oracle Database release Oracle home.
     6. Run emdwgrd

Single-instance databases:emdwgrd[sh|bat] -save -sid old_SID -path save_directory

Oracle Real Application Clusters (Oracle RAC) databases:
Remote copy must be enabled across all cluster member nodes. Use EM_REMCP environment variable, to indicate which remote copy is configured, for example: export EM_REMCP /usr/bin/scp
emdwgrd -save -cluster -sid old_SID -path save_directory

7. Enter the SYS password for the database that you want to upgrade.

Removing DB Control with emremove.sql (For Oracle Database releases earlier than 12.1)Warning :
The below step should not be executed during the upgrade of Enterprise Manager Cloud Control Repository database. Doing so your EM Cloud Control Repository DB will become unusable.
  

Starting with Oracle Database 12c release 1 (12.1), DB Control is removed as part of the upgrade process.
Stop DB Console:
emctl stop dbconsole
Execute emremove.sql script. The script willbe located in target 18.x OH/rdbms/admin/.
SQL>SET ECHO ON
SQL>SET SERVEROUTPUT ON
SQL>@emremove.sql >> Script located in new 12c ORACLE_HOME/rdbms/admin

After emremove.sql completes, you must manually remove ORACLE_HOME/HOSTNAME_SID and ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_HOSTNAME_SID directories from your file system.

Desupport of OLAP Catalog (OLAP AMD) (For Oracle Database releases earlier than 12.1)Starting with Oracle Database 12c, the OLAP Catalog (OLAP AMD) is desupported and will be removed from the database during the database upgrade. This step can be manually performed before the upgrade to reduce downtime. It can be removed by running the SQL script $ORACLE_HOME/olap/admin/catnoamd.sql script. Do not run the script in UPGRADE mode.

Copying Transparent Encryption Oracle WalletsIf you use Oracle wallet with Transparent Data Encryption (TDE), and you use Database Upgrade Assistant (DBUA) to upgrade the database, then copy the sqlnet.ora and wallet file to the new 18.x Oracle home.
You must copy the sqlnet.ora and the wallet file manually before starting the upgrade.
1. Log in as an authorized user.
2. Manually copy the sqlnet.ora file, and the wallet file, ewallet.p12, to the new release Oracle home.
3. Open the Oracle wallet in mount.
For example:
SQL> STARTUP MOUNT;
SQL> ALTER SYSTEM SET ENCRYPTION WALLET OPEN;

Check the accounts use Case-Insensitive password versionLog in to SQL*Plus as an administrative user, and enter the following SQL query
SELECT USERNAME,PASSWORD_VERSIONS FROM DBA_USERS;
If there are any 10g versions, suggest you to refer Oracle documentation to fix 10g versions, failing to do so, user accounts with LOCKED after upgrade is completed.

About Password Case SensitivityEnsure that you do not have the deprecated parameter SEC_CASE_SENSITIVE_LOGON set to FALSE.

Requirement for Upgrading Databases that Use Oracle Warehouse Builder (OWB)OWB releases earlier than release 11.2.0.3 do not work with Oracle Database 12c. OWB is not installed as part of the software for Oracle Database 18c, and OWB components that may exist in earlier releases are not upgraded as part of the Oracle Database upgrade process. However, you can use OWB release 11.2.0.3 with Oracle Database 18c.

Invoke DBUADBUA ( Step 1 of 9 ) Select the database to be upgrade , as there is only 1 database in example , it is auto selected -- ORCL

                               
登录/注册后可看大图


DBUA ( Step 2 of 9 ) DBUA will execute the preupgrade script (preupgrade.jar) and return warnings / errors.


                               
登录/注册后可看大图


DBUA ( Step 3 of 9 ) After the pre-upgrade warnings has been addressed, DBUA shows various options like Enable Parallel Upgrade, Recompile invalid objects in post upgrade phase, upgrading timezone, gather statistics before the upgrade, setting the user tablespaces to read only during upgrade. Also, you can provide any custom SQL scripts before or after the upgrade.


                               
登录/注册后可看大图


DBUA ( Step 4 of 9 ) This screen will show various Recovery options to choose from like creating a Guaranteed Restore Point, or Take an RMAN backup or if the backup is already taken outside DBUA then "I have my own backup and restore stratege " option can be chosen.


                               
登录/注册后可看大图


DBUA ( Step 5 of 9 ) in this screen, we can create a new listener or upgrade the existing listener to 18c.


                               
登录/注册后可看大图


DBUA ( Step 6 of 9 ) This screen is for configure EM express or register the upgraded database with EM Cloud control.


                               
登录/注册后可看大图


DBUA ( Step 7 of 9 ) This is the summary screen before the actual upgrade starts. Click on Finish to proceed with the upgrade.


                               
登录/注册后可看大图


DBUA ( Step 8 of 9 ) The DBUA will start the upgrade process of orcl database. It will perform pre-upgrade, database upgrade and post upgrade steps.


                               
登录/注册后可看大图


DBUA will perform the upgrade of database components like Oracle server, XML etc.


                               
登录/注册后可看大图


DBUA ( Step 9 of 9 ) The final screen will show the result of upgrade.

                               
登录/注册后可看大图


It will show the log file location and the time taken by various steps of upgrade.

                               
登录/注册后可看大图


Post UpgradeExecute dbupgdiag.sql script to verify status of objects and components. If there are invalid objects then run utlrp.sql to recompile the invalid objects as follows:
sql> connect / as sysdba
sql> @?/rdbms/admin/utlrp.sql


Known Issues
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-5-5 11:43 , Processed in 0.107185 second(s), 18 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表