ORACLE 11G升级.docx
《ORACLE 11G升级.docx》由会员分享,可在线阅读,更多相关《ORACLE 11G升级.docx(23页珍藏版)》请在冰豆网上搜索。
![ORACLE 11G升级.docx](https://file1.bdocx.com/fileroot1/2023-2/4/db7ec3b4-b4b1-4169-a014-c759717aaa04/db7ec3b4-b4b1-4169-a014-c759717aaa041.gif)
ORACLE11G升级
单机ORACLE11.2.0.1.0升级到11.2.0.4.0
系统版本:
Enterprise-R5-U8-Server-x86_64-dvd.iso
1确认原数据库版本:
查看各组件版本号:
selectcomp_name,status,versionfromdba_server_registry;
确认数据库版本信息:
select*fromv$version;
1确认没有物化视图正在刷新:
SELECT*FROMsys.obj$o,sys.user$u,sys.sum$sWHEREo.type#=42ANDbitand(s.mflags,8)=8;
2确认没有数据文件需要恢复:
SELECT*FROMv$recover_file;
3确认没有数据文件正在beginbackup模式:
SELECT*FROMv$backupWHEREstatus!
='NOTACTIVE';
4确认没有分布式事物,如有执行下面清理的语句(关库升级,这一步可以不要)
SELECT*FROMdba_2pc_pending;
SELECTlocal_tran_idFROMdba_2pc_pending;
EXECUTEdbms_transaction.purge_lost_db_entry('local_tran_id');
COMMIT;
5确认回收站有无对象,如有先清理
PURGEdba_recyclebin
原库备份后停库,停止监听,全库冷备份,有条件的话备份$ORACLE_HOME和oraInventory文件夹下所有文件
2新建目录并修改权限(用于防止升级失败回退)
3修改环境变量并注释掉原先的变量
4上传文件并解压:
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
5运行runInstaller升级:
取消更新通知,点击继续:
选择跳过软件更新,继续:
选择更新现有数据库:
选择产品语言(最好和之前安装软件时选择的一致):
继续
选择版本,要和之前的一致,继续
选择安装软件目录,我们这里是新建的目录,且已经配置环境变量,所以直接就显示出来了,
选择组别,我这里这个位置是空白,自己填上即可,继续
检查,数据库已经安装,这里一般没有问题,继续:
开始安装新软件,继续:
监听配置按一般配置就可以,或者直接取消,之后将原来的监听文件拷贝到新目录也可以
之后会出现DBUA升级界面:
直接继续:
选择你要升级的数据库,
警告文件,没什么大问题就继续:
升级选择,升级结束后编译无效对象,升级时区不选择,备份不选择,继续:
升级过程中是否移动数据文件,根据实际情况选择,我这里不移动,继续:
指定快速恢复区,网上说能取消,我这里不能,但是可以修改位置,我这里没有修改,继续:
是否使用EM配置数据库,取消,继续:
概述,确认后继续安装:
此时监听和数据库都启动了:
确认数据库版本信息:
select*fromv$version;
确认数据库升级信息:
setpages2000lines500
colactionformata17
colnamespaceformata10
colversionformata10
colcommentsformata30
colaction_timeformata30
colbundle_seriesformata15
select*fromDBA_REGISTRY_HISTORY;
确认数据库各组件信息:
selectcomp_name,status,versionfromdba_server_registry;
查看是否有失效的对象,有就重新编译
select*fromdba_objectswherestatus='INVALID';
@$ORACLE_HOME/rdbms/admin/utlrp.sql
修改compatible参数至11.2.0.4.0(此值10g后只能由小改大,我这里没有修改)
SQL>showparametercompatible
NAMETYPEVALUE
-----------------------------------------------------------------------------
compatiblestring11.2.0.0.0
altersystemsetcompatible='11.2.0.4.0'scope=spfile;
静默升级:
1原库备份后停库,停止监听,全库冷备份,并备份$ORACLE_HOME和oraInventory文件夹下所有文件
2新建目录并修改权限(用于防止升级失败回退)
3上传文件,解压并修改权限
4修改环境变量,(我这里只是ORACLE_HOME的变量有变化)并立即生效(退出再进入)
5执行升级脚本:
$cddatabase
./runInstaller-silent-debug-force-ignorePrereq\
DECLINE_SECURITY_UPDATES=true\
oracle.install.option=INSTALL_DB_SWONLY\
UNIX_GROUP_NAME=oinstall\
INVENTORY_LOCATION=/u01/app/oraInventory\
ORACLE_HOME=/u01/app/oracle/product/11.2.0.4.0/db\
ORACLE_BASE=/u01/app/oracle\
oracle.install.db.InstallEdition=EE\
oracle.install.db.DBA_GROUP=dba\
oracle.install.db.OPER_GROUP=oinstall
打开一个新窗口,执行root.sh
修改 /etc/oratab 内容为最新位置
复制数据库文件,参数文件密码文件监听文件到新位置,并启动监听,使用 sqlplus 登录。
(我这里的数据文件位置没有变,这里不用复制)
更新数据库数据。
@$ORACLE_HOME/rdbms/admin/catupgrd.sql
确认数据库版本信息:
select*fromv$version;
确认数据库升级信息:
setpages2000lines500
colactionformata17
colnamespaceformata10
colversionformata10
colcommentsformata30
colaction_timeformata30
colbundle_seriesformata15
select*fromDBA_REGISTRY_HISTORY;
确认数据库各组件信息:
colVERSIONfora15;
colstatusfora10;
colCOMP_NAMEfora35
selectcomp_name,status,versionfromdba_server_registry;
查看是否有失效的对象,有就重新编译
select*fromdba_objectswherestatus='INVALID';
@$ORACLE_HOME/rdbms/admin/utlrp.sql
修改compatible参数至11.2.0.4.0(此值10g后只能由小改大,我这里没有修改)
SQL>showparametercompatible
NAMETYPEVALUE
-----------------------------------------------------------------------------
compatiblestring11.2.0.0.0
altersystemsetcompatible='11.2.0.4.0'scope=spfile;
使用应答文件静默升级:
1原库备份后停库,停止监听,全库冷备份,并备份$ORACLE_HOME和oraInventory文件夹下所有文件
2新建目录并修改权限(用于防止升级失败回退)
3上传文件,解压并修改权限
4修改环境变量,(我这里只是ORACLE_HOME的变量有变化)并立即生效(退出再进入)
5编辑应答文件db_install.rsp
Vimdb_install.rsp
oracle.install.option=UPGRADE_DB--升级数据库
ORACLE_HOSTNAME=db
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0.4.0/db
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=true
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:
11.2.0.4.0,oracle.oraolap:
11.2.0.4.0,oracle.rdbms.dm:
11.2.0.4.0,oracle.rdbms.dv:
11.2.0.4.0,oracle.rdbms.lbac:
11.2.0.4.0,oracle.rdbms.rat:
11.2.0.4.0--原值不变
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=oracle
oracle.install.db.config.starterdb.password.SYSTEM=oracle
oracle.install.db.config.starterdb.password.SYSMAN=oracle
oracle.install.db.config.starterdb.control=DB_CONTROL
DECLINE_SECURITY_UPDATES=true
oracle.installer.autoupdates.option=SKIP_UPDATES
6进入安装目录:
#由于oracle默认不支持CentOS,安装时加参数-ignoreSysPrereqs忽略系统检查,,或者修改OS系统标识即把/etc/redhat-release内容修改为redhat-6(如果是centos6就改为redhat-6,centos7就改为redhat-7)
./runInstaller-silent-force-ignoreSysPrereqs-ignorePrereq-showProgress-responseFile/home/database/response/db_install.rsp
软件升级完成,打开新窗口,执行root.sh
修改 /etc/oratab 内容为最新位置
复制数据库文件,参数文件密码文件监听文件到新位置,并启动监听,使用 sqlplus 登录。
(我这里的数据文件位置没有变,这里不用复制)
更新数据库数据:
@/u01/app/oracle/product/11.2.0.4.0/db/rdbms/admin/utlu112i.sql--升级前检查
@$ORACLE_HOME/rdbms/admin/catupgrd.sql升级数据
【报错原因】
该数据库实例配置了OracleDatabaseVault功能。
shutdownimmediate
emctlstopdbconsole
lsnrctlstop
cd$ORACLE_HOME/rdbms/lib/
choptdisabledv
再次打开数据库:
startupupgrade;
再次升级:
@$ORACLE_HOME/rdbms/admin/catupgrd.sql
确认数据库版本信息:
select*fromv$version;
确认数据库升级信息:
setpages2000lines500
colactionformata17
colnamespaceformata10
colversionformata10
colcommentsformata30
colaction_timeformata30
colbundle_seriesformata15
select*fromDBA_REGISTRY_HISTORY;
确认数据库各组件信息:
colVERSIONfora15;
colstatusfora10;
colCOMP_NAMEfora35
selectcomp_name,status,versionfromdba_server_registry;
查看是否有失效的对象,有就重新编译
select*fromdba_objectswherestatus='INVALID';
@$ORACLE_HOME/rdbms/admin/utlrp.sql
修改compatible参数至11.2.0.4.0(此值10g后只能由小改大,我这里没有修改)
SQL>showparametercompatible
NAMETYPEVALUE
-----------------------------------------------------------------------------
compatiblestring11.2.0.0.0
altersystemsetcompatible='11.2.0.4.0'scope=spfile;