MGMTDB实例迁移

MGMTDB实际上就是一个SID为-MGMTDB的单节点、可插拔数据库。

因此,对MGMTDB的数据库实例迁移,实际上就是对一个单节点实例的迁移。我们常做的迁移,是从一个ASM磁盘组迁移到另一个磁盘组。以下为迁移的详细步骤:

1.检查当前的MGMTDB的状态

--查看磁盘组信息
$ asmcmd lsdg

--确认当前实例所在磁盘
select dg.name group_name,cli.instance_name,cli.db_name,cli.status 
from v$asm_client cli 
left join v$asm_diskgroup dg 
on cli.group_number=dg.group_number;

--查看MGMTDB的运行状态和配置信息
$ srvctl status mgmtdb
$ srvctl config mgmtdb
$ srvctl status mgmtlsnr

2.备份实例,防止数据丢失

$ mkdir mgmtdb_bak

$ srvctl stop cha
$ srvctl stop MGMTDB
$ srvctl stop MGMTLSNR

--grid用户
$ export ORACLE_SID=-MGMTDB
$ rman target /
RMAN> startup mount
RMAN> backup database format '/home/grid/mgmtdb_bak/rman_mgmtdb_%U' tag='bk_mgmtdb_dg';

3.逐步迁移实例:spfile-->controlfile-->datafile

/*迁移spfile*/
RMAN> restore spfile to '+<NEW_DG>';

$ srvctl config mgmtdb |grep Spfile
    --重启mgmtdb实例
RMAN> shutdown immediate

/*迁移controlfile*/
  --登陆MGMTDB实例
$ sqlplus / as sysdba
SQL> startup nomount
  --在实例中查看参数文件和控制文件的路径情况
SQL> show parameter spfile
SQL> show parameter controlfile --获取原控制文件路径 ctl_p1
SQL> alter system set control_files='+<NEW_DG>' scope=spfile;
SQL> shutdown immediate

  --RMAN还原控制文件到新路径下
RMAN> start nomount
RMAN> restore controlfile from '<ctl_p1>';
RMAN> alter database mount;

/*迁移数据文件*/
RMAN> BACKUP AS COPY DEVICE TYPE DISK DATABASE FORMAT '+<NEW_DG>';
RMAN> switch database to copy;
RMAN> report schema;

--手动迁移临时文件
RMAN> run {
2> SET NEWNAME FOR TEMPFILE 1 TO '+<NEW_DG>';
3> SWITCH TEMPFILE ALL;
4> }

--手动迁移logfile
物理上mv logfile到新的路径下,然后sqlplus上rename logfile
或者:
select lf.group#,lf.member,lg.status from v$logfile lf, v$log lg where  lf.GROUP#=lg.GROUP#  order by 1; 
--获得原logfile路径LG_P1
ALTER DATABASE ADD LOGFILE MEMBER '+<NEW_DG>' TO GROUP 1;

select lf.group#,lf.member,lg.status from v$logfile lf, v$log lg where lf.GROUP#=lg.GROUP#  order by 1;
ALTER DATABASE DROP LOGFILE MEMBER '<LG_P1>';
select lf.group#,lf.member,lg.status from v$logfile lf, v$log lg where  lf.GROUP#=lg.GROUP#  order by 1;

4.重启服务,检查变更后的MGMTDB信息

$ srvctl config mgmtdb

# ./srvctl stop mgmtdb
# ./srvctl start mgmtdb
# ./srvctl status mgmtlsnr
# ./srvctl status mgmtdb
# ./srvctl config mgmtdb

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hannah_JK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值