Oracle—用户管理的备份(一)
Oracle—用户管理的备份(一)一.首先要知道数据库中表空间和文件的信息,有几个性能视图,v$datafile,v$tablespace,v$tempfile,v$logfile,v$controlfile,dba_tablespaces,dba_data_files可以用它们来查看表空间或者文件的位置和名字,其中dba_data_files可以查看到每个数据文件属于哪个表空间。对于查看每个数据文件属于哪个表空间也可以用$datafile,v$tablespace来join一下。例如:SQL> select t.name tablespace,d.name datafile from v$tablespace t join v$datafile d on t.ts#=d.ts#;TABLESPACE DATAFILE------------------------------ -----------------------------------SYSTEM /u01/oradata/wilson/system01.dbfSYSAUX /u01/oradata/wilson/sysaux01.dbfUNDOTBS1 /u01/oradata/wilson/undotbs01.dbfUSERS /u01/oradata/wilson/users01.dbfEXAMPLE /u01/oradata/wilson/example01.dbfPAUL /u01/oradata/wilson/paul01.dbfSUN /u01/oradata/wilson/sun01.dbfSMALLUNDO /u01/oradata/wilson/smallundo1.dbfASSM /u01/oradata/wilson/assm_1.dbfMSSM /u01/oradata/wilson/mssm_1dbfPAUL /u01/oradata/wilson/paul02.dbf二.备份的方式1.处于非归档模式在非归档模式下,关闭数据库执行完整的备份是唯一的选择。在上面给出的视图中找到每个文件的位置,要备份的有控制文件和整个数据文件集,最好把临时文件和spfile,password文件(它们在/u01/oracle/dbs中)一起也备份了。在备份之前必须干净的关闭数据库,那么对于联机重做日志没有必要备份。但是如果是出现不干净的关闭数据库,那么必须备份联机重做日志,不然还原后无法打开数据库。(其实无论在什么情况下,最好都备份)2.处于归档模式在归档模式下,既可以在关闭数据库时备份也可以在打开数据库时备份;(一)在关闭数据库时备份和非归档模式备份是一样,有一个差别就是不备份联机重做日志了,改为备份归档日志。(二)在打开数据库时备份,备份是非一致性的,所以必须备份归档日志文件。有下面三个步骤:(1)备份控制文件备份控制文件有两种方式,alter database backup confile to <filename>;alter database backup confile to trace as <filename>;第一种形式生成一个二进制备份,输出文件将是当前控制文件的严格的读一致性副本;第二种形式生成一个逻辑备份,在指定文件中使用一组SQL命令来创建一个新的控制文件,并且包含与当前的控制文件相同的数据库物理结构信息。这里说明一下create controlfile命令,它必须在非加载模式下执行,并且在control_files参数指定的位置生成一个新的控制文件;这个命令生成的新控制文件只包含与物理结构有关的数据;例如RMAN备份将会丢失。在操作系统下建立个目录/tmp/con,用第一种形式备份控制文件;SQL> alter database backup controlfile to '/tmp/con/c1.ctl';Database altered.SQL> !ls -l /tmp/contotal 9636-rw-r----- 1 oracle oinstall 9846784 Aug 23 10:07 c1.ctl用第二种形式备份控制文件;SQL> alter database backup controlfile to trace as '/tmp/con/c2.ctl';Database altered.SQL> !ls -l /tmp/contotal 9648-rw-r----- 1 oracle oinstall 9846784 Aug 23 10:07 c1.ctl-rw-r--r-- 1 oracle oinstall 7107 Aug 23 10:11 c2.ctl只要控制文件发生变化就要备份它,建议每次备份时都备份一下控制文件。(2)关于归档日志文件备份先执行alter system archive log current,再找到归档日志位置,复制到别的地方即可。有关归档日志的设置请参照:归档模式(3)当他们的表空间置于备份模式时复制数据文件;有关备份模式请参照:oracle中backup模式查看有哪些表空间;SQL> select tablespace_name,contents from dba_tablespaces;TABLESPACE_NAME CONTENTS------------------------------ ---------SYSTEM PERMANENTSYSAUX PERMANENTUNDOTBS1 UNDOTEMP TEMPORARYUSERS PERMANENTEXAMPLE PERMANENTPAUL PERMANENTMYTEMP TEMPORARYSUN PERMANENTSMALLUNDO UNDOASSM PERMANENTTABLESPACE_NAME CONTENTS------------------------------ ---------MSSM PERMANENT12 rows selected.查看一下表空间中有哪些数据文件;SQL> select tablespace_name,file_name from dba_data_files;TABLESPACE_NAME FILE_NAME------------------------------ -----------------------------------PAUL /u01/oradata/wilson/paul01.dbfUSERS /u01/oradata/wilson/users01.dbfUNDOTBS1 /u01/oradata/wilson/undotbs01.dbfSYSAUX /u01/oradata/wilson/sysaux01.dbfSYSTEM  上一个:Oracle—用户管理的备份(二)
下一个:Oracle常用语句记录
- 更多Oracle疑问解答:
- 运行exp备份oracle数据库提示oracle-12154错误
- 有没有,生产Oracle Rman 备份脚本的工具啊!
- 初学orcle,希望有大大帮忙解说一下详细步骤,从登录oracle到创建表的过程
- oracle语句问题:一张user表,三个字段,id,name,time,插入记录比如:张三2007,李四2008,张三2011
- 如何写一个ORACLE触发器同步两个表中的数据?
- oracle 如何查看一个服务器上有多少个数据库.
- oracle 创建包的时候错误 求解
- oracle 重复列的问题
- oracle 中如何查处2星期前的数据
- 请教oracle数据库安装中的问题
- 请问谁能提供给我标准的oracle ERP的数据库表结构并详细说明各表主要的作用?
- 安装oracle遇到的问题 invalid entry CRC (expected 0x3e12e795 but got 0x9db0e9fd)
- 我的是ORACLE 10G,在RMAN中如何按指定的时间恢复数据文件啊?
- oracle为什么没有自动增长列
- oracle快捷键都有哪些啊?