ASM共享磁盘组冗余模式变更方案

目录

 

1、方案背景

1.1 需求:

1.2 备份数据库

2、迁移步骤

2.1 创建磁盘组

2.1.1 新建磁盘组

2.1.2 查看磁盘组

2.2 迁移控制文件

2.2.1 现环境

2.2.2 迁移方法

2.2.3 迁移步骤

2.3 迁移数据文件

2.3.1 现环境

2.3.2 迁移方法

2.3.3 迁移步骤

2.4 迁移临时文件

2.4.1 现环境

2.4.2 迁移方法

2.4.3 迁移步骤

2.5 启动二节点

2.5.1 启动到nomount

2.5.2 修改控制文件

2.5.3 重启至open状态

2.6 迁移日志文件

2.6.1 现环境

2.6.2 迁移方法

2.6.3 迁移步骤

2.7 迁移参数文件

2.7.1 现环境

2.7.2 迁移方法

2.7.3 迁移步骤

2.8 更新crs配置

2.8.1 现环境

2.8.2 修改参数文件配置

2.8.3 修改磁盘组配置

2.8.4 删除旧磁盘组

3、启动数据库

3.1 启动数据库

3.2 检查数据库

4.1 创建磁盘组回退

4.1.1图形界面

4.1.2 命令行

4.2 回退控制文件

4.2.1 更改控制文件参数

4.2.2 restore控制文件

4.3 回退数据文件

4.3.1 拷贝数据文件

4.3.2 切换数据文件

4.3.3 修改参数

4.4 回退临时文件

4.4.1 新建临时表空间

4.4.2 更改默认临时表空间

4.4.3 删除old临时表空间

4.5 启动二节点

4.5.1 修改控制文件

4.5.2 启动open状态

4.6 回退日志文件

4.6.1 添加新日志成员

4.6.2 删除旧日志成员

4.7 回退参数文件

4.7.1 一节点:

4.7.2 二节点:

4.8 回退crs配置

4.8.1 回退参数文件配置

4.8.2 回退磁盘组配置

4.8.3 回退磁盘组

4.9 异常恢复


1.1 需求:

由于于该套数据库为生产核心数据库,在使用ASM建立Oracle数据库的时候,ASM磁盘组的缺省冗余为normal(两路冗余),而该数数据库系统是建立在RAID存储上的,在存储上已经有了一个冗余以保证数据的安全,如果在ASM中再建立一个两路冗余,一来会浪费很多的存储空间,二来也会增加很大的存储IO负载。

      

现需要将存放数据的DATADG1共享盘的冗余模式更改为EXTERNAL。

 

由于normal模式在性能和cost都是很大的浪费,这就需要在建库后修改磁盘组的冗余模式,而Oracle没有提供直接修改ASM磁盘组冗余模式的手段,我们可以借助磁盘组替换来修改冗余模式,本方案使用RMAN的copy-switch方法迁移数据文件来实现磁盘组的替换。

      

先创建一个新ASM磁盘组。

关闭二节点,无需对二节点进行操作

先将控制文件迁移至磁盘组,再迁移数据文件、日志文件等。

1.2 备份数据库

       为了数据的安全性,做任何变更之前都需要对数据库进行一个全备,以防遇到不可逆转问题,也能保证数据的完整。

backup database plus archivelog format '/home/oracle/backup/%U';

 

在测试环境中演练该方案,步骤如下:

原ASM磁盘组情况:

       将把normal模式的NEWDATA共享磁盘组更改为external模式的磁盘组。

 

2.1 创建磁盘组

  1. 可以使用asmca图形化来创建磁盘组

     2. 也可以使用asmca静默创建;

asmca -silent  -createDiskGroup -diskGroupName data -diskList '/dev/asm-diske','/dev/asm-diskf' -redundancy EXTERNAL

    3. 可以使用create diskgroup命令创建。

create diskgroup DATA EXTERNAL redundancy disk '/dev/asm-diske','/dev/asm-diskf';

2.1.1 新建磁盘组

新创建一个冗余方式为EXTERNAL的共享磁盘组—NEWDATA1。

2.1.2 查看磁盘组

[oracle@rac1 dbs]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Mon Jun 3 13:22:12 2019

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

 

SQL> select state,name,type from v$asm_diskgroup;

 

STATE         NAME                   TYPE

-----------       ------------------------------      ------

MOUNTED     NEWDATA1              EXTERN

CONNECTED   NEWDATA               NORMAL

MOUNTED     OCR                     EXTERN

 

SQL>

标红的磁盘组就是新创建的一个ASM磁盘组,名为NEWDATA1,external外部冗余。

 

 

2.2 迁移控制文件

2.2.1 现环境

控制文件存放2分在+ NEWDATA磁盘组上,需迁移 至+NEWDATA1磁盘组上。

 

2.2.2 迁移方法

       修改control_files参数,在+NEWDATA1上增加一个控制文件

alter system set control_files='+NEWDATA1','+NEWDATA1' scope=spfile;

2.2.3 迁移步骤

       改为控制文件路径后,由于第二个文件并不存在,会报错。

这时重启数据库至nomount模式,使用rman从第一个控制文件恢复第二个控制文件

启动到nomount

关闭数据库,启动节点至nomount状态:

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>      

SQL> startup nomount

ORACLE instance started.

 

Total System Global Area 1135747072 bytes

Fixed Size                  2252544 bytes

Variable Size            1006633216 bytes

Database Buffers          117440512 bytes

Redo Buffers                9420800 bytes

SQL>

 

恢复控制文件

[oracle@rac1 ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Mon Jun 3 13:41:49 2019

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: RAC (not mounted)

RMAN>

RMAN> restore controlfile from '+NEWDATA/rac/controlfile/current.257.1009970067';

Starting restore at 03-JUN-19

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=17 instance=rac1 device type=DISK

channel ORA_DISK_1: copied control file copy

output file name=+NEWDATA1/rac/controlfile/current.257.1009979623

output file name=+NEWDATA1/rac/controlfile/current.258.1009979625

Finished restore at 03-JUN-19

RMAN>

       这里可以看到红色标注的是生成的新的控制文件。

重新启动到open

SQL> shutdown immediate

ORA-01109: database not open

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

 

Total System Global Area 1135747072 bytes

Fixed Size                  2252544 bytes

Variable Size            1006633216 bytes

Database Buffers          117440512 bytes

Redo Buffers                9420800 bytes

Database mounted.

Database opened.

SQL> show parameter control_files

NAME                            TYPE         VALUE

------------------------------------          -----------       ------------------------------

control_files                        string          +NEWDATA1/rac/controlfile/curr

                                                 ent.257.1009979623, +NEWDATA1/

                                                 rac/controlfile/current.258.10

                                                 09979625

SQL>

至此,控制文件已经被成功移动到+NEWDATA1磁盘上了

 

2.3 迁移数据文件

2.3.1 现环境

数据文件放在+NEWDATA磁盘组上,需迁移至+NEWDATA1磁盘组上。

2.3.2 迁移方法

先在+NEWDATA1上做数据文件的镜像拷贝,再做switch告诉控制文件我们的数据文件在+NEWDATA1上,而非+NEWDATA磁盘上。

2.3.3 迁移步骤

拷贝数据文件

[oracle@rac1 ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Mon Jun 3 14:17:59 2019

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: RAC (DBID=2597034538)

RMAN> backup as copy database format '+NEWDATA1';

Starting backup at 03-JUN-19

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=28 instance=rac1 device type=DISK

channel ORA_DISK_1: starting datafile copy

input datafile file number=00001 name=+NEWDATA/rac/datafile/system.260.1009972351

output file name=+NEWDATA1/rac/datafile/system.259.1009981091 tag=TAG20190603T141810 RECID=13 STAMP=1009981102

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15

channel ORA_DISK_1: starting datafile copy

input datafile file number=00003 name=+NEWDATA/rac/datafile/undotbs1.261.1009972381

output file name=+NEWDATA1/rac/datafile/undotbs1.260.1009981107 tag=TAG20190603T141810 RECID=14 STAMP=1009981114

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15

channel ORA_DISK_1: starting datafile copy

input datafile file number=00002 name=+NEWDATA/rac/datafile/sysaux.262.1009972441

output file name=+NEWDATA1/rac/datafile/sysaux.261.1009981121 tag=TAG20190603T141810 RECID=15 STAMP=1009981129

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15

channel ORA_DISK_1: starting datafile copy

input datafile file number=00004 name=+NEWDATA/rac/datafile/undotbs2.263.1009972495

output file name=+NEWDATA1/rac/datafile/undotbs2.262.1009981137 tag=TAG20190603T141810 RECID=16 STAMP=1009981139

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03

channel ORA_DISK_1: starting datafile copy

copying current control file

output file name=+NEWDATA1/rac/controlfile/backup.263.1009981141 tag=TAG20190603T141810 RECID=17 STAMP=1009981141

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: starting datafile copy

input datafile file number=00005 name=+NEWDATA/rac/datafile/users.265.1009972527

output file name=+NEWDATA1/rac/datafile/users.264.1009981143 tag=TAG20190603T141810 RECID=18 STAMP=1009981142

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

including current SPFILE in backup set

channel ORA_DISK_1: starting piece 1 at 03-JUN-19

channel ORA_DISK_1: finished piece 1 at 03-JUN-19

piece handle=+NEWDATA1/rac/backupset/2019_06_03/nnsnf0_tag20190603t141810_0.265.1009981143 tag=TAG20190603T141810 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 03-JUN-19

 

RMAN> list copy of database;

List of Datafile Copies

=======================

Key     File S Completion Time Ckp SCN    Ckp Time      

------- ---- - --------------- ---------- ---------------

13      1    A 03-JUN-19       1089257    03-JUN-19     

        Name: +NEWDATA1/rac/datafile/system.259.1009981091

        Tag: TAG20190603T141810

15      2    A 03-JUN-19       1089269    03-JUN-19     

        Name: +NEWDATA1/rac/datafile/sysaux.261.1009981121

        Tag: TAG20190603T141810

14      3    A 03-JUN-19       1089263    03-JUN-19     

        Name: +NEWDATA1/rac/datafile/undotbs1.260.1009981107

        Tag: TAG20190603T141810

16      4    A 03-JUN-19       1089277    03-JUN-19     

        Name: +NEWDATA1/rac/datafile/undotbs2.262.1009981137

        Tag: TAG20190603T141810

18      5    A 03-JUN-19       1089280    03-JUN-19      

        Name: +NEWDATA1/rac/datafile/users.264.1009981143

        Tag: TAG20190603T141810RMAN>

 

切换数据文件

数据文件拷贝完成,是在数据库开着的情况下拷贝的,需要将数据库切换到新的文件,切换文件实际是告诉控制文件,数据文件被移到了新的位置。因此这个步骤只是改变控制文件的内容,会很快,但是需要将数据库置为mount状态。

RMAN> shutdown immediate

database closed

database dismounted

Oracle instance shut down

RMAN> startup mount

connected to target database (not started)

Oracle instance started

database mounted

Total System Global Area    1135747072 bytes

Fixed Size                     2252544 bytes

Variable Size               1006633216 bytes

Database Buffers             117440512 bytes

Redo Buffers                   9420800 bytes

RMAN> switch database to copy;

datafile 1 switched to datafile copy "+NEWDATA1/rac/datafile/system.259.1009981091"

datafile 2 switched to datafile copy "+NEWDATA1/rac/datafile/sysaux.261.1009981121"

datafile 3 switched to datafile copy "+NEWDATA1/rac/datafile/undotbs1.260.1009981107"

datafile 4 switched to datafile copy "+NEWDATA1/rac/datafile/undotbs2.262.1009981137"

datafile 5 switched to datafile copy "+NEWDATA1/rac/datafile/users.264.1009981143"

RMAN>

 

open数据库

switch成功,数据库使用新的数据文件,恢复数据库,打开数据库至open状态。

RMAN> recover database;

Starting recover at 03-JUN-19

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=18 instance=rac1 device type=DISK

starting media recovery

media recovery complete, elapsed time: 00:00:01

Finished recover at 03-JUN-19

RMAN> alter database open;

database opened

RMAN>

查看数据文件

查看数据文件是否正常,可以看到数据文件都已经迁移至+NEWDATA1磁盘组上了。

修改参数

更改db_create_file_dest参数,使得新的文件都生成在新的磁盘组

SQL> show parameter db_create_file_dest

NAME                           TYPE      VALUE

------------------------------------         -----------    ------------------------------

db_create_file_dest                  string      +NEWDATA

SQL> alter system set db_create_file_dest='+NEWDATA1';

System altered.

SQL>

 

2.4 迁移临时文件

2.4.1 现环境

       现环境的临时表空间为temp,数据文件存放在+NEWDATA磁盘组上,需迁移至+NEWDATA1磁盘组上。

2.4.2 迁移方法

添加新的临时文件,删除旧的即可

2.4.3 迁移步骤

新建临时表空间

create temporary tablespace temp01 tempfile size 60M;

更改默认临时表空间

alter database default temporary tablespace temp01;

删除old临时表空间

drop tablespace temp including contents and datafiles;

2.5 启动二节点

2.5.1 启动到nomount

 

2.5.2 修改控制文件

alter system set control_files='+NEWDATA1/rac/controlfile/current.257.1009979623','+NEWDATA1/rac/controlfile/current.258.1009979625' sid='rac2' scope=spfile;

2.5.3 重启至open状态

 

2.6 迁移日志文件

2.6.1 现环境

       现2个节点分别有2个日志组,每个日志组里有2个日志成员。且都存在+NEWDATA磁盘组中,需迁移至+NEWDATA1磁盘组中。

 

2.6.2 迁移方法

       在新磁盘组+NEWDATA1中中添加新的日志成员,再删除在+NEWDATA磁盘组中的日志成员。

 

2.6.3 迁移步骤

添加新日志成员

SQL> alter database add logfile member '+NEWDATA1','+NEWDATA1' to group 1;

Database altered.

SQL> alter database add logfile member '+NEWDATA1','+NEWDATA1' to group 2;

Database altered.

SQL> alter database add logfile member '+NEWDATA1','+NEWDATA1' to group 3;

Database altered.

SQL> alter database add logfile member '+NEWDATA1','+NEWDATA1' to group 4;

Database altered.

SQL>

 

删除旧日志成员

alter database drop logfile member 'XXXXXXXX ';

报错1

SQL> alter database drop logfile member '+NEWDATA/rac/onlinelog/group_1.268.1009973265';

alter database drop logfile member '+NEWDATA/rac/onlinelog/group_1.268.1009973265'

*

ERROR at line 1:

ORA-00362: member is required to form a valid logfile in group 1

ORA-01517: log member: '+NEWDATA/rac/onlinelog/group_1.268.1009973265'

SQL>

由于新加的日志成员状态为INVALID,所以需要切换日志组,使成员状态不为INVALID情况下删除日志成员。

 

报错2

SQL> alter database drop logfile member '+NEWDATA/rac/onlinelog/group_2.273.1009983211';

alter database drop logfile member '+NEWDATA/rac/onlinelog/group_2.273.1009983211'

*

ERROR at line 1:

ORA-01609: log 2 is the current log for thread 1 - cannot drop members

ORA-00312: online log 2 thread 1: '+NEWDATA/rac/onlinelog/group_2.269.1009973267'

ORA-00312: online log 2 thread 1: '+NEWDATA/rac/onlinelog/group_2.273.1009983211'

ORA-00312: online log 2 thread 1: '+NEWDATA1/rac/onlinelog/group_2.269.1009983527'

ORA-00312: online log 2 thread 1: '+NEWDATA1/rac/onlinelog/group_2.270.1009983527'

以上情况是由于当前日志组无法删除,需切换日志组后,重新删除。

删除之后,所有的日志成员均已存储在+NEWDATA1磁盘组中了。

 

2.7 迁移参数文件

2.7.1 现环境

现环境中是使用spfile启动的,spfile存储在+NEWDATA磁盘组中,需迁移至+NEWDATA1磁盘组中。

2.7.2 迁移方法

  1. 使用spfile生成pfile
  2. pfile生成新的spfile
  3. 将pfile指向新的spfile

 

2.7.3 迁移步骤

1节点:

SQL> create pfile='/tmp/123.ora' from spfile;

File created.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> create spfile='+NEWDATA1/rac/spfilerac.ora' from pfile='/tmp/123.ora';

File created.

SQL> !

[oracle@rac1 ~]$ vi /u01/app/oracle/product/11.2.0/db_1/dbs/initrac1.ora

SPFILE='+NEWDATA1/rac/spfilerac.ora'

~

"/u01/app/oracle/product/11.2.0/db_1/dbs/initrac1.ora" 1L, 37C written

[oracle@rac1 ~]$

 

2节点:

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> !

[oracle@rac2 ~]$ vi /u01/app/oracle/product/11.2.0/db_1/dbs/initrac2.ora

SPFILE='+NEWDATA1/rac/spfilerac.ora'

~

"/u01/app/oracle/product/11.2.0/db_1/dbs/initrac2.ora" 1L, 37C written

[oracle@rac2 ~]$

 

2.8 更新crs配置

2.8.1 现环境

[grid@rac1 ~]$ srvctl config database -d rac

数据库唯一名称: rac

数据库名: rac

Oracle 主目录: /u01/app/oracle/product/11.2.0/db_1

Oracle 用户: oracle

Spfile: +DATA/rac/spfilerac.ora

:

启动选项: open

停止选项: immediate

数据库角色: PRIMARY

管理策略: AUTOMATIC

服务器池: rac

数据库实例: rac1,rac2

磁盘组:FRA,NEWDATA,NEWDATA1

装载点路径:

服务:

类型: RAC

数据库是管理员管理的

[grid@rac1 ~]

这里标红的就需要更改,spfile,diskgroup

2.8.2 修改参数文件配置

[root@rac1 bin]# ./srvctl modify database -d rac -p +NEWDATA1/rac/spfilerac.ora

[root@rac1 bin]# ./srvctl config database -d rac

数据库唯一名称: rac

数据库名: rac

Oracle 主目录: /u01/app/oracle/product/11.2.0/db_1

Oracle 用户: oracle

Spfile: +NEWDATA1/rac/spfilerac.ora

:

启动选项: open

停止选项: immediate

数据库角色: PRIMARY

管理策略: AUTOMATIC

服务器池: rac

数据库实例: rac1,rac2

磁盘组: FRA,NEWDATA,NEWDATA1

装载点路径:

服务:

类型: RAC

数据库是管理员管理的

[root@rac1 bin]#

 

2.8.3 修改磁盘组配置

[root@rac1 ~]# cd /u01/app/grid/product/11.2.0/grid/bin/

[root@rac1 bin]# ./srvctl modify database -d rac -a FRA,NEWDATA1

[root@rac1 bin]#su - grid

[grid@rac1 ~]$ srvctl config database -d rac

数据库唯一名称: rac

数据库名: rac

Oracle 主目录: /u01/app/oracle/product/11.2.0/db_1

Oracle 用户: oracle

Spfile: +NEWDATA1/rac/spfilerac.ora

:

启动选项: open

停止选项: immediate

数据库角色: PRIMARY

管理策略: AUTOMATIC

服务器池: rac

数据库实例: rac1,rac2

磁盘组: FRA,NEWDATA1

装载点路径:

服务:

类型: RAC

数据库是管理员管理的

[grid@rac1 ~]$

 

2.8.4 删除旧磁盘组

srvctl remove diskgroup -g NEWDATA

3.1 启动数据库

共享磁盘组迁移完毕,启动数据库

[oracle@rac1 ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.2.0.4.0 Production on Mon Jun 3 15:51:46 2019

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area 1135747072 bytes

Fixed Size                  2252544 bytes

Variable Size            1006633216 bytes

Database Buffers          117440512 bytes

Redo Buffers                9420800 bytes

Database mounted.

Database opened.

SQL>

 

3.2 检查数据库

SQL> show parameter spfile;

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

spfile                               string      +NEWDATA1/rac/spfilerac.ora

SQL> select name from v$controlfile;

 

NAME

--------------------------------------------------------------------------------

+NEWDATA1/rac/controlfile/current.257.1009979623

+NEWDATA1/rac/controlfile/current.258.1009979625

 

SQL> select name from v$datafile;

 

NAME

--------------------------------------------------------------------------------

+NEWDATA1/rac/datafile/system.259.1009981091

+NEWDATA1/rac/datafile/sysaux.261.1009981121

+NEWDATA1/rac/datafile/undotbs1.260.1009981107

+NEWDATA1/rac/datafile/undotbs2.262.1009981137

+NEWDATA1/rac/datafile/users.264.1009981143

 

SQL> select name from v$tempfile;

 

NAME

--------------------------------------------------------------------------------

+NEWDATA1/rac/tempfile/temp01.267.1009982857

 

SQL> select member from v$logfile;

 

MEMBER

--------------------------------------------------------------------------------

+NEWDATA1/rac/onlinelog/group_1.266.1009983525

+NEWDATA1/rac/onlinelog/group_1.268.1009983525

+NEWDATA1/rac/onlinelog/group_2.269.1009983527

+NEWDATA1/rac/onlinelog/group_2.270.1009983527

+NEWDATA1/rac/onlinelog/group_3.271.1009983529

+NEWDATA1/rac/onlinelog/group_3.272.1009983529

+NEWDATA1/rac/onlinelog/group_4.273.1009983529

+NEWDATA1/rac/onlinelog/group_4.274.1009983531

 

8 rows selected.

 

SQL> select filename from v$block_change_tracking;

 

FILENAME

--------------------------------------------------------------------------------

 

 

SQL>

 

 

对于变更方案,都有着回退的步骤。将共享磁盘组NEWDATA1回退使用到NEWDATA磁盘组

关闭二节点数据库。

4.1 创建磁盘组回退

对于磁盘组创建一步,回退即为删除磁盘组。

4.1.1图形界面

选中需要删除的磁盘组,单击右键,选中drop按钮。

4.1.2 命令行

drop diskgroup DATA;

 

4.2 回退控制文件

只需要根据文档2.2相反的步骤进行回退即可。

4.2.1 更改控制文件参数

alter system set control_files='+NEWDATA','+NEWDATA';

4.2.2 restore控制文件

启动到nomount状态下,恢复控制文件。

restore controlfile from '+NEWDATA1/rac/controlfile/current.257.1009979623';

 

4.3 回退数据文件

只需要根据文档2.3相反的步骤进行回退即可

4.3.1 拷贝数据文件

Open状态下copy参数文件。

backup as copy database format '+NEWDATA';

4.3.2 切换数据文件

重新启动到mount状态下。

switch database to copy;

4.3.3 修改参数

将数据库启动到open状态下。

alter system set db_create_file_dest='+NEWDATA';

 

4.4 回退临时文件

只需要根据文档2.4相反的步骤进行回退即可

4.4.1 新建临时表空间

create temporary tablespace temp tempfile size 60M;

4.4.2 更改默认临时表空间

alter database default temporary tablespace temp;

4.4.3 删除old临时表空间

drop tablespace temp01 including contents and datafiles;

 

4.5 启动二节点

4.5.1 修改控制文件

启动到nomount状态下,更改参数。

alter system set control_files='+NEWDATA1/rac/controlfile/current.257.1009979623','+NEWDATA1/rac/controlfile/current.258.1009979625' sid='rac2' scope=spfile;

 

4.5.2 启动open状态

重新启动到open状态。

Shutdown immediate

Startup

 

4.6 回退日志文件

只需要根据文档2.6相反的步骤进行回退即可

4.6.1 添加新日志成员

SQL> alter database add logfile member '+NEWDATA','+NEWDATA' to group 1;

Database altered.

SQL> alter database add logfile member '+NEWDATA','+NEWDATA' to group 2;

Database altered.

SQL> alter database add logfile member '+NEWDATA','+NEWDATA' to group 3;

Database altered.

SQL> alter database add logfile member '+NEWDATA','+NEWDATA' to group 4;

Database altered.

SQL>

4.6.2 删除旧日志成员

alter database drop logfile member 'XXXXXXXX ';

删除之后,所有的日志成员均已存储在+NEWDATA磁盘组中。

 

4.7 回退参数文件

只需要根据文档2.7相反的步骤进行回退即可

4.7.1 一节点:

SQL> create pfile='/tmp/1234.ora' from spfile;

File created.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> create spfile='+NEWDATA/rac/spfilerac.ora' from pfile='/tmp/1234.ora';

File created.

SQL> !

[oracle@rac1 ~]$ vi /u01/app/oracle/product/11.2.0/db_1/dbs/initrac1.ora

SPFILE='+NEWDATA/rac/spfilerac.ora'

~

"/u01/app/oracle/product/11.2.0/db_1/dbs/initrac1.ora" 1L, 37C written

[oracle@rac1 ~]$

 

4.7.2 二节点:

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> !

[oracle@rac2 ~]$ vi /u01/app/oracle/product/11.2.0/db_1/dbs/initrac2.ora

SPFILE='+NEWDATA/rac/spfilerac.ora'

~

"/u01/app/oracle/product/11.2.0/db_1/dbs/initrac2.ora" 1L, 37C written

[oracle@rac2 ~]$

 

4.8 回退crs配置

只需要根据文档2.8相反的步骤进行回退即可

4.8.1 回退参数文件配置

[root@rac1 bin]# ./srvctl modify database -d rac -p +NEWDATA/rac/spfilerac.ora

[root@rac1 bin]# ./srvctl config database -d rac

数据库唯一名称: rac

数据库名: rac

Oracle 主目录: /u01/app/oracle/product/11.2.0/db_1

Oracle 用户: oracle

Spfile: +NEWDATA/rac/spfilerac.ora

:

启动选项: open

停止选项: immediate

数据库角色: PRIMARY

管理策略: AUTOMATIC

服务器池: rac

数据库实例: rac1,rac2

磁盘组: FRA,NEWDATA1

装载点路径:

服务:

类型: RAC

数据库是管理员管理的

[root@rac1 bin]#

 

 

4.8.2 回退磁盘组配置

[root@rac1 ~]# cd /u01/app/grid/product/11.2.0/grid/bin/

[root@rac1 bin]# ./srvctl modify database -d rac -a FRA,NEWDATA

[root@rac1 bin]#su - grid

[grid@rac1 ~]$ srvctl config database -d rac

数据库唯一名称: rac

数据库名: rac

Oracle 主目录: /u01/app/oracle/product/11.2.0/db_1

Oracle 用户: oracle

Spfile: +NEWDATA/rac/spfilerac.ora

:

启动选项: open

停止选项: immediate

数据库角色: PRIMARY

管理策略: AUTOMATIC

服务器池: rac

数据库实例: rac1,rac2

磁盘组: FRA,NEWDATA

装载点路径:

服务:

类型: RAC

数据库是管理员管理的

[grid@rac1 ~]$

 

4.8.3 回退磁盘组

 

 

4.9 异常恢复

       对一些非正常因素导致是不可逆转的问题,从而使数据丢失的情况,就需要使用步骤1.3中备份的数据。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值