本文将ASM、文件系统、裸设备添加文件系统的方法都做了示例。
ASM
1、查看当前控制文件信息
SQL> select name from v$controlfile;
NAME -------------------------------------------------------------------------------- +DATA1/dbca/controlfile/current.261.837597295 +DATA1/dbca/controlfile/current.260.837597303
SQL> SQL> show parameter control_files;
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string +DATA1/dbca/controlfile/curren t.261.837597295, +DATA1/dbca/c ontrolfile/current.260.8375973 03 SQL>
|
2、关闭数据库
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL>
|
3、使用RMAN复制控制文件
[oracle@dbca ~]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Mon Mar 10 14:28:08 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database (not started)
RMAN> startup nomount
Oracle instance started
Total System Global Area 583008256 bytes
Fixed Size 2022504 bytes Variable Size 176161688 bytes Database Buffers 402653184 bytes Redo Buffers 2170880 bytes RMAN> restore controlfile to '+DATA1' from '+DATA1/dbca/controlfile/current.261.837597295';
Starting restore at 2014-03-10 14:30:38 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=156 devtype=DISK
channel ORA_DISK_1: copied control file copy Finished restore at 2014-03-10 14:30:51
RMAN>
|
4、使用asmcmd查看复制的控制文件名
[oracle@dbca ~]$ echo $ORACLE_SID +ASM [oracle@dbca ~]$ asmcmd ASMCMD> cd /data1/dbca/controlfile ASMCMD> ls Current.260.837597303 Current.261.837597295 backup. 379.841849487 ASMCMD> mkalias backup.379.841849487 current.ctl (创建文件别名) ASMCMD> mkalias Current.260.837597303 current1.ctl ASMCMD> ls Current.260.837597303 Current.261.837597295 backup. 379.841849487 current1.ctl current.ctl
|
5、修改spfile中的control_files参数
6、启动数据库查看修改后的参数
SQL> startup; ORACLE instance started.
Total System Global Area 583008256 bytes Fixed Size 2022504 bytes Variable Size 159384472 bytes Database Buffers 419430400 bytes Redo Buffers 2170880 bytes Database mounted. Database opened. SQL> show parameters control_files;
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string +DATA1/dbca/controlfile/curren t.261.837597295, +DATA1/dbca/c ontrolfile/current.ctl, +DATA1 /dbca/controlfile/current1.ctl SQL> select name from v$controlfile;
NAME -------------------------------------------------------------------------------- +DATA1/dbca/controlfile/current.261.837597295 +DATA1/dbca/controlfile/current.ctl +DATA1/dbca/controlfile/current1.ctl
SQL>
|
文件系统
1、关闭数据库
SQL> shutdown immediate;
|
2、复制控制文件
SQL>host copy /u01/app/oracle/oradata/dbca/control01.ctl /uo1/app/oracle/oradata/dbca/control02.ctl
|
3、多个 实例下需要配置listener.ora (否则找不到TNS)
[oracle@dbca admin]$ cat listener.ora # listener.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora # Generated by Oracle configuration tools.
LISTENER2 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.187)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) )
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = dbca) (GLOBAL_DBNAME = dbca) (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) ) ) SID_DESC = (SID_LIST = (SID_DESC = (SID_NAME = dbca2) (GLOBAL_DBNAME = dbca2) (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) ) )
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.188)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) )
LISTENER4 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.187)(PORT = 1521)) ) )
|
4、重启监听启动数据库到nomount
[oracle@dbca admin]$ lsnrctl stop [oracle@dbca admin]$ lsnrctl start
[oracle@dbca admin]$ sqlplus / as sysdba SQL> startup nomount |
5、添加控制文件
SQL> alter system set control_files='/u01/app/oracle/oradata/dbca/control01.ctl', 2 '/u01/app/oracle/oradata/dbca/control02.ctl' scope=spfile;
|
6、强迫打开数据库查看控制文件
SQL> startup force SQL> show parameter control_files; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string /u01/app/oracle/oradata/dbca/control01.ctl,/u01/app/oracle/oradata/dbca/control02.ctl |
裸设备
1、查看VG剩余空间
vgdisplay –v|more
|
2、创建lv
[root@yangzai /]# lvcreate -n control4 -L 200M vg_oracle Logical volume "control4" created
|
3、配置lv与裸设备的关联
[root@yangzai /]# vi /etc/sysconfig/rawdevices
# This file and interface are deprecated. # Applications needing raw device access should open regular # block devices with O_DIRECT. # raw device bindings # format: # # example: /dev/raw/raw1 /dev/sda1 # /dev/raw/raw2 8 5
/dev/raw/raw1 /dev/vg_oracle/control1
/dev/raw/raw2 /dev/vg_oracle/control2
/dev/raw/raw3 /dev/vg_oracle/control3
/dev/raw/raw4 /dev/vg_oracle/example
/dev/raw/raw5 /dev/vg_oracle/passwordfile
/dev/raw/raw6 /dev/vg_oracle/redo1_1
/dev/raw/raw7 /dev/vg_oracle/redo1_2
/dev/raw/raw8 /dev/vg_oracle/redo2a
/dev/raw/raw9 /dev/vg_oracle/redo2b
/dev/raw/raw10 /dev/vg_oracle/redo3a
/dev/raw/raw11 /dev/vg_oracle/redo3b
/dev/raw/raw12 /dev/vg_oracle/lv_spf_spfile
/dev/raw/raw13 /dev/vg_oracle/sysaux
/dev/raw/raw14 /dev/vg_oracle/system
/dev/raw/raw15 /dev/vg_oracle/temp
/dev/raw/raw16 /dev/vg_oracle/undotbs1
/dev/raw/raw17 /dev/vg_oracle/users
/dev/raw/raw18 /dev/vg_oracle/control4
|
4、重启裸设备服务
5、修改裸设备的权限及所有者
6、编辑映射裸设备映射文件
[root@yangzai orcl]# vi orcl_raw.conf
control1=/dev/raw/raw1
control2=/dev/raw/raw2
control3=/dev/raw/raw3
example=/dev/raw/raw4
passwordfile=/dev/raw/raw5
redo1_1=/dev/raw/raw6
redo1_2=/dev/raw/raw7
redo2a=/dev/raw/raw8
redo2b=/dev/raw/raw9
redo3a=/dev/raw/raw10
redo3b=/dev/raw/raw11
lv_spf_spfile=/dev/raw/raw12
sysaux=/dev/raw/raw13
system=/dev/raw/raw14
temp=/dev/raw/raw15
undotbs1=/dev/raw/raw16
users=/dev/raw/raw17
control4=/dev/raw/raw18
"orcl_raw.conf" 47L, 432C written [root@yangzai orcl]#
|
7、复制控制文件
使用DD SQL> shutdown immediate; [root@yangzai orcl]#dd if=/dev/raw/raw1 of=/dev/raw/raw18 bs=8K
使用sql SQL> startup mount SQL>alter database backup controlfile to ‘/dev/raw/raw18’; |
8、添加控制文件
SQL>startup nomount SQL> alter system set control_files='/dev/raw/raw1', '/dev/raw/raw2', '/dev/raw/raw3', '/dev/raw/raw18' scope=spfile;
|
9、打开数据库查看控制文件
SQL>alter database open SQL> show parameter control_files; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string /dev/raw/raw1, /dev/raw/raw2, /dev/raw/raw3, /dev/raw/raw18
|
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29532781/viewspace-1108114/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29532781/viewspace-1108114/