2012/12/07 d109作业
手工备份 恢复的方式
undo 表空间的扩展与收缩
手工备份和恢复
要备和恢复的是:份控制文件,数据文件和日志文件
恢复: 数据库数据损坏的情况下,使用备份将受损的恢复过来的过程。
控制文件
控制文件主要是在oracle启动的时候,启动到第二部mount的时候,会从控制文件中读取日志文件和数据文件的路径信息
控制文件所在目录:cd /oracde/app/oracle/oradata/TEST/control.ctl的胡文件。
oracle默认会创建三个控制文件,三个控制文件里边的内容完全是一模一样的,是二进制文件
包含 数据库名称与表示
表空间名称
数据文件与日志文件位置与名称
归档日志文件信息
备份信息 (RMAN)备份元数据信息
文件的存储位置
查看系统的控制文件:
select * from v$controlfile
查看系统的日志文件:
select * from v$logfile
查看系统的数据文件:
select * from v$dba_data_files;
然后在/home/oracle/下新建三个文件:
分别为控制文件的备份文件crl.bak
日志文件的备份文件log.bak
数据文件的备份文件data.dbf
进行备份文件:
首先关掉数据库:
开始备份文件
备份完成,查看备份的结果:
cd /home/oracle
查看是否备份过来了
备份全部完成。
恢复就是将备份的文件拷贝到要来的文件目录下。
2.备份表空间
表空间在oracle中只是个逻辑概念,备份表空间其实是备份表空间下的数据文件,我们要找到表空间下对应的数据文件,把数据文件备出来。注意表空间备份只适用于archivelog模式,备份表空间分为在表空间online备份和表空间offline备份,表空间脱机备份
SQL> select file_name from dba_data_files where tablespace_name='TEST1';
FILE_NAME
--------------------------------------------------------------------------------
/oracle/app/oradata/TEST/test1.dbf
SQL> alter tablespace test1 offline;
Tablespace altered.
SQL> ! cp /u01/test1.dbf /u01/backup
SQL> alter tablespace test1 online;
Tablespace altered.
这样表空间test1就备份完了,因为表空间offline后就不能访问数据文件了,而且system表空间和正在使用的undo表空间不能脱机,所以这种方法很少用。
undo 扩展和收缩
一.表空间的扩展有两种方式:
1.手动增大表空间
查看表空间
查看undo表空间。undo表空间的大小。
扩展undo表空间为100M。
收缩undo表空间为50M。
2.将表空间设置为自动扩展
undo 表空间每次自动扩展1M。
修改undo表空间为25M;
创建一表为t.插入一些数据,并删除。
再次查看undo表空间的大小为:
这就是undo表的自动扩展。
转载于:https://blog.51cto.com/6236998/1083193