Windows 2003从Oracle 9201 update to 9208
1、安装前准备。
通过管理员权限登陆系统,并把Oracle有关以及Distributed Transaction Coordinator
等service停掉。备份与Oracle数据库相关的所有文件(包括Oracle数据库软件及数据文件),
把这些文件按原有的目录结构复制到安全的地方。前提工作完成,进入安装
A.关数据库
Sqlplus /nolog
Shutdown immediate
停监听:
Lsnrctl stop
B.关oracle相关的服务
Services.msc
如果Distributed Transaction Coordinator服务未停止,停掉此服务
C.备份与Oracle数据库相关的所有文件(包括Oracle数据库软件及数据文件),
把这些文件按原有的目录结构复制到安全的地方。
2、安装过程中注意路径选择你9201安装的完整路径,然后next下去(如果途中出现乱码
提示窗口,重新检查关联service是否停止)。
Select the products.xml file from the stagedirectory where you unpacked the patch set files, then click Next. Forexample:
Oracle_patch\stage\products.xml
3、安装成功。
4-5、启动Oracle相关service启动,并用sys身份登陆sqlplus。
先检查system表空间长度:
select tablespace_name,sum(bytes)/(1024*1024) as free_space
from dba_free_space
where tablespace_name = 'SYSTEM'
group by tablespace_name;
如果free_space空间大小小于10(M),则需要加大system表空间的长度既增加表空间
数据文件的大小,先计算需要增加多少长度。
查询数据文件准确路径以及大小:
select file_name, round(bytes/(1024*1024),0)total_space
from dba_data_files
wheretablespace_name = 'SYSTEM';
确定修改后的数据大小为:new_size=total_space+10-free_space;
alterdatabase datafile 'file_name' resize new_size;
设置SHARED_POOL_SIZE JAVA_POOL_SIZE参数。
检查SHARED_POOL_SIZE的大小。
SHOW PARAMETER SHARED_POOL_SIZE;
Show parameter java_pooL_size;
在VALUE列给出了相应参数的大小,注意该数值是以字节计算的。参考的两个参数取值如下表:
物理内存容量(M)SHARED_POOL_SIZE(M)
512 50
1024 100
2048 150
如果该参数的取值小于以上建议值,则应该把它加大到建议值;否则以下的步骤无需执行了
检查系统是使用初始化参数文件还是系统参数文件。
SHOW PARAMETER PFILE;
如果在VALUE列中包括INIT字样,则表明系统使用的是初始化参数文件;若包括SPFILE字
样,则表明系统使用的是系统参数文件
*若系统使用的是初始化参数文件,则需要notepad或其它纯文本编辑器编辑该文件,将以上参数的值增加到建议值
*若系统使用的是系统参数文件,则在SQL>提示符下输入如下命令:
ALTERSYSTEM SET SHARED_POOL_SIZE='150M SCOPE=spfile;
ALTER SYSTEM SET JAVA_POOL_SIZE='150M' SCOPE=spfile;
SHUTDOWN
6、重启数据库并运行catpatch.sql和utlrp.sql重新编译所有的PL/SQL包。
C:\> lsnrctl start
C:\> sqlplus /NOLOG
SQL> CONNECT SYS/SYS_password AS SYSDBA
SQL> STARTUP MIGRATE
SQL> SPOOL patch.log
SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\catpatch.sql
SQL> SPOOL OFF
检查patch.log 是否有errors
如果有错误修正后,可以再次运行catpatch.sql
重启数据库:
SQL> SHUTDOWN
SQL> STARTUP
运行utlrp.sql脚本重新编译无效的 PL/SQL packages
SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\utlrp.sql
7、检查升级后版本,升级完毕
select *from v$version;
selectCOMP_NAME ,status,substr(version,1,10) as version from dba_registry;
###################################################
#### 回退机制: ########
###################################################
1.For Single Instance:
C:\> sqlplus /nolog
SQL> CONNECT SYS/SYS_password AS SYSDBA
SQL> SHUTDOWN
SQL> STARTUP MIGRATE
SQL> SPOOL catbkout.out
SQL>@ORACLE_BASE\ORACLE_HOME\rdbms\admin\catbkout.sql
SQL> SPOOL OFF
SQL> SHUTDOWN IMMEDIATE
2. Restore the Oracle9i installation that you backed up before applying the patch set.
3. After restoring the originalOracle home, perform the following steps:
C:\> sqlplus /nolog
SQL> CONNECT SYS/SYS_password AS SYSDBA
SQL> STARTUP MIGRATE
SQL> SPOOL catpatch.out
SQL>@ORACLE_BASE\ORACLE_HOME\rdbms\admin\catpatch.sql
SQL> SPOOL OFF
****4. If Oracle Spatial is installed withthe database, perform the following steps:
SQL> alter session set current_schema =mdsys;
SQL>@ORACLE_BASE\ORACLE_HOME\md\admin\prvtmd.plb
SQL>@ORACLE_BASE\ORACLE_HOME\md\admin\prvtmd2.plb
SQL>@ORACLE_BASE\ORACLE_HOME\md\admin\sdopidx.sql
SQL>@ORACLE_BASE\ORACLE_HOME\md\admin\prvtpidx.plb
SQL>@ORACLE_BASE\ORACLE_HOME\md\admin\prvtsidx.plb
SQL>@ORACLE_BASE\ORACLE_HOME\md\admin\sdogeom.sql
SQL>@ORACLE_BASE\ORACLE_HOME\md\admin\prvt3glh.plb
SQL>@ORACLE_BASE\ORACLE_HOME\md\admin\prvtgeom.plb
SQL>@ORACLE_BASE\ORACLE_HOME\md\admin\prvt3gl.plb
SQL> alter session set current_schema =sys;
5.Shut down the database:
SQL> SHUTDOWN IMMEDIATE
6.Start the database and recompile theremaining invalid objects:
SQL> STARTUP
SQL>@ORACLE_BASE\ORACLE_HOME\rdbms\admin\utlrp.sql
7.Review catbkout.out and catpatch.out forerrors.
8.Restart the database:
For Single Instance:
SQL> SHUTDOWN
SQL> STARTUP
补充:catpatch.sql script can take a long time if there are statistics for the SYS schema. Delete the statistics on all of the objects in the SYS schema, and then recollect the statistics after normal database open, ifnecessary.
To drop and re-create the statistics, enter the followingcommands in SQL*Plus:
SQL> EXECUTE DBMS_STATS.DELETE_SCHEMA_STATS('SYS');
SQL> EXECUTE DBMS_STATS.GATHER_SCHEMA_STATS('SYS');
注意:如果安装过程中出现带乱码的提示框,一般是oracle实例没有停止,请先按“安装前的准备”做,然后重启电脑,安装。