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.dbf
SYSAUX /u01/oradata/wilson/sysaux01.dbf
UNDOTBS1 /u01/oradata/wilson/undotbs01.dbf
USERS /u01/oradata/wilson/users01.dbf
EXAMPLE /u01/oradata/wilson/example01.dbf
PAUL /u01/oradata/wilson/paul01.dbf
SUN /u01/oradata/wilson/sun01.dbf
SMALLUNDO /u01/oradata/wilson/smallundo1.dbf
ASSM /u01/oradata/wilson/assm_1.dbf
MSSM /u01/oradata/wilson/mssm_1dbf
PAUL /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/con
total 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/con
total 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 PERMANENT
SYSAUX PERMANENT
UNDOTBS1 UNDO
TEMP TEMPORARY
USERS PERMANENT
EXAMPLE PERMANENT
PAUL PERMANENT
MYTEMP TEMPORARY
SUN PERMANENT
SMALLUNDO UNDO
ASSM PERMANENT
TABLESPACE_NAME CONTENTS
------------------------------ ---------
MSSM PERMANENT
12 rows selected.
查看一下表空间中有哪些数据文件;
SQL> select tablespace_name,file_name from dba_data_files;
TABLESPACE_NAME FILE_NAME
------------------------------ -----------------------------------
PAUL /u01/oradata/wilson/paul01.dbf
USERS /u01/oradata/wilson/users01.dbf
UNDOTBS1 /u01/oradata/wilson/undotbs01.dbf
SYSAUX /u01/oradata/wilson/sysaux01.dbf
SYSTEM /u01/oradata/wilson/system01.dbf
EXAMPLE /u01/oradata/wilson/example01.dbf
SUN /u01/oradata/wilson/sun01.dbf
SMALLUNDO /u01/oradata/wilson/smallundo1.dbf
ASSM /u01/oradata/wilson/assm_1.dbf
MSSM /u01/oradata/wilson/mssm_1dbf
PAUL /u01/oradata/wilson/paul02.dbf
11 rows selected.
在备份前,先创建个目录/tmp/hb
把sun表空间改为backup模式下,
SQL> alter tablespace sun begin backup;
Tablespace altered.
备份表空间下的数据文件,
SQL> !cp /u01/oradata/wilson/sun01.dbf /tmp/hb
查看一下结果,
SQL> !ls -l /tmp/hb
total 20516
-rw-r----- 1 oracle oinstall 20979712 Aug 22 23:01 sun01.dbf
结束备份,
SQL> alter tablespace sun end backup;
Tablespace altered.
在数据库打开的情况下手动备份(在归档模式下),必须执行begin backup,虽然可以在操作系统层面上备份,但是其备份的将不能使用。
也可以使用SQL> alter database begin backup;
Database altered.
把所有的表空间一次性的全部处于backup模式。
还有一点就是不能备份临时表空间,甚至不能将他们置于备份模式。
SQL> alter tablespace temp begin backup;
alter tablespace temp begin backup
*
ERROR at line 1:
ORA-03217: invalid option for alter of TEMPORARY TABLESPACE
(4)备份参数文件和口令文件
对它们的备份不是必须的,但是为了方便的还原它们,最好还是备份了;
参数文件,为了备份spfile,使用下面的命令生成个文本文件。
SQL> create pfile='initwilson.ora' from spfile;
如果动态参数文件在某个时候受损,那么在非加载模式下使用该命令重新创建它或者在关闭实例时也可以执行,、
Create spfile from pfile=’initwilson.ora’;
口令文件,为了备份口令文件,保存用来创建它的命令的一个副本。如:
orapwd file=$ORACLE_HOME/dbs/orapwd<SID> password=oracle entries=5;
其中<SID>是实例名称。如果口令文件某个时刻被损坏,那么简单运行该脚本来重新创建它。
Oracle—用户管理的备份(一)的更多相关文章
- Oracle—用户管理的备份(二)
在用户管理的备份(一)中(详见:Oracle—用户管理的备份)对用户管理备份几种情况进行了说明:接下来说明几种特别情况和DBverify的使用. 一.如果在表空间在备份模式下,主机发生了异常关闭,会出 ...
- Oracle—用户管理的完全恢复(一)
一.分类 可以分为在非归档模式下和归档模式下的完全恢复,完全恢复主要是针对归档模式下的,在非归档模式下很难做到完全恢复,除非是在做恢复时,联机重做日志还没有被重写. 二.非归档的有关性质 1.在非归档 ...
- Oracle DB 执行用户管理的备份和恢复
• 说明用户管理的备份和恢复与服务器管理的备份和恢复 之间的差异 • 执行用户管理的数据库完全恢复 • 执行用户管理的数据库不完全恢复 备份和恢复的使用类型 数据库备份和恢复的类型包括: • 用户管理 ...
- Oracle—用户管理的完全恢复(四)
在用户管理的备份(三)中,最后打开数据库时,用了alter database open resetlogs;的命令,这里为什么用resetlogs命令? 一.resetlogs的作用 1.将当前的日志 ...
- Oracle 用户管理权限
Oracle 用户管理权限 一.创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_AT ...
- Oracle 用户管理与权限控制
Oracle 用户管理与权限控制 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create ...
- Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理
1.为什么学习oracle? 性能优越: 小型数据库 中型数据库 大型数据库 acess.foxbase mysql.sql server.informix sybase.oracle.db2 复杂量 ...
- 四、oracle 用户管理(Profile)
oracle 用户管理 :profile + tablespace + role + user 一.使用profile管理用户口令概述:profile是口令限制,资源限制的命令集合,当建立数据库时, ...
- 三、oracle 用户管理一
三.oracle 用户管理一 一.创建用户概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用.create user 用户名 ide ...
随机推荐
- 网址测速JS
/*.route_nav li a:hover{background: #3c7f84 url(title.png) no-repeat;border-color:#84a3a5;}*/ .route ...
- 用Set中元素做条件查询
一个老师教许多学生,一个学生被许多老师教,一个学生有好多书,同一种书被许多同学拥有.查询教拥有书"a"的学生的老师: class teacher{ String id; ...
- c语言实现BMP图像转换为灰度图
当初是自己要装X,非要用c来写信息隐藏作业,装了X,就得付出实践.查了好久资料,到期末才把作业交了,这里总结一下. 这道题是将真彩图转换为灰度图. 关于BMP文件结构,这是困扰了我好久的问题,上网查了 ...
- C++学习笔记1——const
Const 限定符 1. 等价 //const对象必须初始化//C++中const修饰的变量不能改变//C中const修饰的变量可以通过指针修改 2. ; const int j = i;//变量给常 ...
- pin导致路由器死掉的解决方法
首先检测网卡: ifconfig -a 然后模拟端口: airmon-ng start wlan0 接下来用: airodump-ng mon0 扫描ap找到你pin死的路由器mac 用mdk3 做身 ...
- 转:VC中UpdateData()函数的使用
VC中UpdateData()函数的使用 UpdateData(FALSE)与UpdateData(TRUE)是相反的过程 UpdateData(FALSE)是把程序中改变的值更新到控件中去 ...
- BZOJ3399: [Usaco2009 Mar]Sand Castle城堡
3399: [Usaco2009 Mar]Sand Castle城堡 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 22 Solved: 17[Sub ...
- sql server2008如何创建外键
原文地址:http://blog.csdn.net/zuozuo1245/article/details/8644115 以前创建数据库时就是有主键的创建了主键,但是表之间的关系没有联系,要建数据库关 ...
- JDK、JRE和JVM的区别与联系
首先来说一下JDK JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK). JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime E ...
- 有关autoresizingMask属性遇到的一个小问题
前言:在讲述这个小问题之前,我们有必要先了解一下UIViewAutoresizing的有关属性概念和使用详解. 参考:自动布局之autoresizingMask使用详解(Storyboard& ...