asm 多工 控制文件
我们日常对数据库进行配置管理时,为了保证数据库的安全,通常会配置多个控制文件,
以防单一控制文件的损坏引起数据库的宕机。如果数据库采用了ASM存储方案,假如只
创建一个ASM磁盘组的话,控制文件默认只有一个,这样显然无助于数据库的保护。
事实上我们可以通过简单的一些操作把对ASM中的控制文件进行多个配置:
一、将控制文件从文件系统迁移到ASM:
SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /home/oracle/control01.ctl, /h
ome/oracle/control02.ctl, /hom
e/oracle/control03.ctl
SQL> show parameter db_create_file_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string +DATA
SQL> alter system reset control_files scope=spfile;
alter system reset control_files scope=spfile
*
ERROR at line 1:
ORA-00905: missing keyword
SQL> alter system reset control_files scope=spfile sid='*';
System altered.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 8388608000 bytes
Fixed Size 2086096 bytes
Variable Size 4479519536 bytes
Database Buffers 3892314112 bytes
Redo Buffers 14688256 bytes
dw2:/u01/oracle/product/10g/db/bin>$./rman target /
Recovery Manager: Release 10.2.0.3.0 - Production on Mon Dec 3 10:17:05 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: test (not mounted)
RMAN> restore controlfile from '/home/oracle/control01.ctl';
Starting restore at 2007-12-03 10:17:12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=1091 devtype=DISK
channel ORA_DISK_1: copied control file copy
output filename=+DATA/test/controlfile/current.1623.640347437
Finished restore at 2007-12-03 10:17:21
二、可以看到ASM默认只会创建一个控制文件+DATA/test/controlfile/current.1623.640347437,
且控制文件的名字由于遵循了ASM的命名方式,比较怪异。我们现在要将名字改为
control01.ctl,control02.ctl,control03.ctl这样比较直观的名字。首先对当前控制文件进行一个备份,
备份的路径为我们想要的ASM上的控制文件:
SQL>startup nomount;
SQL> alter database mount;
Database altered.
SQL> alter database backup controlfile to '+DATA/test/controlfile/control01.ctl';
Database altered.
SQL> alter system set control_files='+DATA/test/controlfile/control01.ctl' scope=spfile;
System altered.
Elapsed: 00:00:00.00
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
三、以新的控制文件MOUNT数据库,然后再对控制文件依样进行备份,更改参数文件,成功地配置了多个控制文件:
SQL> startup nomount
ORACLE instance started.
Total System Global Area 8388608000 bytes
Fixed Size 2086096 bytes
Variable Size 4479519536 bytes
Database Buffers 3892314112 bytes
Redo Buffers 14688256 bytes
SQL> alter database mount database;
Database altered.
SQL> alter database backup controlfile to '+DATA/test/controlfile/control02.ctl';
Database altered.
SQL> alter database backup controlfile to '+DATA/test/controlfile/control03.ctl';
Database altered.
SQL> alter system set control_files='+DATA/test/controlfile/control01.ctl',
'+DATA/test/controlfile/control02.ctl','+DATA/test/controlfile/control03.ctl'
scope=spfile;
System altered.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 8388608000 bytes
Fixed Size 2086096 bytes
Variable Size 4479519536 bytes
Database Buffers 3892314112 bytes
Redo Buffers 14688256 bytes
SQL> alter database mount database;
Database altered.
四、通过ASM命令行工具asmcmd可以看到事实上我们设置的控制文件命名规范还是遵照ASM的命名方式的,
它会通过一个LINK链接到我们想要的控制文件名字:
ASMCMD> ls
Backup.2882.640347745
Backup.4733.640348283
Backup.5043.640348291
control01.ctl
control02.ctl
control03.ctl
current.1623.640347437
ASMCMD> rm Backup.2882.640347745
ORA-15032: not all alterations performed
ORA-15028: ASM file '+DATA/TEST/CONTROLFILE/Backup.2882.640347745' not dropped; currently being accessed (DBD ERROR: OCIStmtExecute)
ASMCMD> ls -alt
Type Redund Striped Time Sys Name
CONTROLFILE UNPROT FINE DEC 03 10:00:00 Y none => current.1623.640347437
N control03.ctl => +DATA/TEST/CONTROLFILE/Backup.5043.640348291
N control02.ctl => +DATA/TEST/CONTROLFILE/Backup.4733.640348283
N control01.ctl => +DATA/TEST/CONTROLFILE/Backup.2882.640347745
CONTROLFILE UNPROT FINE DEC 03 10:00:00 Y +DATA/TEST/CONTROLFILE/control03.ctl => Backup.5043.640348291
CONTROLFILE UNPROT FINE DEC 03 10:00:00 Y +DATA/TEST/CONTROLFILE/control02.ctl => Backup.4733.640348283
CONTROLFILE UNPROT FINE DEC 03 10:00:00 Y +DATA/TEST/CONTROLFILE/control01.ctl => Backup.2882.640347745
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10015717/viewspace-1027162/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10015717/viewspace-1027162/
asm 多工 控制文件相关推荐
- 10g ASM下加控制文件 .
1> 检查数据库,查看控制文件存放路径 SQL> startup ORACLE instance started. Total System Global Area 230686720 ...
- 12.2 数据库控制文件复制到ASM磁盘组
1 描述 当前数据库t12csia1 参数文件与控制文件皆在文件系统上. 本文档目的是将数据库参数文件与数据库控制文件都放入asm中去. ASM实例有两个磁盘组DATA 和 RECOED02, 将文 ...
- oracle控制文件的复用,ORACLE 10g ASM 控制文件多路复用
1> 检查数据库,查看控制文件存放路径 SQL> startup ORACLE instance started. Total System Global Area 230686720 ...
- Oracle 10G RAC ASM - 控制文件多路存储
10G RAC中将controlfile进行多元存放(非OMF格式) 1,确定control_files参数 SQL> show parameter control_files NAME ...
- ASM磁盘组中的控制文件丢失处理
由于+RECO磁盘组故障,导致指向该磁盘组的DB_RECOVERY_FILE_DEST下的文件都丢失.因为数据库文件使用OMF,对数据库影响较大的是一份控制文件和一半日志成员丢失,而控制文件缺失会造成 ...
- RMAN深入解析之--控制文件
控制文件负责数据库的物理结构,控制文件控制数据库查找物理文件的位置,并控制每个文件当前包含的头信息,其内容包含数据文件信息,重做日志信息和归档日志信息:控制文件还还有与数据库关联的关键文件的每 ...
- oracle重建控制文件流程,ORACLE之重建控制文件
当这些信息更改或者变动时,oracle数据库会自动把最新信息更新到controlfile文件里面. 启动数据库时,Oracle从初始化参数文件(pfile/spfile)中获得控制文件的名字及位置,打 ...
- rac下重做控制文件
Instance RACDB2 is not running on node rac2 5. 用resetlogs模式重建控制文件: [oracle@rac1 trace]$ sqlplus / as ...
- oracle 控制文件冗余,Oracle 添加冗余控制文件 for RAC On Linux
============================== 萌哒萌哒的分割线=============================== 注:添加冗余控制文件期间需要有关库操作,需注意!!! 备份 ...
最新文章
- 【牛客网】牛客练习赛19 F 算式子【数学--递推 、前缀、数字】
- 二叉树重建(c++)
- 反射调用private或internal构造函数
- datagridview 设置选中行_Excel实用两大技巧,删除重复行,神奇选择性粘贴
- fatal: remote origin already exists. (远程来源已经存在 解决办法)
- 分布式跟踪系统:Zipkin
- freeradius 3.0 时间限制_java锁之RateLimiter(限制访问速率)
- java商品名称_Java统计商品信息
- 【OpenCv3】 VS C++ (五):SLIC超像素分割算法
- 前端使用(久派)高拍仪进行拍照上传
- Java到底能干什么?实事求是地说一下
- 非模式物种ROSE超级增强子鉴定分析详解
- 电商网站后台九大功能模块详解
- 上海市计算机应用基础答案,计算机应用基础10统考(附答案)
- 代码翻译尝试-使用Roaster解析和生成Java源码
- 实现用户登录注册代码(高级代码)
- 使用 Levenshtein 寻找彼此相似的字符串对
- C语言中.c文件与.h文件 的使用
- 腾讯云网站备案-网站访问类问题汇总及解答
- leetcode 剑指 Offer 46. 把数字翻译成字符串