czhtr 发表于 2015-6-17 08:14:43

数据文件实验#OCP#

  1 创建一个表空间TEST(TEST.dbf 10M)并设置其块大小为4k
create tablespace test datafile 'c:\test\test.dbf' size 10m blocksize 4k;
  首先是报错

2 向TEST表空间增加一个10M的数据文件(TEST1.DBF),将TEST.DBF修改为15M
  alter tablespace users add datafile 'C:\APP\DELL\ORADATA\NCBETA\USERS02.DBF' SIZE 50m;
  增加表空间大小
  1。增大现在表空间数据文件的大小.alter database datafile 'XXX' resize XXXXM; --不需要重启oracle
2。给这个表空间增加数据文件:altertablespace XXX add datifile 'XXX' size XXXM autoextend on next XXM maxsize XXXXM;
  疑问:
  更改数据文件大小和直接更改表空间大小关系?



ALTER DATABASE
DATAFILE '/u03/oradata/userdata02.dbf'
RESIZE 200M;
  


  结论:一个表空间可以有多个数据文件,一个数据文件只能属于一个表空间,表空间在备份模式激活后v$backup对应的两个数据文件全部变为active
  查看表、表空间、数据文件关系



select f.FILE_name, f.tablespace_name, T.table_name
from dba_DATA_FILEs f, dba_all_tables t
where f.tablespace_name = t.tablespace_name
and t.table_name = 'EMP';
  3 移动TEST1.DBF
  方式一:Moving Data Files:ALTER TABLESPACE
  · The tablespace must be offline.
· The target data files must exist.

  将D:\TBS.DBF移动到D:\SENDB\步骤
  SYS@sen>alter tablespace tbs offline;
表空间已更改。--手工复制D:\TBS.DBF到D:\SENDB\
SYS@sen>alter tablespace tbs rename datafile 'D:\TBS.DBF' to 'd:\sendb\TBS.DBF';
表空间已更改。
  之后alter tablespace tbs online;

  Moving Data Files:ALTER DATABASE
  · The database must be mounted.
· The target data file must exist.
  shutdown 之后startup mount (mount下不读数据文件)之后剪接到指定目录,比如这里复原
  SYS@sen>alter database rename file 'D:\SENDB\TBS.DBF' to 'D:\TBS.DBF';
数据库已更改。
SYS@sen>alter database open;
数据库已更改。
  
4 在TEST表空间内创建一张表TABLE1(insert)
5 将TEST表空间改为READ ONLY
6 删除表TABLE1
7 将表空间改为READ WRITE
8 删除TEST表空间
检查数据文件是否被删除?
9 使用OMF创建表空间
检查数据文件是否被删除?
10创建一个撤消表空间UNDOTBS2,并把它设置为系统当前的撤消表空间
11创建一个临时表空间temp2,并把它设置为系统默认的临时表空间
  SQL> create temporary tablespace temp2 tempfile 'e:\temp2.dbf' size 200m;
SQL> alter database default temporary tablespace temp2;
  12 没有备份的恢复
  (1)创建一个表空间TBS1(TBS1.DBF)

(2) 在TBS1表空间内创建一张表T1(INSERT INTO)
  SYS@ncbeta>create table t2(id int) tablespace tbs;
表已创建。
  SYS@ncbeta>insert into t2 values(2);
已创建 1 行。
(3) SHUTDOWN IMMEDIATE
(4)手工删除表空间TBS1的数据文件
  已删除
(5)STARTUP



你想这么久了redolog里面关于老的数据文件的信息早被重写了
现在你说这么久了日志没了怎么恢复
  (6)将数据文件TBS1.DBF脱机
  alter database datafile 'D:\tbs1.dbf' offline; --启动的时候没有成功,自动mount状态


  (7) ALTER DATABASE OPEN;
数据库已更改。
  
(8)ALTER DATABASE CREATE DATAFILE 'D:\tbs1.dbf';

(9)recover datafile 'D:\tbs1.dbf';
  完成介质恢复。
(10)将数据文件TBS1.DBF联机
  SYS@ncbeta>alter database datafile 'D:\tbs1.dbf' online;
  
(11)检查数据是否恢复 --已经恢复
页: [1]
查看完整版本: 数据文件实验#OCP#