用户管理的备份(一)

一.首先要知道数据库中表空间和文件的信息,有几个性能视图,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—用户管理的备份(一)的更多相关文章

  1. Oracle—用户管理的备份(二)

    在用户管理的备份(一)中(详见:Oracle—用户管理的备份)对用户管理备份几种情况进行了说明:接下来说明几种特别情况和DBverify的使用. 一.如果在表空间在备份模式下,主机发生了异常关闭,会出 ...

  2. Oracle—用户管理的完全恢复(一)

    一.分类 可以分为在非归档模式下和归档模式下的完全恢复,完全恢复主要是针对归档模式下的,在非归档模式下很难做到完全恢复,除非是在做恢复时,联机重做日志还没有被重写. 二.非归档的有关性质 1.在非归档 ...

  3. Oracle DB 执行用户管理的备份和恢复

    • 说明用户管理的备份和恢复与服务器管理的备份和恢复 之间的差异 • 执行用户管理的数据库完全恢复 • 执行用户管理的数据库不完全恢复 备份和恢复的使用类型 数据库备份和恢复的类型包括: • 用户管理 ...

  4. Oracle—用户管理的完全恢复(四)

    在用户管理的备份(三)中,最后打开数据库时,用了alter database open resetlogs;的命令,这里为什么用resetlogs命令? 一.resetlogs的作用 1.将当前的日志 ...

  5. Oracle 用户管理权限

    Oracle 用户管理权限 一.创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_AT ...

  6. Oracle 用户管理与权限控制

    Oracle 用户管理与权限控制 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create ...

  7. Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理

    1.为什么学习oracle? 性能优越: 小型数据库 中型数据库 大型数据库 acess.foxbase mysql.sql server.informix sybase.oracle.db2 复杂量 ...

  8. 四、oracle 用户管理(Profile)

    oracle 用户管理 :profile + tablespace + role + user  一.使用profile管理用户口令概述:profile是口令限制,资源限制的命令集合,当建立数据库时, ...

  9. 三、oracle 用户管理一

    三.oracle 用户管理一 一.创建用户概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用.create user 用户名 ide ...

随机推荐

  1. Symfony2 是什么(转)

    本文转自:http://www.cnblogs.com/Seekr/archive/2012/06/15/2550894.html Symfoy2 是什么? PHP世界里又一广受关注的web MVC框 ...

  2. 关闭Centos的自动更新

    昨天跟老板汇报,提到我们的linux服务器每天自动更新,老板大发雷霆,说生产系统不能够这样,非常不安全,一个师兄也提到他原来在移动的时候,服务器更新也是很谨慎的事情.看来我的思维太技术了,不够全面,所 ...

  3. C#数字图像处理的3种方法

    本文主要通过彩色图象灰度化来介绍C#处理数字图像的3种方法,Bitmap类.BitmapData类和Graphics类是C#处理图像的的3个重要的类. Bitmap只要用于处理由像素数据定义的图像的对 ...

  4. 关于Cococs中的CCActionEase

    尊重作者劳动,转载时请标明文章出处.作者:Bugs Bunny地址:http://www.cnblogs.com/cocos2d-x/archive/2012/03/13/2393898.html 本 ...

  5. Hive笔记--sql语法详解及JavaAPI

    Hive SQL 语法详解:http://blog.csdn.net/hguisu/article/details/7256833Hive SQL 学习笔记(常用):http://blog.sina. ...

  6. Facebook 正式开源其大数据查询引擎 Presto

    Facebook 正式宣布开源 Presto —— 数据查询引擎,可对250PB以上的数据进行快速地交互式分析.该项目始于 2012 年秋季开始开发,目前该项目已经在超过 1000 名 Faceboo ...

  7. vim下编写html的超级利器emmet

    GitHub:里面有详细的文档说明 https://github.com/mattn/emmet-vim 下载地址: http://www.vim.org/scripts/script.php?scr ...

  8. Gridview将某列内容和标题隐藏起来

    protected void gvInfo_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == Dat ...

  9. 【细说Java】Java变量初始化顺序

    Java的变量初始化顺序,对这里一直似懂非懂,面试的时候也经常被问到,但答的一直不好,现在整理记录一下,以后忘记了可以来看看. 程序分为两个部分,第一个部分不考虑继承,第二个部分考虑继承: (1)不考 ...

  10. JDBC之ResultSet

    ResultSet is a interface More gnerally,ResultSet is a class involves a table returned by executeQuer ...