当前位置:  数据库>oracle

通过Trace文件了解Oracle控制文件

    来源: 互联网  发布时间:2017-03-28

    本文导语: Oracle中的alter database backup controlfile to trace;命令用来将控制文件备份为.trc后缀的文本文件。这个文件名的格式为:sid_ora_pid.trc,存储在参数user_dump_dest指定的位置。这个文件里储存的是创建新控制文件的SQL,我们可以通过它来大概...

Oracle中的alter database backup controlfile to trace;命令用来将控制文件备份为.trc后缀的文本文件。这个文件名的格式为:sid_ora_pid.trc,存储在参数user_dump_dest指定的位置。这个文件里储存的是创建新控制文件的SQL,我们可以通过它来大概了解一下控制文件里都有那些内容。 orcl@ORCL>select * from v$version;

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE 9.2.0.1.0 Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production
orcl@ORCL>show parameter user_dump_dest;NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest string D:oracleadminorcludump
orcl@ORCL>alter database backup controlfile to trace;









Database altered.

我们在D:oracleadminorcludump这个目录下找到最新生成的那个文件就是刚才对控制文件的备份。
这个文件中的内容:

1.注释

*** SESSION ID:(9.5) 2008-03-18 20:40:22.000
*** 2008-03-18 20:40:22.000
# 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=ARC%S.%T
# REMOTE_ARCHIVE_ENABLE=TRUE
# LOG_ARCHIVE_MAX_PROCESSES=2
# STANDBY_FILE_MANAGEMENT=MANUAL
# STANDBY_ARCHIVE_DEST=%ORACLE_HOME%RDBMS
# FAL_CLIENT=''
# FAL_SERVER=''
#
# LOG_ARCHIVE_DEST_1='LOCATION=D:oracleRDBMS'
# LOG_ARCHIVE_DEST_1='MANDATORY NOREOPEN NODELAY'
# LOG_ARCHIVE_DEST_1='ARCH NOAFFIRM SYNC'
# LOG_ARCHIVE_DEST_1='NOREGISTER NOALTERNATE NODEPENDENCY'
# LOG_ARCHIVE_DEST_1='NOMAX_FAILURE NOQUOTA_SIZE NOQUOTA_USED'
# 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.
#
2.NORESETLOGS case SQL(包含数据库的日志文件和数据文件的物理位置和大小等信息)
































***在联机日志可用的情况下使用下边这些命令重新构建控制文件

# Set #1. NORESETLOGS case
#
# The following commands will create a new control file and use it
# to open the database.
# Data used by the recovery manager will be lost. Additional logs may
# be required for media recovery of offline data files. Use this
# only if the current version of all online logs are available.





STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'D:ORACLEORADATAORCLREDO01.LOG' SIZE 100M,
GROUP 2 'D:ORACLEORADATAORCLREDO02.LOG' SIZE 100M,
GROUP 3 'D:ORACLEORADATAORCLREDO03.LOG' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'D:ORACLEORADATAORCLSYSTEM01.DBF',
'D:ORACLEORADATAORCLUNDOTBS01.DBF',
'D:ORACLEORADATAORCLCWMLITE01.DBF',
'D:ORACLEORADATAORCLDRSYS01.DBF',
'D:ORACLEORADATAORCLEXAMPLE01.DBF',
'D:ORACLEORADATAORCLINDX01.DBF',
'D:ORACLEORADATAORCLODM01.DBF',
'D:ORACLEORADATAORCLTOOLS01.DBF',
'D:ORACLEORADATAORCLUSERS01.DBF',
'D:ORACLEORADATAORCLXDB01.DBF',
'D:ORACLEORADATAORCLSCOTT_TABLAESPACE.ORA',
'D:ORACLEORADATAORCLTEST.DBF'
CHARACTER SET ZHS16GBK
;
**********rman信息*******



























# Configure RMAN configuration record 1
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('RETENTION POLICY','TO RECOVERY WINDOW OF 7 DAYS');
# Configure RMAN configuration record 2
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','ON');




******其它信息******

# 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 'D:ORACLEORADATAORCLTEMP01.DBF'
SIZE 41943040 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
# End of tempfile additions.
3。RESETLOGS case SQL










在联机日志不可用的情况下使用这些SQL构造控制文件。所有的联机日志将丢失,所有的备份都失效。包含的信息同上边。

# Set #2. RESETLOGS case
#
# The following commands will create a new control file and use it
# to open the database.
# The contents of online logs will be lost and all backups will
# be invalidated. Use this only if online logs are damaged.
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'D:ORACLEORADATAORCLREDO01.LOG' SIZE 100M,
GROUP 2 'D:ORACLEORADATAORCLREDO02.LOG' SIZE 100M,
GROUP 3 'D:ORACLEORADATAORCLREDO03.LOG' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'D:ORACLEORADATAORCLSYSTEM01.DBF',
'D:ORACLEORADATAORCLUNDOTBS01.DBF',
'D:ORACLEORADATAORCLCWMLITE01.DBF',
'D:ORACLEORADATAORCLDRSYS01.DBF',
'D:ORACLEORADATAORCLEXAMPLE01.DBF',
'D:ORACLEORADATAORCLINDX01.DBF',
'D:ORACLEORADATAORCLODM01.DBF',
'D:ORACLEORADATAORCLTOOLS01.DBF',
'D:ORACLEORADATAORCLUSERS01.DBF',
'D:ORACLEORADATAORCLXDB01.DBF',
'D:ORACLEORADATAORCLSCOTT_TABLAESPACE.ORA',
'D:ORACLEORADATAORCLTEST.DBF'
CHARACTER SET ZHS16GBK
;
# Configure RMAN configuration record 1
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('RETENTION POLICY','TO RECOVERY WINDOW OF 7 DAYS');
# Configure RMAN configuration record 2
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','ON');
# 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 'D:ORACLEORADATAORCLTEMP01.DBF'
SIZE 41943040 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
# End of tempfile additions.


















































    
 
 

您可能感兴趣的文章:

  • applet可以不通过数字签名,通过设置IE直接在本地访问本地文件吗
  • 我想我的网站屏蔽掉通过某些网站过来的访问,我想通过htaccess 文件来做,请大家帮帮我。
  • 我想问一下,java生成的.class文件能不能通过某种工具生成.exe文件?
  • 求救:关于在BSD下如何通过文件路径使用核内函数获得文件句柄?
  • 如何将/etc/passwd文件排序后,将第1和6字段通过管道输出到某个文件中。
  • 如何通过.sh文件 把指定字符串写入到指定文件
  • 用户通过mozilla访问页面文件,提交的参数要记录到系统的配置文件中去,如何来实现这个接口?
  • 通过shell解析文件,并根据解析内容生成新的文件。
  • 如何通过文件路径得到文件句柄
  • 如何通过ip判断该ip地址是否有共享文件
  • UNIX下如何通过并口,驱动打印机打印格式文件
  • 通过位图头文件计算BMP的数据大小
  • 急!!!!freeradius怎么通过users文件做认证呀?
  • 求助!如何在dos下将多个文件通过磁盘复制到另一台计算机上
  • GCC是怎么通过.h文件找到C函数库的
  • linux(FC1)下,如果共享一个文件给WINDOWS系统通过网络访问
  • 如何通过mount命令将DOS文件分区挂接到Linux系统上访问DOS分区
  • 怎么通过FILE指针得到文件描述符?
  • 发分了 急急 跪谢 100 分 需要从文件中每次读取 固定(通过参数传入)字节
  • linux下通过对文件读取方式查询oracle的版本信息
  • 请问谁知道怎么通过看LINIX原代码,来了解LINIX是如何实现FTP的,包括FTP的命令?谢谢
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问 linux 是如何调用 alsa的控制接口的??是通过控制接口名字吗?
  • 怎么样通过MAC控制上网?
  • 高分请教,如何在FreeBSD上制作以web方式的控制台?就像那些ADSL Moden之类的硬件通过在在IE上输入http://192.168.1.1然后通过登录就可以
  • 网关可以通过ICMP报文来控制客户机向外界的udp请求吗?
  • 能否通过线程id控制线程的状态?或是观察到线程的状态?
  • 通过程序控制,linux如何隔一段时间重新登录?
  • 如何通过IO方式控制并口设备
  • 如何通过程序捕获控制台下的屏幕的内容?
  • C#实现通过winmm.dll控制声音播放的方法
  • 磁盘控制器是通过DMA来传输数据的?
  • 请问高手,有没有办法可以控制文件的下载?下载文件,一般通过地址链直接链接过去就可以下载,但有些文件是要某种条件下才可以让客户下载,如
  • yii框架通过控制台命令创建定时任务示例
  • jsp表单数据不能通过jdbc把数据输入到sql server中去,在tomcat控制台上显示:"not suitable driver"
  • yii框架如何通过控制台命令创建定时任务
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • 我使用.net编译通过,但是使用g++编译不能通过。总是提示我undefined reference to ~myclass()
  • php通过socket_bind()设置IP地址代码示例
  • 紧急求救!能通过jdbc怎样连接sqlsever 然后通过 for xml 关键字得到xml流吗?
  • 通过javascript库JQuery实现页面跳转功能代码
  • 如何通过INTERNET访问通过共项一条线路上网的局域网中的机器???
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • 为什么g++编译通过了,而gcc却编译通过不了???
  • linux下通过crond实现自动执行程序
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户
  • 通过docker commit命令保存对docker容器的修改
  • Jbuilder第一次编译说缺包,引入通过!然后把原来引入的注释,又通过!上帝,救我!
  • 通过docker run命令运行新的docker镜像
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • 通过docker ps命令检查运行中的docker镜像
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户 100分相赠
  • Session id实现通过Cookie来传输方法及代码参考


  • 站内导航:


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

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

    浙ICP备11055608号-3