3.4执行复制过程
sqlplus / as sysdba startup nomount create spfile from pfile shutdown immediate startup nomount rman auxiliary / target sys/oracle@dup01 (连接辅助及目标实例) duplicate target database to dup02 ; |
注意:连接辅助实例时可能出现错误
造成这个问题的原因是,实例虽然启动,但是没有注册到监听。实例是通过PMON进程注册到监听上的,而PMON进程需要在MOUNT状态下才会启动。因此造成了上面的错误。
Oracle给出了两种解决方案,一种方法是对AUXILIARY数据库直接使用/,对TARGET数据库通过网络访问。
a. rman target sys/oracle@dup01 auxiliary /
b. 为AUXILIARY数据库设置静态监听
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = dup02)
(ORACLE_HOME = /u01/app/product/10.2.0)
)
)
4.ASM的维护:
启动时先启ASM实例再启数据库实例:
$ export ORACLE_SID=+ASM
$ sqlplus / as sysdba
SQL>startup
$ export ORACLE_SID=dup02
SQL>startup
先停数据库实例再停ASM实例:
$ export ORACLE_SID=dup02
$ sqlplus / as sysdba
SQL>shutdown immediate
$ export ORACLE_SID=+ASM
$sqlplus / as sysdba
SQL>shutdown
所有对ASM磁盘组的操作都要在ASM实例中做,数据库的操作在数据库实例中做和以前一样。
向组添加磁盘,数据从该故障组现有磁盘向该磁盘向平衡:
ALTER DISKGROUP group1 ADD FAILGROUP fail1 DISK '/dev/raw/raw8' REBALANCE POWER 11;
POWER 11是控制数据向新的磁盘做数据均衡的速度,级别由1~11,数值越大数据均衡越快也可通过参数asm_power_limit = 1~11来控制
增加容错组:数据从其它两组向该组平衡
ALTER DISKGROUP group1 ADD FAILGROUP fail3 DISK '/dev/raw/raw9' REBALANCE POWER 11;
创建磁盘组:
CREATE DISKGROUP GROUP2 NORMAL REDUNDANCY FAILGROUP failgroup1 DISK '/dev/raw/raw9' FAILGROUP failgroup2 DISK '/dev/raw/raw10';
dismount将磁盘组
alter diskgroup group1 dismount;
mount将磁盘组
alter diskgroup group2 mount;
从组中删除磁盘:
ALTER DISKGROUP group1 DROP DISK '/dev/raw/raw8';
删除磁盘组:
drop diskgroup group1 including contents;
修改磁盘组大小:
ALTER DISKGROUP group1 RESIZE ALL SIZE 1G;
ASMCMD:操作ASM的终端工具,使用类似主机命令
export ORACLE_SID=+ASM
asmcmd -p
-p 选项可以在提示中显示当前路径
ASMCMD [+GROUP1/orcl/controlfile] > rm Current.261.637507495
ASMCMD [+GROUP1] > help
ls 查看已挂载的所有磁盘组
pwd
cd group1 进入group1目录
cd ..
cd orcl
rm 删除文件
lsdg (list diskgroup)查看 ASM 实例挂载的磁盘,分配的空间大小、可用空间大小和脱机磁盘
du (disk utilization )查看目录内部已使用的空间大小
du +disk/test/controlfile
find -t CONRTOLFILE +group1/oraasm/ * 查找文件
ASMCMD [+group1/orcl/datafile] > ls
users.259.637271043
undotbs1.258.637271041
sysaux.257.637271041
system.256.637271039