[20121105]重建控制文件少一个数据文件的情况.txt

[20121105]重建控制文件少一个数据文件的情况.txt
我的测试数据库经常做各种测试,resetlogs很多次,产生很多incarnation.今天想通过重建控制文件来清除这些信息.
我的控制文件的脚本是以前建立的,少包括一个数据文件.自己就拿这个做一个测试看看.
建立控制文件少包括'/u01/app/oracle11g/oradata/test/test01.dbf'
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 1600
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/u01/app/oracle11g/oradata/test/redo01.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 2 '/u01/app/oracle11g/oradata/test/redo02.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 3 '/u01/app/oracle11g/oradata/test/redo03.log'  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '/u01/app/oracle11g/oradata/test/system01.dbf',
  '/u01/app/oracle11g/oradata/test/sysaux01.dbf',
  '/u01/app/oracle11g/oradata/test/undotbs01.dbf',
  '/u01/app/oracle11g/oradata/test/users01.dbf',
  '/u01/app/oracle11g/oradata/test/example01.dbf',
  '/u01/app/oracle11g/oradata/test/rman01.dbf',
  '/u01/app/oracle11g/oradata/test/tools01.dbf'
--  '/u01/app/oracle11g/oradata/test/test01.dbf'
CHARACTER SET ZHS16GBK
;
执行以上后打开正常:
SQL> @cr.sql
ORACLE instance started.
SQL> alter database open ;
Database altered.
--建立临时文件.
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle11g/oradata/test/temp01.dbf' SIZE 355467264  REUSE AUTOEXTEND OFF;
Tablespace altered.
SQL> column name format a56
SQL> SELECT file#,rfile#,name,checkpoint_change#  FROM v$datafile;
     FILE#     RFILE# NAME                                                     CHECKPOINT_CHANGE#
---------- ---------- -------------------------------------------------------- ------------------
         1          1 /u01/app/oracle11g/oradata/test/system01.dbf                     3011110032
         2          2 /u01/app/oracle11g/oradata/test/sysaux01.dbf                     3011110032
         3          3 /u01/app/oracle11g/oradata/test/undotbs01.dbf                    3011110032
         4          4 /u01/app/oracle11g/oradata/test/users01.dbf                      3011110032
         5          5 /u01/app/oracle11g/oradata/test/example01.dbf                    3011110032
         6          6 /u01/app/oracle11g/oradata/test/rman01.dbf                       3011110032
         7          7 /u01/app/oracle11g/oradata/test/tools01.dbf                      3011110032
         8          8 /u01/app/oracle11g/product/11.2.0/db_1/dbs/MISSING00008                   0
8 rows selected.
SQL> select * from V$RECOVER_FILE;
     FILE# ONLINE  ONLINE_ ERROR            CHANGE# TIME
---------- ------- ------- ------------- ---------- -------------------
         8 OFFLINE OFFLINE FILE MISSING           0

--可以发现文件被定义在/u01/app/oracle11g/product/11.2.0/db_1/dbs/MISSING00008.
$ ls -l /u01/app/oracle11g/product/11.2.0/db_1/dbs/MISSING00008
ls: /u01/app/oracle11g/product/11.2.0/db_1/dbs/MISSING00008: No such file or directory
2.仅仅需要改名到原来的位置就ok了.
SQL> alter database rename file '/u01/app/oracle11g/product/11.2.0/db_1/dbs/MISSING00008' to '/u01/app/oracle11g/oradata/test/test01.dbf';
Database altered.
SQL> recover datafile 8;
Media recovery complete.
SQL> select * from V$RECOVER_FILE;
no rows selected
--OK,恢复完成!
SQL>  SELECT file#,rfile#,name,checkpoint_change#  FROM v$datafile;
     FILE#     RFILE# NAME                                                     CHECKPOINT_CHANGE#
---------- ---------- -------------------------------------------------------- ------------------
         1          1 /u01/app/oracle11g/oradata/test/system01.dbf                     3011110032
         2          2 /u01/app/oracle11g/oradata/test/sysaux01.dbf                     3011110032
         3          3 /u01/app/oracle11g/oradata/test/undotbs01.dbf                    3011110032
         4          4 /u01/app/oracle11g/oradata/test/users01.dbf                      3011110032
         5          5 /u01/app/oracle11g/oradata/test/example01.dbf                    3011110032
         6          6 /u01/app/oracle11g/oradata/test/rman01.dbf                       3011110032
         7          7 /u01/app/oracle11g/oradata/test/tools01.dbf                      3011110032
         8          8 /u01/app/oracle11g/oradata/test/test01.dbf                       3011110059
8 rows selected.
SQL> alter database datafile 8 online ;
Database altered.

SQL>  SELECT file#,rfile#,name,checkpoint_change#  FROM v$datafile;
     FILE#     RFILE# NAME                                                     CHECKPOINT_CHANGE#
---------- ---------- -------------------------------------------------------- ------------------
         1          1 /u01/app/oracle11g/oradata/test/system01.dbf                     3011110032
         2          2 /u01/app/oracle11g/oradata/test/sysaux01.dbf                     3011110032
         3          3 /u01/app/oracle11g/oradata/test/undotbs01.dbf                    3011110032
         4          4 /u01/app/oracle11g/oradata/test/users01.dbf                      3011110032
         5          5 /u01/app/oracle11g/oradata/test/example01.dbf                    3011110032
         6          6 /u01/app/oracle11g/oradata/test/rman01.dbf                       3011110032
         7          7 /u01/app/oracle11g/oradata/test/tools01.dbf                      3011110032
         8          8 /u01/app/oracle11g/oradata/test/test01.dbf                       3011110385
8 rows selected.
3.测试:
SQL> select tablespace_name from dba_tables where wner='SCOTT' and table_name='DEPT1';
TABLESPACE_NAME
--------------------
TEST

SQL> select * from scott.dept1;
    DEPTNO DNAME          LOC
---------- -------------- -------------
        50 TEST           BBBBB
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
--OK,正常!
RMAN> list incarnation ;
using target database control file instead of recovery catalog
List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       TEST     2071943378       CURRENT 15808173   2012-08-10 11:04:07
RMAN> quit
--仅仅保留一个Incarnations.
				
时间: 2024-10-22 23:27:57

[20121105]重建控制文件少一个数据文件的情况.txt的相关文章

[20130115]测试从asm中取出spfile文件以及一个数据文件.txt

[20130115]测试从asm中取出spfile文件以及一个数据文件.txt 参考: http://www.xifenfei.com/3019.html 使用dd复制asm中文件 SQL> column name format a50 SQL> select file#,ts#,status,enabled,checkpoint_change#,name,bytes  from v$datafile;      FILE#        TS# STATUS  ENABLED    CHEC

一个数据文件最小能够到多小?

一个数据文件最小能够到多小?以8K block size为例. 在Locally Managed Tablespace(LMT)中,如果是System Allocate的话. 1.LMT的数据文件需要1个block存储datafile header,还需要7个block存储bitmap block,这样是8 个block,一共64K 2.需要保证有至少一个extent的空间,在System Allocate中第一个extent会是64K 因此最小只能到128K.尝试缩小到更小的话,会碰到ORA-

[20141106]建立控制文件与丢失数据文件问题

[20141106]建立控制文件与丢失数据文件问题.txt --前一阵子,帮别人恢复系统,主数据库硬盘损坏,dataguard能够只读打开,查询没有问题,安全起见在另外的机器 --建立新系统,把dataguard的数据文件拷贝到新机器,建立新的控制文件,但是open resetlogs后发现,丢失一些数 --据文件,感觉很奇怪,询问以后才明白,有一些表空间是read only的,当然解决也很简单, --参考链接: http://blog.itpub.net/267265/viewspace-74

国际化-QT工程中如何多个UI文件使用一个.qrc文件

问题描述 QT工程中如何多个UI文件使用一个.qrc文件 10C VS2010 创建了一个QT项目,在其中又添加了一个UI,想让两个UI同时使用工程中的同一个.qrc文件进行国际化配置(ts文件翻译),请大神赐教!!!在线等,,急!! 解决方案 1.在qt designer中打开新添加的ui:2.在qt designer的资源浏览器中点击"编辑资源":3.在出现的编辑资源对话框上点击"打开资源文件"按钮,选择qrc文件即可. 解决方案二: Qt .qrc文件qt中的

数据文件坏删除数据文件

数据 没有简单的方法来删除表空间的数据文件,唯一的方法是删除整个定义的表空间,步骤有下面(前提是这个数据文件上的数据是不需要了): 如果数据库运行在非归档模式: 1. MOUNT数据库 - startup mount2. 删除数据文件 - alter database datafile xxx offline drop3. 打开(OPEN)数据库 - alter database open 4. 查看属于该表空间的所有对象:        select owner, segment_name,

SQLServer2005 没有日志文件(*.ldf) 只有数据文件(*.mdf) 恢复数据库的方法_mssql2005

复制代码 代码如下: exec sp_attach_db exun,'d:\exun2.mdf' 一句话就可以了. 网上看了那些比较繁琐的,都是sql server 2000版本的. (可能执行一次不能成功,测试了下,有时候需要执行2次以上命令才行) 执行了之后,记得刷新数据库,不然是不会显示的

Oracle 表空间与数据文件

--============================== --Oracle 表空间与数据文件 --============================== /* 一.概念     表空间:是一个或多个数据文件的逻辑集合     表空间逻辑存储对象:永久段-->如表与索引                         临时段-->如临时表数据与排序段                      回滚段-->用于事物回滚或闪回内存的撤销数据     表空间分类:系统表空间(sys

Oracle的表空间与数据文件简介

一.概念 表空间:是一个或多个数据文件的逻辑集合 表空间逻辑存储对象:永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空间分类:系统表空间(system.sysaux),非系统表空间 一个表空间至少包含一个数据文件,一个数据文件只能属于一个表空间. 不可或缺的几个表空间: SYSTEM --->字典表空间,不能被损坏 UNDO    --->dml,dql把数据快照到此,数据提交即消失(用于恢复) SYSAUX    

[20160329]表空间与数据文件.txt

[20160329]表空间与数据文件.txt --昨天跟别人聊天,提到招聘DBA,一些dba这些基本的概念不清楚. --表空间可以是一个逻辑的概念,包含多个数据文件.而一个数据文件仅仅属于一个表空间. --表空间offline,一般不需要recover 恢复.除非加入immediate 参数. --而数据文件offline,一定需要恢复,才能online.如果是非归档模式必须在后面加入drop参数(自己曾经对于这存在混乱). --不要误解后面这个drop不是删除的意思,我以前理解就存在错误. -