当前位置:  数据库>oracle

Oracle控制文件多路复用时要注意的问题

    来源: 互联网  发布时间:2017-06-11

    本文导语: 有时候,可能会碰到某些库只有1个控制文件,没有镜像,即没有对控制文件多路复用,显然这是不太好的,需要为数据库增加控制文件的镜像文件,下面来做个测试   ORACLE instance started. Fixed Size                  2232960 bytes Red...

由于控制文件对于数据库的重要性很高,所以通常在dbca建库以后,都会对控制文件多路复用。如,在Oracle10g中,默认控制文件有3份,内容完全一致,通常位于$ORACLE_BASE/oradata/SID/下面,名字为control01.ctl,control02.ctl,control03.ctl,而到了11g,默认只有2个份,一个位于$ORACLE_BASE/oradata/SID/下面,名字为control01.ctl,另一份位于$ORACLE_BASE/fast_recovery_area/SID/下面,名字为control02.ctl。
当然了,我说的都是默认安装的情况下,完全可以通过在pfile中自定义不同的路径。
有时候,可能会碰到某些库只有1个控制文件,没有镜像,即没有对控制文件多路复用,显然这是不太好的,需要为数据库增加控制文件的镜像文件,下面来做个测试

----------------------------华丽丽的分割线----------------------------

Oracle控制文件的多路复用

Oracle 单实例 从32位 迁移到 64位 方法 

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

Oracle导入导出expdp IMPDP详解

Oracle 10g expdp导出报错ORA-4031的解决方法

----------------------------华丽丽的分割线----------------------------
 
--启动数据库,查看当前控制文件信息
SQL> startup
ORACLE instance started.
 
Total System Global Area  835104768 bytes
Fixed Size                  2232960 bytes
Variable Size             507514240 bytes
Database Buffers          322961408 bytes
Redo Buffers                2396160 bytes
Database mounted.
Database opened.
SQL> show parameter control_file
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time        integer     7
control_files                        string      /u01/app/oracle/oradata/zlm11g
                                                 /control01.ctl, /u01/app/oracl
                                                 e/fast_recovery_area/zlm11g/co
                                                 ntrol02.ctl
 
默认装完库以后,已经有2个控制文件,其中,control02.ctl是镜像
 
--查看control_file参数是否可以在线修改
SQL> col name for a20
SQL> select name,issys_modifiable from v$parameter where name='control_files';
 
NAME                 ISSYS_MOD
-------------------- ---------
control_files        
 
显然,FALSE表示无法在线修改该参数,那么多路复用控制文件就意味着要重启数据库了
 
--创建pfile
SQL> create pfile from spfile;
 
File created.
 
--关闭数据库并修改pfile,增加控制文件镜像()
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> !
 
zlm11g.__db_cache_size=322961408
zlm11g.__java_pool_size=4194304
zlm11g.__large_pool_size=4194304
zlm11g.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
zlm11g.__pga_aggregate_target=335544320
zlm11g.__sga_target=503316480
zlm11g.__shared_io_pool_size=0
zlm11g.__shared_pool_size=163577856
zlm11g.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/zlm11g/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/zlm11g/control01.ctl','/u01/app/oracle/fast_recovery_area/zlm11g/control02.ctl',
*.db_block_size=8192
zlm11g.db_create_file_dest='/u01/app/oracle/oradata/zlm11g/'
*.db_domain=''
*.db_name='zlm11g'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4322230272
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=zlm11gXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=838860800
*.memory_target=838860800
*.open_cursors=300
"/u01/app/oracle/product/11.2.0/db_1/dbs/initzlm11g.ora" 27L, 1048C written
 
--在OS级别复制一份控制文件镜像
[oracle@zlm ~]$ cp $ORACLE_BASE/oradata/zlm11g/control01.ctl /u01/control03.ctl
[oracle@zlm ~]$ cd /u01
[oracle@zlm u01]$ ls
app  bak    dave.trc  expdp  rman.log  rman.trc
[oracle@zlm u01]$ exit
exit
 
--用pfile启动数据库
SQL> startup pfile=$ORACLE_HOME/dbs/initzlm11g.ora
ORACLE instance started.
 
Total System Global Area  835104768 bytes
Fixed Size                  2232960 bytes
Variable Size             507514240 bytes
Database Buffers          322961408 bytes
Redo Buffers                2396160 bytes
Database mounted.
Database opened.
SQL> show parameter control_files
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      /u01/app/oracle/oradata/zlm11g
                                                 /control01.ctl, /u01/app/oracl
                                                 e/fast_recovery_area/zlm11g/co
                                                 ntrol02.ctl, 
--创建新的spfile      
SQL> create spfile from pfile;
 
File created.
 
--关库并用spfile重新启动
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
 
Total System Global Area  835104768 bytes
Fixed Size                  2232960 bytes
Variable Size             507514240 bytes
Database Buffers          322961408 bytes
Redo Buffers                2396160 bytes
Database mounted.
Database opened.
SQL> show parameter control_files
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      /u01/app/oracle/oradata/zlm11g
                                                 /control01.ctl, /u01/app/oracl
                                                 e/fast_recovery_area/zlm11g/co
                                                 ntrol02.ctl, /u01/control03.ct
 
至此,已经完成了对控制文件的复用,从2份增加到了3份,注意,是必须停库的。
下面尝试用另一种方式来增加控制文件镜像,采用spfile动态修改+备份控制文件的方式,看是否可行                                      
 
--修改spfile,添加第4个控制文件
SQL> alter system set control_files='/u01/app/oracle/oradata/zlm11g/control01.ctl,/u01/oracle/fast_recovery_area/zlm11g/control02.ctl,/u01/control03.ctl,/u01/control04.ctl' scope=spfile;
 
System altered.
 
--备份当前控制文件并生成镜像文件
SQL> alter database backup controlfile  '/u01/control04.ctl';
 
Database altered.
 
SQL> alter database backup controlfile  '/u01/control.bak';
 
Database altered.
 
注意这两条命令的区别,前面的语句生成的是binary的控制文件,而后面的语句是生成可读的trace文件(通常用于重建控制文件)

 

更多详情见请继续阅读下一页的精彩内容:


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在HP Unix 下Oracle的控制和管理
  • Oracle控制文件多元化处理
  • Oracle10g 控制台启动端口修改
  • Oracle中存取控制介绍
  • Oracle并购SUN应放松对MySQL控制
  • Oracle中虚拟专用数据控制方法研究
  • Linux平台下启动oracle 11g EM控制台
  • Oracle 入门之控制文件multiplex
  • 手工创建Oracle数据库控制文件的策略
  • Oracle备份的控制文件和新的数据文件
  • Oracle控制文件的损坏或完全丢失的恢复办法
  • Oracle数据操作和控制语言详解
  • DB2和 Oracle的并发控制(锁)的比较
  • Oracle中基于hint的3种执行计划控制方法详细介绍
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,