Oracle升级-Oracle11gR2 FOR RHEL/OEL7升级到Oracle19c FOR RHEL/OEL7详细过程
1. 升级前准备
在开始升级之前,需要进行充分的准备工作,包括检查系统要求、准备安装介质等。更多学习教程www.fgedu.net.cn
服务器:Red Hat Enterprise Linux Server release 7.9
源Oracle版本:11.2.0.4
目标Oracle版本:19.7
数据库名:fgedudb
# 准备工作
1. 下载Oracle 19c安装介质
2. 准备足够的磁盘空间(建议至少500GB)
3. 确保网络连接正常
4. 准备备份空间
2. 数据库备份
在升级之前,必须对源数据库进行完整备份,以确保在升级失败时能够回滚。学习交流加群风哥微信: itpux-com
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
— 备份控制文件
RMAN> BACKUP CURRENT CONTROLFILE;
— 备份SPFILE
RMAN> BACKUP SPFILE;
— 使用expdp进行逻辑备份
$ expdp system/Oracle123@fgedudb full=y directory=BACKUP_DIR dumpfile=fgedudb_full.dmp logfile=expdp_full.log
3. 源数据库检查
在升级之前,需要对源数据库进行检查,确保数据库处于健康状态,并且满足升级要求。学习交流加群风哥QQ113257174
SQL> SELECT * FROM v$version;
— 检查数据库状态
SQL> SELECT status FROM v$instance;
— 检查数据文件状态
SQL> SELECT file_name, status FROM dba_data_files;
— 检查表空间状态
SQL> SELECT tablespace_name, status FROM dba_tablespaces;
— 检查无效对象
SQL> SELECT owner, object_name, object_type FROM dba_objects WHERE status = ‘INVALID’;
— 运行升级前检查
SQL> @?/rdbms/admin/utlrp.sql
4. 操作系统准备
在服务器上进行操作系统准备,包括安装必要的组件、配置环境变量等。更多学习教程公众号风哥教程itpux_com
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)
# 安装必要的依赖包
# yum install -y oracle-database-preinstall-19c
# 配置内核参数
# vi /etc/sysctl.conf
# 添加以下内容
fs.file-max = 6815744
kernel.shmmax = 34359738368
kernel.shmall = 8388608
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
vm.swappiness = 10
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10
# 使内核参数生效
# sysctl -p
# 配置用户资源限制
# vi /etc/security/limits.conf
# 添加以下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 3145728
oracle hard memlock 3145728
5. Oracle 19c安装
在服务器上安装Oracle 19c数据库软件。
# mkdir -p /oracle/app/oracle/product/19c/db_1
# chown -R oracle:oinstall /oracle
# 配置oracle用户环境变量
$ vi ~/.bash_profile
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/product/19c/db_1
export ORACLE_SID=fgedudb
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export TMP=/tmp
export TMPDIR=/tmp
export DISPLAY=:0.0
# 解压Oracle 19c安装介质
$ unzip -q LINUX.X64_193000_db_home.zip -d /oracle/app/oracle/product/19c/db_1
# 应用RU补丁(19.7)
$ unzip -q /backup/LINUX.X64_197000_db_ojvm_home.zip
$ cd /oracle/app/oracle/product/19c/db_1
$ ./runInstaller -applyRU /backup/30783543/30869156 -applyOneOffs /backup/30783543/30805684,/backup/30783543/29585399
# 执行图形化安装
$ cd /oracle/app/oracle/product/19c/db_1
$ ./runInstaller
# 安装过程中的关键步骤:
1. 选择”Install database software only”
2. 选择”Single instance database installation”
3. 选择企业版
4. 完成安装并运行root脚本
6. 数据迁移
使用数据泵将源数据库的数据迁移到目标数据库。from:www.itpux.com
SQL> CREATE DIRECTORY BACKUP_DIR AS ‘/backup’;
# 复制备份文件到目标服务器
$ cp /backup/fgedudb_full.dmp /backup/
# 在目标服务器上导入数据
$ impdp system/Oracle123@fgedudb full=y directory=BACKUP_DIR dumpfile=fgedudb_full.dmp logfile=impdp_full.log
# 或者使用RMAN进行数据迁移
# 在源服务器上创建备份
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
# 将备份文件复制到目标位置
$ cp /backup/* /backup/
# 在目标服务器上恢复数据库
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
7. 升级后配置
在数据迁移完成后,需要进行升级后配置,包括更新统计信息、重建无效对象等。
SQL> EXEC DBMS_STATS.GATHER_DATABASE_STATS;
— 重建无效对象
SQL> @?/rdbms/admin/utlrp.sql
— 检查无效对象
SQL> SELECT owner, object_name, object_type FROM dba_objects WHERE status = ‘INVALID’;
— 配置Oracle网络
$ netca
— 配置监听器
$ lsnrctl start
— 启动数据库
SQL> STARTUP;
8. 升级验证
验证升级是否成功,包括数据库状态、应用连接、业务功能等。
SQL> SELECT * FROM v$version;
— 检查数据库状态
SQL> SELECT status FROM v$instance;
— 检查数据文件状态
SQL> SELECT file_name, status FROM dba_data_files;
— 检查表空间状态
SQL> SELECT tablespace_name, status FROM dba_tablespaces;
— 检查用户和权限
SQL> SELECT username FROM dba_users;
— 测试应用连接
$ sqlplus system/Oracle123@fgedudb
— 测试业务功能
— 执行应用程序的核心功能,确保所有功能正常
9. 生产环境建议
以下是Oracle 11gR2升级到19c的生产环境建议。
– 制定详细的升级计划,包括时间窗口、回滚计划、测试计划等
– 进行充分的备份,包括物理备份和逻辑备份
– 在测试环境中进行模拟升级,发现并解决可能的问题
– 选择合适的时间窗口,避免在业务高峰期进行升级
– 严格按照升级步骤执行,避免跳过任何步骤
– 密切监控升级过程,及时处理可能出现的问题
– 进行全面的测试,包括功能测试、性能测试、安全测试等
– 监控数据库性能,及时调整参数
– 检查应用程序的兼容性,确保所有功能正常
– 定期应用Oracle补丁
– 监控数据库性能,及时调整参数
– 定期进行健康检查
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
