新安装了一台数据库服务器,版本是10.2.0.1的,因为现在最新的是10.2.0.4的。 版本低了,bug多。所以就对数据库做了一个升级。
服务器是windows 2003的系统,都是可视话操作。 下一步的问题。 10.2.0.4的patchset 里面也有详细的安装说明。 之做个总结,是因为这次用了DBUA工具,以前做升级,都是用脚本来的。 这次常个新鲜。基本步骤还是差不多。
升级步骤如下:
1. 从metalink上下载10.2.0.4 的patchset, 编号是:p6810189
2. 关闭数据库, 做个冷备份,防止安装失败。
3. 安装patchset 软件, 这里要注意,ORACLE_HOME 要和以前的一样。
4. 执行脚本 或者用 DBUA 工具
5. 检查确认升级是否成功。
下面是readme上面的说明:
Upgrading a Release 10.2 Database
After you install the patch set, you must perform the following steps on every database associated with the upgraded Oracle home:
Note: If you do not run the catupgrd.sql script as described in this section and you start up a database for normal operation, then ORA-01092: ORACLE instance terminated. Disconnection forced errors will occur and the error ORA-39700: database must be opened with UPGRADE option will be in the alert log. |
1. Log in with administrator privileges.
2. For Oracle RAC installations, start listener on each node of the cluster as follows:
C:/> ORACLE_BASE/ORACLE_HOME/bin/srvctl start listener -n node
3. If you are using Automatic Storage Management, start the Automatic Storage Management instance.
4. For single-instance installations, start the listener as follows:
C:/> lsnrctl start
5. For single-instance installations, use SQL*Plus to log in to the database as the SYS user with SYSDBA privileges:
C:/> sqlplus /NOLOG
SQL> CONNECT SYS AS SYSDBA
Enter password:SYS_password
Users of single-instance installations now proceed to step 7.
6. For Oracle RAC installations:
A. Use SQL*Plus to log in to the database as the SYS user with SYSDBA privileges:
C:/> sqlplus /NOLOG
SQL> CONNECT SYS AS SYSDBA
Enter password: SYS_password
SQL> STARTUP NOMOUNT
B. Set the CLUSTER_DATABASE initialization parameter to FALSE:
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=spfile;
C. Shut down the database:
SQL> SHUTDOWN
7. Enter the following SQL*Plus commands:
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @ORACLE_BASE/ORACLE_HOME/rdbms/admin/catupgrd.sql
SQL> SPOOL OFF
8. Review the patch.log file for errors and inspect the list of components that is displayed at the end of catupgrd.sql script.
This list provides the version and status of each SERVER component in the database.
9. If necessary, rerun the catupgrd.sql script after correcting any problems.
10. Restart the database:
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
11. Run the utlrp.sql script to recompile all invalid PL/SQL packages now instead of when the packages are accessed for the first time. This step is optional but recommended.
SQL> @ORACLE_BASE/ORACLE_HOME/rdbms/admin/utlrp.sql
When the 10.2.0.4 patch set is applied to an Oracle Database 10g Standard Edition database, there may be 54 invalid objects after the utlrp.sql script runs. These objects belong to the unsupported components and do not affect the database operation. Ignore any messages indicating that the database contains invalid recycle bin objects similar to the following: BIN$4lzljWIt9gfgMFeM2hVSoA==$0
|
12. Run the following command to check the status of all the components after the upgrade:
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
In the output of the preceding command, the status of all the components should be VALID for a successful upgrade.
13. If you are using the Oracle Recovery Manager catalog, enter the following command:
C:/> rman catalog username/password@alias
RMAN> UPGRADE CATALOG;
14. For Oracle RAC installations:
A. Set the CLUSTER_DATABASE initialization parameter to TRUE:
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=spfile;
B. Restart the database:
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
C. Start any database services that you want to use:
C:/> ORACLE_BASE/ORACLE_HOME/bin/srvctl start service -d db_name -s service_name
15. To configure and secure Enterprise Manager follow these steps:
Ensure the database and Listener are operational.
In the case of a single instance, execute
emca -upgrade db
In the case of Oracle Real Application Clusters (RAC), execute
emca -upgrade db -cluster
DBUA 工具提供了一个可视化的界面,它的作用等同于执行catupgrd.sql等脚本,dbua工具能升级Oracle 的一些组件。组件升级之后,该工具会自动编译无效的对象, 这个功能还是挺方便的。 省得自己手动的去执行编译脚本了。
SQL>SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
COMP_NAME VERSION STATUS
Oracle Database Catalog Views 10.2.0.4.0 VALID
Oracle Database Packages and Types 10.2.0.4.0 VALID
Oracle Workspace Manager 10.2.0.4.3 VALID
JServer JAVA Virtual Machine 10.2.0.4.0 VALID
Oracle XDK 10.2.0.4.0 VALID
Oracle Database Java Packages 10.2.0.4.0 VALID
Oracle Expression Filter 10.2.0.4.0 VALID
Oracle Data Mining 10.2.0.4.0 VALID
Oracle Text 10.2.0.4.0 VALID
Oracle XML Database 10.2.0.4.0 VALID
Oracle Rule Manager 10.2.0.4.0 VALID
Oracle interMedia 10.2.0.4.0 VALID
OLAP Analytic Workspace 10.2.0.4.0 VALID
Oracle OLAP API 10.2.0.4.0 VALID
OLAP Catalog 10.2.0.4.0 VALID
Spatial 10.2.0.4.0 VALID
Oracle Enterprise Manager 10.2.0.4.0 VALID