11.2.0.4一直以来都是最稳定,应用最广泛的oracle数据库版本,但是官方对其的支持仅仅到2018年12月31日就结束了,如果想要获得11.2.0.4之后的补丁,则必须和Oracle签订扩展服务协议,而且需要另外收费。随着稳定且强大的19c出现,这里建议大家可以考虑将11g升级到19c,获得更好的数据库服务以及体验
今天,就为大家介绍如何基于Linux6原地升级11g到19c
一 备份
使用rman备份源库
使用rman备份源库,做好回退准备
rman target /
run {
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup as compressed backupset database format '/bak/rman/ora_df%t_s%s_s%p';
release channel c1;
release channel c2;
}
二 安装19c软件
2.1 创建一个新的ORACLE_HOME
mkdir -p /oracle/app/product/19.3.0/dbhome_1
2.2 上传,解压压缩包
unzip LINUX.X64_193000_db_home.zip -d /oracle/app/product/19.3.0/dbhome_1
2.3 升级glibc
需要以下rpm包(以下为下载链接)
https://download.youkuaiyun.com/download/qqqyyy0422/12672522
使用以下命令升级glibc
rpm -Uvh glibc-utils-2.14.1-6.x86_64.rpm --nodeps
rpm -Uvh glibc-2.14.1-6.x86_64.rpm --nodeps
rpm -Uvh glibc-devel-2.14.1-6.x86_64.rpm --nodeps
rpm -Uvh glibc-static-2.14.1-6.x86_64.rpm --nodeps
rpm -Uvh glibc-common-2.14.1-6.x86_64.rpm --nodeps
rpm -Uvh glibc-headers-2.14.1-6.x86_64.rpm --nodeps
检查glibc版本
strings /lib64/libc.so.6|grep GLIBC
发现已经成功更新到了2.14
2.4 安装19c软件
export ORACLE_HOME=/oracle/app/product/19.3.0/
$ORACLE_HOME/runInstaller -ignoreInternalDriverError
yes
(OSOPER是一种额外的用户组(oper),我们可以选择要不要创建该用户组,创建该用户组可以满足让os用户行使某些数据库管理权限(包括SYSOPER角色权限)的目的。注意SYSOPER的权限包括startup和shutdown,所以要小心为该用户组添加成员)
安装成功
三 升级前工作
3.1 拷贝相关文件
复制sqlnet.ora和钱包文件到新的ORACLE_HOME/network/admin
复制tnsnames.ora文件到新的ORACLE_HOME/network/admin
复制listerner.ora 文件到新ORACLE_HOME/network/admin
3.2 密码版本问题
从Oracle数据库12开始c第2版(12.2),默认的基于密码的身份验证协议配置排除了不区分大小写的使用,只有10g版本的密码将会变得不可用。
并且确保SEC_CASE_SENSITIVE_LOGON这个参数没有被设为FALSE
show parameter sec_case_sensitive_logon
alter system set SEC_CASE_SENSITIVE_LOGON=true sid='*';
通过一下命令查看密码版本,