当前位置:  数据库>oracle

如何查看Oracle11g控制文件里面的内容

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

    本文导语: 控制文件(Control File)是Oracle的物理文件之一,它记录了数据库的名字、数据文件的位置等信息。控制文件的重要性在于,一旦控制文件损坏,数据库将会宕机。控制文件是一个很小的二进制文件,用户不能编辑控制文件,控制...

控制文件(Control File)是Oracle的物理文件之一,它记录了数据库的名字、数据文件的位置等信息。控制文件的重要性在于,一旦控制文件损坏,数据库将会宕机。控制文件是一个很小的二进制文件,用户不能编辑控制文件,控制文件的修改由Oracle自动完成。那么,我们能够查看控制文件里面的具体信息吗?答案是可以的,我们可以通过转储文件来获得控制文件的详细信息。

1.生成控制文件的转储文件

SQL> select * from v$version;


BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

SQL> alter database backup controlfile to trace ;

Database altered.

SQL>

2.查找生成的转储文件
我们知道,用户生成的TRACE文件存储在udump目录下。在Oracle10g中,udump路径是$ORACLE_HOME/admin/SID/udump,而Oracle11g则大不一样。我们可以通过查看user_dump_dest参数来定位udump目录的具体位置。

SQL> show parameter user_dump_dest

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest string /u01/app/oracle/diag/rdbms/linuxidc/HOEGH/trace
SQL>
然后,我们使用ls命令找到最近生成的TRACE文件,就是图示的linuxidc_ora_304.trc文件。

[oracle@linuxidc trace]$ ls -ltr

total 1332
此处省略三百字
-rw-r----- 1 oracle oinstall 932 May 9 21:26 linuxidc_mmon_4805.trm
-rw-r----- 1 oracle oinstall 9750 May 9 21:26 linuxidc_mmon_4805.trc
-rw-r----- 1 oracle oinstall 4562 May 9 21:28 linuxidc_dbrm_4789.trm
-rw-r----- 1 oracle oinstall 80534 May 9 21:28 linuxidc_dbrm_4789.trc
-rw-r----- 1 oracle oinstall 97 May 9 21:29 linuxidc_ora_304.trm
-rw-r----- 1 oracle oinstall 12786 May 9 21:29 linuxidc_ora_304.trc
3.查看控制文件具体信息
现在,我们就可以通过more命令来查看控制文件的具体信息了。

[oracle@linuxidc trace]$ more linuxidc_ora_304.trc

Trace file /u01/app/oracle/diag/rdbms/linuxidc/HOEGH/trace/linuxidc_ora_304.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1
System name: Linux
Node name: linuxidc.example.com
Release: 2.6.18-164.el5PAE
Version: #1 SMP Thu Sep 3 02:28:20 EDT 2009
Machine: i686
VM name: VMWare Version: 6
Instance name: linuxidc
Redo thread mounted by this instance: 1
Oracle process number: 26
Unix process pid: 304, image: oracle@linuxidc.example.com (TNS V1-V3)

*** 2016-05-09 21:29:07.246
-- The following are current System-scope REDO Log Archival related
-- parameters and can be included in the database initialization file.
--
-- LOG_ARCHIVE_DEST=''
-- LOG_ARCHIVE_DUPLEX_DEST=''
--
-- LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf
--
-- DB_UNIQUE_NAME="linuxidc"
--
-- LOG_ARCHIVE_CONFIG='SEND, RECEIVE, NODG_CONFIG'
-- LOG_ARCHIVE_MAX_PROCESSES=4
-- STANDBY_FILE_MANAGEMENT=MANUAL
-- STANDBY_ARCHIVE_DEST=?/dbs/arch
-- FAL_CLIENT=''
-- FAL_SERVER=''
--
-- LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch
'

-- LOG_ARCHIVE_DEST_1='MANDATORY NOREOPEN NODELAY'

-- LOG_ARCHIVE_DEST_1='ARCH NOAFFIRM EXPEDITE NOVERIFY SYNC'

-- LOG_ARCHIVE_DEST_1='NOREGISTER NOALTERNATE NODEPENDENCY'

-- LOG_ARCHIVE_DEST_1='NOMAX_FAILURE NOQUOTA_SIZE NOQUOTA_USED NODB_UNIQUE_NAME'

-- LOG_ARCHIVE_DEST_1='VALID_FOR=(PRIMARY_ROLE,ONLINE_LOGFILES)'

-- LOG_ARCHIVE_DEST_STATE_1=ENABLE
--
-- Below are two sets of SQL statements, each of which creates a new
-- control file and uses it to open the database. The first set opens
-- the database with the NORESETLOGS option and should be used only if
-- the current versions of all online logs are available. The second
-- set opens the database with the RESETLOGS option and should be used
-- if online logs are unavailable.
-- The appropriate set of statements can be copied from the trace into
-- a script file, edited as necessary, and executed when there is a
-- need to re-create the control file.
--
-- Set #1. NORESETLOGS case
--
-- The following commands will create a new control file and use it
-- to open the database.
-- Data used by Recovery Manager will be lost.
-- Additional logs may be required for media recovery of offline
-- Use this only if the current versions of all online logs are
-- available.
-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "linuxidc" NORESETLOGS NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/u01/app/oracle/oradata/linuxidc/redo01.log' SIZE 50M BLOCKSIZE 512,

  GROUP 2 '/u01/app/oracle/oradata/linuxidc/redo02.log' SIZE 50M BLOCKSIZE 512,

  GROUP 3 '/u01/app/oracle/oradata/linuxidc/redo03.log' SIZE 50M BLOCKSIZE 512

-- STANDBY LOGFILE
DATAFILE
  '/u01/app/oracle/oradata/linuxidc/system01.dbf',

  '/u01/app/oracle/oradata/linuxidc/sysaux01.dbf',

  '/u01/app/oracle/oradata/linuxidc/undotbs01.dbf',

  '/u01/app/oracle/oradata/linuxidc/users01.dbf',

  '/u01/app/oracle/oradata/linuxidc/example01.dbf',

  '/u01/app/oracle/oradata/linuxidc/test01.dbf'

CHARACTER SET AL32UTF8
;
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
arch1_1_762197622.dbf';

-- ALTER DATABASE REGISTER LOGFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
arch1_1_860888149.dbf';

-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE
-- Database can now be opened normally.
ALTER DATABASE OPEN;
-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/linuxidc/temp01.dbf'

    SIZE 30408704 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
-- End of tempfile additions.
--
-- Set #2. RESETLOGS case
--
-- The following commands will create a new control file and use it
-- to open the database.
-- Data used by Recovery Manager will be lost.
-- The contents of online logs will be lost and all backups will
-- be invalidated. Use this only if online logs are damaged.
-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "linuxidc" RESETLOGS NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/u01/app/oracle/oradata/linuxidc/redo01.log' SIZE 50M BLOCKSIZE 512,

  GROUP 2 '/u01/app/oracle/oradata/linuxidc/redo02.log' SIZE 50M BLOCKSIZE 512,

  GROUP 3 '/u01/app/oracle/oradata/linuxidc/redo03.log' SIZE 50M BLOCKSIZE 512

-- STANDBY LOGFILE
DATAFILE
  '/u01/app/oracle/oradata/linuxidc/system01.dbf',

  '/u01/app/oracle/oradata/linuxidc/sysaux01.dbf',

  '/u01/app/oracle/oradata/linuxidc/undotbs01.dbf',

  '/u01/app/oracle/oradata/linuxidc/users01.dbf',

  '/u01/app/oracle/oradata/linuxidc/example01.dbf',

  '/u01/app/oracle/oradata/linuxidc/test01.dbf'

CHARACTER SET AL32UTF8
;
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
arch1_1_762197622.dbf';

-- ALTER DATABASE REGISTER LOGFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
arch1_1_860888149.dbf';

-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE USING BACKUP CONTROLFILE
-- Database can now be opened zeroing the online logs.
ALTER DATABASE OPEN RESETLOGS;
-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/linuxidc/temp01.dbf

我们可以看到转储文件里包含了数据库的名字、数据文件的位置等信息,并且按照是否需要resetlogs分别给出了创建控制文件的sql语句。控制文件非常重要,我们可以把它备份下来以防万一。


    
 
 

您可能感兴趣的文章:

  • 在线等!Linux下,怎么查看TOMCAT控制台???
  • FC5登录虚拟控制台不能查看xorg.conf
  • C/C++实现对STORM运行信息查看及控制的方法
  • MyEclipse如何查看和设置文件编码格式相关操作
  • unix在终端下如何查看如何查看 光盘里的内容? 如何进入光盘所在目录? 用什么命令可以查看光盘里文件的目录?
  • C/C++实现对STORM运行信息查看及控制的方法 iis7站长之家
  • linux能不能像xp那样子以幻灯片方式查看图片。我在一个文件夹里面有几张图片,想进行挑选。用幻灯片查看的方式比较方便
  • ubuntu查看系统日志及相关文件介绍
  • 客户端如何操作服务器的文件(如查看文件列表,上传,下载)(★)
  • cvs如何查看服务器上哪些文件做了修改,而又不更新本地文件?
  • 怎样定位查看文本文件的内容(文件很大)?
  • 怎么查看文件的总个数(内含文件和目录)
  • 在vmware下设置了共享的Windows文件后,怎么在ubuntu里面查看这个文件夹?
  • 如何在Unix里面查看文件属性的时候看到文件的最后更新时间--要求精确到秒
  • 可执行文件的内存占用空间 = 查看???
  • Rose模型文件查看器 JRoseViewer
  • RedHat9中挂载windows分区后,查看其中的文件夹和文件名时,显示为许多"????"
  • 请问各位linux开发大虾,linux下有类似VC中depends的工具可以查看文件调用了哪些so文件吗?
  • 怎么用脚本实现查看MP3文件的属性(标题、艺术家、唱片、年份)
  • linux目录查中查看文件的问题,在线等
  • 请问怎么可以查看*rpm的文件
  • 如何查看已经删除文件的记录?
  • 在UBUNTU当中打开源文件后,如何查看之前编译所产生的一些错误信息呢??
  • 如何查看超大的日志文件?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 怎样写一个shell,可以查看一个文件的内容,并且有翻页的内容,并可以打印的
  • jQuery查看事件内容的小例子
  • 如何在windows中查看unix硬盘的内容。
  • Unix中如何查看生成的lib文件中的内容?
  • 如何查看wall命令发来的文本文件的内容?
  • Linux 查看MD5加密的文件内容
  • 用什么Shell命令可以查看不断更新的文件内容 在线等
  • Linux下如何查看一个二进制文件的内容
  • 请问如何用wireshark查看http返回的内容
  • tar和rpm有查询预览档,包内容的参数吗?还有查看包信息,是否已安装?
  • 请问在java sdk中如何查看classpath的内容?
  • 如何查看LINUX的.A文件的实际内容,请问各位高手,有办法吗?
  • 怎样查看redhat9下的软盘和光盘上的内容?
  • 请教各位大帅:jswdk中运行jsp,为何客户端浏览器无内容,查看原代码,就是原文件?
  • 我怎么将插入在TextArea中的内容显示在当前页面?详细内容请入内查看!!
  • 关于od命令查看目录原始内容的问题
  • jsp怎样能使从sql server数据库读出来的数据正常输出到显示的页面呢?怎样使后添的内容输出到查看留言最前面呢?
  • *.jar格式的文件如何查看它所包含的内容?
  • logcat命令使用方法和查看android系统日志缓冲区内容的方法
  • redhat/centos 常用信息查看命令整理
  • linux 命令执行结束后,想查看结果,但部分结果已经被覆盖,如何查看?
  • Ubuntu查看系统信息命令介绍
  • 通过c程序写代码怎么查看进程是不是存在了?怎么查看该进程占用的内存是多少?
  • Ubuntu查看硬盘,分区相关命令介绍
  • ls查看时,查看到的4294967294 啥意思,熊猫请进
  • resin及jetty介绍以及如何 查看他们的版本号
  • linux命令问题 输入一个查看命令(比如help) 显示满屏后 我怎么查看上一页的显示
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 请问linux下怎么用命令行的方式查看系统自动运行的程序?(因为我只能通过ssh来查看)
  • Ubuntu查看内存,进程相关命令介绍
  • 求教 关于gdb如何查看lib中的表达式


  • 站内导航:


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

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3