一、说明
**用户上周反馈服务器卡慢、通过检查发现操作系统异常,表现在日常关库起库内存分配慢,关了数据库后再次启动隔两天就会出现数据库假死的情况,如sqlplus服务器cmd本地登录卡死,另外服务器访问量不大的情况下,windows任务管理器上看到IO资源一直存在瓶颈,于是建议用户更换到备机linux运行。


二、操作
**为了不影响主服务器,我才用失败切换。
2.1 停主库
--停掉监听和oracle实例net stop oracleserviceORCL
2.2 停止其他备份软件和禁用服务
net stop lzbackupsysx64
2.3 备库激活
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;SQL>ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE;SQL>ALTER DATABASE OPEN;
2.4 跨平台后转换
non-cdb: shutdown immediate startup upgrade @?/rdbms/admin/utlirp.sql shutdown immediate startup @?/rdbms/admin/utlrp.sql
2.5 执行补丁的更新
由于源库是windows,更新了psu,这里换成了linux,我也安装了对应的psu。##psu cd $ORACLE_HOME/rdbms/admin sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> STARTUP SQL> @?/rdbms/admin/catbundle.sql psu applycd $ORACLE_HOME/sqlpatch/35685663 sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> startup upgrade SQL> @postinstall.sql SQL> shutdown SQL> startup 编译失效对象 SQL> @?/rdbms/admin/utlrp.sqlalter session set nls_timestamp_format='yyyy-mm-dd hh24:mi:ss'; select ACTION_TIME, ACTION, VERSION, ID, COMMENTS from dba_registry_history;
2.6 加vip到服务器
ip addr add 192.168.0.2/24 dev ens1f0 label ens1f0:1 ip addr del 192.168.0.2/24 dev ens1f0
三、注意事项
1、跨平台后,需要执行utlirp.sql脚本
2、更换平台后,注意打上大于等于原平台对应版本的psu
3、由于是linux环境,切换后,不建议直接修改ip的操作,防止改错或其他情况导致无法远程的风险。
四、切换后再次测试原来的服务器(未运行业务)
**切换完成后linux服务器业务运行稳定。
**在空跑的情况下IO还是存在问题,几兆甚至几十兆的IO在跑。
**存储是通过光交使用,存储工程师改为直连还是存在问题。剩下的就是存储和硬件厂商解决原环境问题了。
