oracle业务字典,数据库升级-物理刷新数据字典
发布日期:2021-06-24 17:58:09 浏览次数:2 分类:技术文章

本文共 6196 字,大约阅读时间需要 20 分钟。

说明

环境说明

数据库为

10gRAC

环境

(10.2.0.5.4)

,操作系统为

6100-07

目标升级为

11gRAC

环境

(11.2.0.4)

,操作系统为

6100-07

实例名称:

crmdb1 crmdb2

新需求:

1.

需要新分配一个

IP

(作为

scan IP

用)

2.

需要划三块共享磁盘,每块

1G

大小(用作

ocrvote

磁盘组)

IP

规划:

目前

IP

规划:

IP

Alias

备注

crmdb01

一节点

public IP

crmdb02

二节点

public IP

crmdb01-vip

一节点

VIP

crmdb02-vip

二节点

VIP

crmdb01-priv

一节点心跳

IP

crmdb02-priv

二节点心跳

IP

11g

后添加

SCAN-IP

IP

Alias

备注

crmdb01

一节点

public IP

crmdb02

二节点

public IP

crmdb01-vip

一节点

VIP

crmdb02-vip

二节点

VIP

crmdb01-priv

一节点心跳

IP

crmdb02-priv

二节点心跳

IP

crmdb-scan

SCAN-IP(IP

待定

)

升级流程

整体升级流程

:

(

11

18

号)

步骤

流程计划

时间估算

1

CRM 10gRAC

环境开始备份,上传安装介质

1

个小时(不停机做)

2

检查

OS

资源

双节点检查

创建

grid

用户

30

分钟

(不停机做)

3

停止

CRM

双节点资源

10

分钟

(业务停止)

4

删除

10g RAC

启动文件

5

分钟

(业务停止)

5

安装

11g R2 Grid

2

小时

(业务停止)

6

添加

10g

软件至

11g

集群中管理

10

分钟

(业务停止)

7

正常业务测试

30

分钟

(业务停止)

11

21

步骤

流程计划

时间估算

1

安装

11g rdbms

软件(

11.2.0.4

)

在线操作

(业务不停止)

2

升级前检查环境

utlu112i.sql

脚本

在线操作

(业务不停止)

3

正式升级(刷数据字典,刷

RAC

组件)

80

分钟

(业务停止)

4

编译无效对象

20

分钟

(业务停止)

5

删除原先

10g rdbms

服务,重新注册

11g

环境的服务

20

分钟

(业务停止)

7

正常业务测试

总结时间:

总计花费

2

天时间

业务停止时间

5

小时(数据库层面)

18

号详细操作流程

前期准备

前期准备包括备份及介质上传等:

备份包括备份10g RAC启动项文件等:

cp /etc/init.cssd /oracle/bak/.

cp /etc/init.crs /oracle/bak/.

cp /etc/init.crsd /oracle/bak/.

cp /etc/init.evmd /oracle/bak/.

cp /etc/inittab.crs /oracle/bak/.

cp /etc/inittab /oracle/bak/.

tar -cvf /oracle/bak/rc2.d.tar /etc/rc.d/rc2.d

tar -cvf /oracle/bak/oracle.tar /etc/oracle

$ORACLE_BASE/

下的

orainventory

也备份并删除

上传

11.2.0.4 grid

rdbms

介质

更新检查

OS

环境

no -a|egrep "tcp_recvspace| tcp_sendspace | udp_recvspace | rfc1323| sb_max | ipqmaxlen |udp_sendspace"

通过以上值确认,对于不正确的进行修改:

no -p -o tcp_recvspace=65536

no -p -o tcp_sendspace=65536

no -p -o udp_sendspace=135168

no -p -o udp_recvspace=1351680

no -p -o rfc1323=1

no -p -o sb_max=4194304

no -r -o ipqmaxlen=512

创建grid用户并修改oracle用户参数

mkuser -a id=1001 pgrp=oinstall groups=oinstall,dba fsize=-1 cpu=-1 data=-1 core=-1 rss=-1 stack=-1 stack_hard=-1 capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid

chuser pgrp=oinstall groups=oinstall,dba fsize=-1 cpu=-1 data=-1 rss=-1 stack=-1 stack_hard=-1 capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle

ssh

关系设置(设置grid 检查oracle)

#su – grid

$mkdir .ssh

$cd .ssh

$ssh-keygen –t rsa    //

一路回车

$ssh-keygen –t dsa

$cat id_dsa.pub>authorized_keys

$cat id_rsa.pub>>authorized_keys

去除时间同步:

使用oracle时间同步服务

mv /etc/ntp.conf /etc/ntp.conf.bak

检查时区:

$ echo $TZ

$date

确保时区一致,两台主机的时间相差不超过

1

分钟

停止

CRM

双节点资源

双节点停止DBRA资源

双节点停止rdbms nodeapps asm crs资源

srvctl stop nodeapps –n crmdb01

srvctl stop nodeapps –n crmdb02

srvctl stop asm –n crmdb01

srvctl stop asm –n crmdb02

srvctl stop database –d crmdb

双节点root用户关闭crs

crsctl stop crs

删除

10g RAC

启动文件

删除启动配置文件:

rm /etc/init.cssd

rm /etc/init.crs

rm /etc/init.crsd

rm /etc/init.evmd

rm /etc/rc.d/rc2.d/K96init.crs

rm /etc/rc.d/rc2.d/S96init.crs

rm -Rf /etc/oracle/scls_scr

rm -Rf /etc/oracle/oprocd

rm /etc/inittab.crs

cp /etc/inittab.orig /etc/inittab

删除

/var/tmp/.oracle/

下面文件

删除 /tmp/.oracle/ 下面的文件

rm –rf /var/tmp/.oracle/*

rm –rf /tmp/.oracle/*

重启双节点主机:

shutdown –Fr

重启后检查是否还存在oracle进程

安装

11.2.0.4 grid

软件

解压介质:

11.2.0.4 grid

双节点运行

grid

下面的

rootpre

.sh

双节点环境检查

./runcluvfy.sh stage -pre crsinst -n crmdb01,crmdb02 -verbose

开始安装:

su – grid

./runInstaller

安装截图略

css

11g grid

用户下

root

用户:

# crsctl pin css -n

crmdb01

crmdb02

CRS-4664: Node

crmdb01

successfully pinned.

CRS-4664: Node

crmdb02

successfully pinned.

添加

10g

软件至

11g

集群中管理

1.

修改磁盘的权限,建议保持磁盘属主暂时不修改,确保权限为

660

2.

双节点修改

asm_diskstring

添加所有数据磁盘路径

3.

双节点

mount

磁盘组

由于在11g 的grid软件下管理10g的rdbms

所以我们在添加database 和instace 的时候需要用10g的rdbms 用户环境添加 即oracle用户的10g rdbms环境

srvctl add database -d crmdb -o /oracle/app/product/10.2.0/db_1

srvctl add instance -d crmdb -i crmdb1 -n crmdb01

srvctl add instance -d crmdb -i crmdb2 -n crmdb02

通过10g rdbms srvctl 命令启动数据库

检查local

_listener

和remot_listener

确保local_listener 和remot_listener 配置正确

remote_listener

:crmdb-scan:1521

local_listener

: (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=130.36.23.7)(PORT=1521))))

回退采用删除

11g grid

安装介质

回退

10g

启动项

重新操作系统

通过

grid

用户

$ORACLE_HOME/deinstall

删除双节点

grid

安装信息

还原

10g RAC

启动文件

cp /oracle/bak/inittab /etc/inittab

cp /oracle/bak/inittab.crs /etc/inittab.crs

cp /oracle/bak/init.evmd /etc/init.evmd

cp /oracle/bak/init.crsd /etc/init.crsd

cp /oracle/bak/init.crs /etc/init.crs

cp /oracle/bak/init.cssd /etc/init.cssd

tar –xvf /oracle/bak/rc2.d.tar

tar –xvf /oracle/bak/oracle.tar

删除双节点/var/tmp/.oracle/下文件

重启操作系统:

Shutdown –Fr

21

号详细操作流程

软件安装

安装

11.2.0.4 rdbms

软件

可以在晚上

12

点前业务正常运行期间安装,不影响业务正常使用

切换到

oracle

用户

su – oracle

设置

DISPLAY

环境变量

export DISPLAY=

启动

OUI

开始安装

图形界面略

升级前环境检查

运行该脚本,检测升级环境

sqlplus '/as sysdba'

SQL> spool Database_Info.log

SQL> @ utlu112i.sql

。。。。。

Spool off

通过create pfile=’/tmp/upgrade/initzhcj.ora’ from spfile;

remote_listener crmdb-scan:1521

local_listener  (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172. 16.10.46)(PORT=1521))))

开始通过产生的日志信息进行参数文件spfile的修改

无效对象表创建

在原生产库创建对象表

sqlplus “/as sysdba”

spool invald.lst

select owner,object_name,object_type,status from dba_objects where status<>'VALID';

select count(*),status from dba_objects group by status;

create table invalid_object_201311 as select * from dba_objects where status<>’VALID’;

create table old_objects as select * from dba_objects;

创建回退方案

1.

关闭数据库,停监听,停

dbconsole

停容灾

2.

创建闪回区及闪回区大小

3.

startup mount

create restore point upgrade_point

guarantee flashback database;

正式升级

拷贝原先生产库下dbs目录中文件至新的11g目录中,修改部分废弃参数,用pfile启动startup upgrade

升级数据库刷数据字典

SQL> STARTUP UPGRADE

SQL> SPOOL patch.log

SQL> @?/rdbms/admin/catupgrd.sql

SQL> SPOOL OFF

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP

SQL> EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;

(收集系统数据字典统计信息)

刷新

RAC

组建

SQL>spool off

SQL>spool catclust.txt

SQL>@?/rdbms/admin/catclust.sql

SQL>spool off

无效对象编译

拷贝原

10g

中的密码文件,

tnsnames

.ora

文件等等

准备无效对象编译:

SQL>  @?/rdbms/admin/utlrp.sql

在尝试脚本编译不成功的情况可以通过手动编译无效对象

select 'alter '||object_type|| ' ' || owner ||'.'||object_name || ' compile;' from dba_objects where status='INVALID';

升级失败的回退

1.

重定向到

10g rdbms

目录

$sqlplus / as sysdba

SQL>shutdown  immediate

将profile重新指定到对应的原先10g目录

2.

闪回数据库

SQL>startup mount

SQL>select  flashback_on from v$database;

SQL>flashback database to restore point upgrade_point;

SQL>shutdown immediate

转载地址:https://blog.csdn.net/weixin_34237700/article/details/116411984 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:oracle 内嵌视图,关于inline view内嵌视图的学习
下一篇:oracle12和18变化大吗,Oracle 12C升级到18C

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月05日 22时48分34秒