当前位置:文档之家› 完整版ORACLE RMAN文档

完整版ORACLE RMAN文档

完整版ORACLE RMAN文档
完整版ORACLE RMAN文档

ORACLE RMAN 备份恢复

一、为什么要用RMAN

RMAN是Recovery Manager的简称,也就是恢复管理器,是ORACLE的备份恢复工具。我们上几章所讲的备份恢复,是用户管理的备份恢复。用户管理的备份恢复已经可以完成各种备份恢复操作,为什么还要用RMAN 呢?最重要的一点是,当数据文件比较多,而且有时新增数据文件、有时减少数据文件。备份的时间一长,有时候我们自己都容易忘记谁被备份了,而谁还没有备份。如果我想让每个数据文件都有两份备份,那么哪个数据文件的备份数量还达不到要求。等等,这些问题,在用户管理的备份恢复下,因为你备份了谁,在ORACLE中并没有记录,你必须去操作系统中查阅磁盘文件,如果数据文件比较多,这将是一个非常繁锁的过程。而且,也很容易出现遗漏。我见过一家企业,因为备份策略是以前就建好的,没有使用RMAN,运行了很久,没有出过什么问题,因此也没有人敢提出升级到RMAN。数据库管理就是这样,如果它运行的好好的,性能、安全性上都能满足需要,就没有必要动它。谁知道改变它会有什么后果呢。这家企业的备份策略使用了大量的操作系统Shell 脚本、ORACLE中SQL*Plus脚本,自己建立了很多表,每备份一次,都把备份的数据件名记进表中,需要知道数据文件、控制文件的备份情况时,就去统计表。其实这基本上实现了简单的RMAN的功能。但是方便用户管理备份,这只是RMAN诸多优点中的一项,RMAN的备份性能要高于用户管理的备份,RMAN可以实现块级恢复等等,这些功能就不要利用脚本自己就可以实现的了。总之,经过8i、9i、10G几代的发展,RMAN已经成为了ORACLE中的最要的备份恢复工具,我们有什么备份恢复操作,要尽量使用RMAN来完成。好,下面,我们就开始介绍RMAN的使用。

二、如何进入RMAN

使用RMAN和使用SQL*Plus一样。只是在连接SYS用户时,不需要AS SYSDBA。

D:\Documents and Settings\JJBOBO1>set oracle_sid=uplooking

D:\Documents and Settings\JJBOBO1>rman target /

恢复管理器: Release 10.2.0.1.0 - Production on 星期三5月28 14:07:20 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到目标数据库: FOUR10G (DBID=2924364082)

Target的作用,是报诉ORACLE,我们所连接的是目标数据库。我们也可以在进行RMAN之后再连接:RMAN> connect target /

已连接到目标数据库

当然,也可以把“/ ”换为SYS/密码。但是不能像SQL*Plus那样,把CONNECT省略为CONN。

其实在RMAN中,无论用什么用户连接,RMAN都将自动的加上去AS SYSDBA。所有,我们就不必再加AS SYSDBA了。

我们可以在RMAN中执行一些与备份恢复密切相关的数据库操作。如关闭数据库或打开数据库:RMAN> shutdown immediate;

使用目标数据库控制文件替代恢复目录

数据库已关闭

数据库已卸载

Oracle 实例已关闭

这也证明了虽然没有加上AS SYSDBA,但是仍然以管理用户连接到了RMAN。因为只有管理用户,才能执行关闭、打开数据库的操作。

但是,与备份恢复没有任何关系的操作,是不能在RMAN中执行的。比如说,创建一个表:

RMAN> create table aaa(id number);

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-00558: 分析输入命令时出错

RMAN-01009: 语法错误: 找到"identifier": 应为: "catalog, global, script" 中的一个

RMAN-01008: 错误标识符: table

RMAN-01007: 在第1 行第8 列, 文件: standard input

如果你想创建表,最好还是到SQL*Plus中吧。哪里才是执行数据库操作的地方,RMAN是用来备份恢复的。

如果没有设置ORACLE_SID环境变量,我们也可以在RMAN中通过监听器连接:

RMAN TARGET 用户名/密码@连接描述符

或在RMAN中:

CONNECT TARGET 用户名/密码@连接描述符

无论通过不通过监听器连接,RMAN都会自动的为用户加上AS SYSDBA。也就是说,只要用RMAN成功的连接,都具有管理权限。

三、目标数据库控制文件与恢复目录

目标数据库,我们使用RMAN要对哪个数据库进行备份,哪个数据库就是目标数据库。

RMAN有一项重要功能,就是记录各种文件的备份信息,以便用户随时了解各个文件的备份情况。备份信息会被RMAN自动的记入目标数据库的控制文件中。控制文件中存储RMAN备份信息的区域是循环使用的,以初始化参数control_file_record_keep_time的值为准。这个参数的值默认是7天,也就是说控制文件中的RMAN 信息,最多保留7天就会被新的信息覆盖。这个参数的设置,也是影响控制文件大小的重要因素之一。

但是,将RMAN的备份信息保留在目标数据库中,是非常不安全的。如果目标数据库的控制文件损坏了,RMAN将因为读不出来备份信息,而无法进行恢复。通常建议将信息再存储到另外一个数据库中,这个数据库一般被称为恢复目录。

作为恢复目录的数据库,其实恢复目录在它里面只建一个表空间,这个数据库还可以像正常数据库一样另外存放其他信息。并不是只能用来存放另一个数据库RMAN的备份信息。

好了,我们讲了两个概念,目标数据库和恢复目录。目标数据库就是我们要备份的数据库,而恢复目录是存放目标数据库备份信息的数据库。下面,我们说一下恢复目录的配置。

四、配置恢复目录

第一步当然先要有一个数据库了,我额外创建了一个RCA T数据库,下面我们用它来作恢复目录。在实际的情况下,恢复目录数据库最好是和目标数据库分别存在在不同的存储设备中。

下面,启动RCA T数据库。

步1:创建存储目标数据库备份信息的表空间

sid=25 pid=20> create tablespace cattbs datafile 'f:\oracle\oradata\rcat\cattbs_1.dbf' size 20m;

Tablespace created.

这个表空间并不是专用的,它的名字你可随便定。它也可以存储其他信息。但是建议只用它存储目标数据库的备份信息。

步2:创建RCA T1用户

sid=22 pid=15> create user rcat1 identified by abcde default tablespace cattbs quota unlimited on cattbs;

用户已创建。

用户名当然也是随变定的。它的缺省表空间一定要是刚才创建的CATTBS。

步3:授予权限:

sid=22 pid=15> grant connect,recovery_catalog_owner to rcat1;

授权成功。

恢复目录用户,一定要有recovery_catalog_owner角色。此角色是专门针对恢复目录的,它向用户授予了很多特权。

步4:在RMAN中创建恢复目录

在RMAN中,连接到恢复目录数据库:

RMAN> connect catalog rcat1/abcde@rcat;

连接到恢复目录数据库

注意,刚才我们讲的连接,都是CONNECT TARGET,Target是目标的意思,就是连接目标数据库。如果要

- 2 -

连接恢复目录数据库,将Target换成Catalog即可。

在RMAN中,创建恢复目录:

RMAN> create catalog tablespace cattbs;

恢复目录已创建

注意这里的表空间名必须和在恢复目录数据库中创建的,用于存放备份信息的表空间一样。其实这一步就是通知RMAN,将备份信息除了存到目标数据库控制文件外,还要送往恢复目录数据库的CATTBS表空间。

步5:向恢复目录中注册目标数据库

在注册前,注意用RMAN同时连接两个数据库:

connect target sys/ifclwx

connect catalog rcat1/abcde@rcat;

注册命令很简单:

RMAN> register database;

注册在恢复目录中的数据库

正在启动全部恢复目录的resync

完成全部resync

到此为止,恢复目录的配置就算完成了。以后,每次进入RMAN时,在登录到目标数据库后,再登录到恢复目录数据库,RMAN就会将备份信息写恢复目录中,也就是写进RCAT数据库RCAT1用户的缺省表空间CATTBS中。

五、incarnation

这个单词的中文的意思是化身,它是针对恢复目录而言的。一个恢复目录数据库,可以注册进多个目标数据库。每一个目标数据库都是一个incarnation,也就是化身。另外,同一目标库在恢复目录中也可以多个化身。只要目标库进行了不完全恢复,并以Resetlogs打开了数据库,哪么在恢复目录中,就必须重新注册目标库。重新注册后,目标库就又有了一个incarnation。

一个incarnation,就是一个目标数据库在恢复目录中的代表。Resetlogs后,日志序列号从1开始重新计算,日志流被打断、重置。对于备份恢复体系来说,Reseglogs后的数据库,相当于一个全新的数据库。因此,在恢复目录中,要重新注册一次这个对于备份恢复来说全新的数据库。

使用list incarnation命令,可以查看恢复目录中的化身:

RMAN> list incarnation;

数据库原型列表

DB 关键字Inc 关键字DB 名DB ID STATUS 重置SCN 重置时间

------- ------- -------- ---------------- --- ---------- ----------

1 2 FOUR10G 2924364082 CURRENT 1 28-5月-08

关键字列,就是目标数据库的化身号。而DB ID列,则是它的数据库ID。我们可以在SQL*Plus中,查询V$DA TABASE的DBID列,也可以得到数据库的ID编号。这个编号是在创建数据库时由ORACLE指定的。sid=25 pid=20> select dbid, name from v$database;

DBID NAME

---------- ------------------

2924364082 FOUR10G

六、同步

在RMAN中的备份信息,会被默认送往目标数据库的控制文件中。尽管RMAN也会把信息自动的写入恢复目录中,但我们还要应该每隔N天,将目标数据库控制文件中的信息,手动的同步到恢复目录中。

同步的命令非常简单,只需要在RMAN中,同时连接目标库和恢复目录库,再使用resync catalog命令即可:RMAN> resync catalog;

正在启动全部恢复目录的resync

完成全部resync

- 3 -

每隔N天同步,这个N天通常应该设置为control_file_record_keep_time参数的值。如果此参数设为7,也就是我们应该至少每7天同步一次目标库控制文件和恢复目录中的信息。因为控制文件中的信息在7天后有可能被覆盖,因此,我们应该至少每7天同步一次。否则恢复目录中的信息将有可能不完整。

七、恢复目录库中的视图

其实ORACLE是把备份信息写进了目录库中的一些表内,我们可以通过“RC_”系列视图来查询这些表例如,我们连接到目录库RCAT1:

idle> conn rcat1/abcde@rcat

已连接。

idle> select * from rc_database;

DB_KEY DBINC_KEY DBID NAME RESETLOGS_CHANGE# RESETLOGS_TIME

---------- ---------- ---------- -------- ----------------- -------------------

1 2 2924364082 FOUR10G 1 2008-05-28 09:59:14

RC_DATABASE显示了注册到恢复目录中的目标库。这个视图显示的信息和list incarnation几乎一样。其实list incarnation命令就是读取的RC_DATABASE视图。

第二节 RMAN备份

一、

RMAN的备份及备份管理,是有点复杂的。这也是我们的重点内容。而RMAN的恢复,就极简单了。其实只要备份做的好,恢复本就是一件非常简单的事。只有那些处处漏洞、满目苍夷的数据库,一旦出现问题,才需要高深的恢复技巧。比如,绕过ORACLE读已经无法正常打开数据库的数据文件。而对于有着良好的备份策略的数据库,恢复操作,从来都是很简单的事。

二、RMAN相关的名词

1.通道:它是目标库到存储存设备的连接途径。RMAN的备份恢复都是由服务器进程完成的,通道就是服务器进程和存储设备间建立的连接。

2.备份片:RMAN备份时所产生的备份文件。每一个备份文件,就叫一个备份片。备份片中的数据,可以来自数据文件、控制文件、归档日志文件。一个备份片有可能是多个文件备份数据的组合,或者一个数据文件可以跨越多个备份片,也就是一个数据文件可以被分割成多个备份片。

3.备份集:一个通道将对应一个备份集,一个备集中,包含多个备份片。备份集是一个逻辑概念,在操作系统中,你是找不到备份集相关的信息的。在操作系统中,你可以找到备份片,一个备份片就是一个操作系统文件。在ORACLE中,又把多个备份片对应的文件组合起来,比如说1、3、5号文件组合起来,构成备份集1,等等。备份集只存在在概念上。因此,它是备份片的逻辑组合。

上图的备份过程中,建立了两个通道,因此在存储设备中,就有两个备份集。备份集1包含了数据文件1、4、5的备份。它里面有两个备份片,分别是片1和片2,其中片1包含数据文件1的备份,和数据文件4的一部

- 4 -

分备份。而片2包含数据文件4的另一半备份,和数据文件5的备份。备份集2只有一个备份片,其中包含了三个数据文件的备份。

4.备份类型:RMAN共有两大类备份类型,一类被称为映像拷贝,另一类是增量备份。

下面,我们先从映像拷贝开始。

三、映像拷贝

1.映像拷贝

也叫映像副本。它其实和直接的用操作系统拷贝命令复制文件差不多。使用它可以备份数据文件、控制文件和归档日志文件。不能备份重做日志文件。下面我们来看一下映像拷贝的使用。

一个标准的映像拷贝应该如下完成:(放PPT)

上面这段脚本包含两个命令,第2行的命令是分配通道,通道名是D1,这个通道名是随变起的。类型是DISK,磁盘。类型还可以是磁带:???。这是第一条命令,结束处以“;”分号标记。

接着,从第3行到第8行是一条命令,这就是我们的映像拷贝命令。也就是说,RMAN的命令都以分号结束。一个分号就是一条命令。

在映像拷贝命令中,我们以第4行为例,它的意思是将1号文件映像拷贝到E:\ORACLE\BACKUP处,映像备份的文件名是SYSTEM01.DBF。1号文件本来就是SYSTEM01.DBF,这个我们在DBA_DA TA_FILES中的FILE_ID列,或V$DATAFILE的FILE#列都有记录。映像拷贝后,备份文件的名字并不一定要和原文件一样。这个名字也是随变起的。我在这里是为了方便记忆,才和原文件名相同的。另外,DA TAFILE后的文件号也可以换成文件名:

Datafile ‘F:\oracle\oradata\four10g\system01.dbf’ to to 'e:\oracle\backup\SYSTEM01.DBF' ,在RMAN中,有一条简单的命令可以列出目标库中的所有数据文件和它的文件编号:

RMAN> report schema;

数据库方案报表

永久数据文件列表

===========================

文件大小(MB) 表空间回退段数据文件名称

---- -------- -------------------- ------- ------------------------

1 240 SYSTEM YES F:\ORACLE\ORADATA\FOUR10G\SYSTEM01.DBF

2 80 UNDOTBS1 YES F:\ORACLE\ORADA TA\FOUR10G\UNDOTBS01.DBF

3 60 SYSAUX NO F:\ORACLE\ORADATA\FOUR10G\SYSAUX01.DBF

4 10 USERS NO F:\ORACLE\ORADATA\FOUR10G\USERS01.DBF

临时文件列表

=======================

文件大小(MB) 表空间最大大小(MB) 临时文件名称

---- -------- -------------------- ----------- --------------------

1 16 TEMP 32767 F:\ORACLE\ORADATA\FOUR10G\TEMP01.DBF

第一列就是文件编号。注意,我们只用备份永久数据文件就行,不用备份临时文件。

脚本中的第8行是备份控制文件。

因为这个脚本包含了两条命令,所有这两条命令要用“RUN { }”括起来。如果只有一条命令,是不秘加“RUN{ }”的

- 5 -

上面这段脚本可以在目标库打开、或关闭时执行。如果备份时,目标库未打开,这就相当于冷备。而如果是在数据库打开时进行的备份,就相当于热备了。用RMAN热备不再需要将表空间设为热备状态。这比手动管理中的热备,将表空间置为热备状态,在总体性能上要好一些。

如果要备份归档日志,将上面的DATAFILE换成ARCHIVELOG :

Copy archivelog 归档日志文件名to 备份归档日志文件名

下面我们执行一下上面的脚本:

RMAN> run{

2> allocate channel d1 type disk;

3> copy

4> datafile 1 to 'e:\oracle\backup\SYSTEM01.DBF',

5> datafile 2 to 'e:\oracle\backup\UNDOTBS01.DBF',

6> datafile 3 to 'e:\oracle\backup\SYSAUX01.DBF',

7> datafile 4 to 'e:\oracle\backup\USERS01.DBF',

8> current controlfile to 'e:\oracle\backup\controlbak.ctl';

9> }

分配的通道: d1

通道d1: sid=31 devtype=DISK

启动backup 于28-5月-08

通道d1: 启动数据文件副本

输入数据文件fno=00001 name=F:\ORACLE\ORADATA\FOUR10G\SYSTEM01.DBF

输出文件名= E:\ORACLE\BACKUP\SYSTEM01.DBF标记= TAG20080528T211003 recid = 1 时间戳= 655938622

通道d1: 数据文件复制完毕, 经过时间: 00:00:25

通道d1: 启动数据文件副本

输入数据文件fno=00002 name=F:\ORACLE\ORADATA\FOUR10G\UNDOTBS01.DBF

输出文件名= E:\ORACLE\BACKUP\UNDOTBS01.DBF 标记= TAG20080528T211003 recid = 2 时间戳= 655938637

通道d1: 数据文件复制完毕, 经过时间: 00:00:07

通道d1: 启动数据文件副本

输入数据文件fno=00003 name=F:\ORACLE\ORADATA\FOUR10G\SYSAUX01.DBF

输出文件名= E:\ORACLE\BACKUP\SYSAUX01.DBF 标记= TAG20080528T211003 recid = 3 时间戳= 655938643

通道d1: 数据文件复制完毕, 经过时间: 00:00:07

通道d1: 启动数据文件副本

输入数据文件fno=00004 name=F:\ORACLE\ORADATA\FOUR10G\USERS01.DBF

输出文件名= E:\ORACLE\BACKUP\USERS01.DBF 标记= TAG20080528T211003 recid = 4 时间戳= 655938648

通道d1: 数据文件复制完毕, 经过时间: 00:00:03

通道d1: 启动数据文件副本

复制当前控制文件

输出文件名= E:\ORACLE\BACKUP\CONTROLBAK.CTL 标记= TAG20080528T211003 recid = 5 时间戳= 655938651

通道d1: 数据文件复制完毕, 经过时间: 00:00:04

完成backup 于28-5月-08

释放的通道: d1

备份完毕后,检查E:\ORACLE\BACKUP目录,多了5个文件。映像拷贝不创建备份集,每一个文件的备份都是一个备份片。其实这和用操作系统拷贝命令差不多。不过在热备时,不需要将表空间置于热备状态。

- 6 -

可以使用LIST COPY命令查看备份结果:

RMAN> list copy ;

数据文件副本列表

关键字文件S 完成时间Ckp SCN Ckp 时间名称

------- ---- - ---------- ---------- ---------- ----

111 1 A 28-5月-08 162186 28-5月-08 E:\ORACLE\BACKUP\SYSTEM01.DBF

112 2 A 28-5月-08 162195 28-5月-08 E:\ORACLE\BACKUP\UNDOTBS01.DBF

113 3 A 28-5月-08 162199 28-5月-08 E:\ORACLE\BACKUP\SYSAUX01.DBF

114 4 A 28-5月-08 162202 28-5月-08 E:\ORACLE\BACKUP\USERS01.DBF

控制文件副本列表

关键字S 完成时间Ckp SCN Ckp 时间名称

------- - ---------- ---------- ---------- ----

115 A 28-5月-08 162204 28-5月-08 E:\ORACLE\BACKUP\CONTROLBAK.CTL

每个备份文件都有一个唯一的标识,就是最前面的关键字列。这一列对于RMAN很重要,但对于我们没有什么意义。我们说一下重要的列。第三列有一个S列,它是备份片的状态,A表示Available,也就是可用的,有效的。除了A外,还有值U,Unavailable,不可用的。E,Expired,过期的。其意义,我们后面再讲。

2.手动分配通道

上面的脚本中,allocate channel d1 type disk是手动分配通道。我们前面讲过,通道是服务器进程和存储设备的连接途径。我们可以在备份时分配多个通道,启用多个服务器程,并行的进行备份操作。通道的数量,就决定了备份的并行度。我们可以在COPY命令前,多执行allocate channel 命令,每次通道名不能相同,这样就可以开启多个通道了。

上图中的脚本开启了四个通道,也就是备份操作的并行度将是4。RAMN将启用4个服务器进程,同时的完成备份操作。

注意在使用并行备份的时候,要考虑主机的硬件环境,如果备份用的存储设备只有一块硬盘,我们将并行度定为4不但不会提高性能,反而会降低性能。

ORACLE中所有的并行操作,都要考虑主机的CPU个数、存储设备的能力,如果只有一颗单核心CPU,一块硬盘,但是并行度却开为4。这就好像只有一个人,却同时有4个人不停的向你问题。你是希望A、B、C、D 排好队一个一个的来,还是先回答A一句,再回答B、C、D,然后再转回来回答A。

关于通道,在ORACLE内部,代表的服务器进程和存储设备的连接途径,这是内部的事情,我们其实不需要管。对于我们DBA来说,通道的数量意味着并行度。

除了手动的分配通道外,我们还可以自动的分配通道:

3.自动分配通道

- 7 -

- 8 -

如上脚本,就是使用了自动分配的通道,其中命令:“configure device type disk parallelism 2”, 就是配置自动通道的命令。这条命令将并行度定为2,也就要是启用两条通道。

下面执行上面的脚本:

RMAN> run{

2> configure device type disk parallelism 2;

3> copy

4> datafile 1 to 'e:\oracle\backup\SYSTEM01.DBF',

5> datafile 2 to 'e:\oracle\backup\UNDOTBS01.DBF',

6> datafile 3 to 'e:\oracle\backup\SYSAUX01.DBF',

7> datafile 4 to 'e:\oracle\backup\USERS01.DBF',

8> current controlfile to 'e:\oracle\backup\controlbak.ctl';

9> }

新的 RMAN 配置参数:

CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;

已成功存储新的 RMAN 配置参数

释放的通道: ORA_DISK_1

正在启动全部恢复目录的 resync

完成全部 resync

启动 backup 于 29-5月 -08

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=31 devtype=DISK

分配的通道: ORA_DISK_2

通道 ORA_DISK_2: sid=18 devtype=DISK

通道 ORA_DISK_1: 启动数据文件副本

输入数据文件 fno=00001 name=F:\ORACLE\ORADATA\FOUR10G\SYSTEM01.DBF

通道 ORA_DISK_2: 启动数据文件副本

输入数据文件 fno=00002 name=F:\ORACLE\ORADATA\FOUR10G\UNDOTBS01.DBF

输出文件名 = E:\ORACLE\BACKUP\SYSTEM01.DBF 标记 = TAG20080529T082519 recid = 12 时间戳 = 655979144

通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:28

通道 ORA_DISK_1: 启动数据文件副本

输入数据文件 fno=00003 name=F:\ORACLE\ORADATA\FOUR10G\SYSAUX01.DBF

输出文件名 = E:\ORACLE\BACKUP\UNDOTBS01.DBF 标记 = TAG20080529T082519 recid = 11 时间戳 = 655979144

通道 ORA_DISK_2: 数据文件复制完毕, 经过时间: 00:00:28

通道 ORA_DISK_2: 启动数据文件副本

输入数据文件 fno=00004 name=F:\ORACLE\ORADATA\FOUR10G\USERS01.DBF

输出文件名 = E:\ORACLE\BACKUP\SYSAUX01.DBF 标记 = TAG20080529T082519 recid = 13 时间戳 = 655979155

通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:10

通道ORA_DISK_1: 启动数据文件副本

复制当前控制文件

输出文件名= E:\ORACLE\BACKUP\USERS01.DBF 标记= TAG20080529T082519 recid = 14 时间戳= 655979156

通道ORA_DISK_2: 数据文件复制完毕, 经过时间: 00:00:09

输出文件名= E:\ORACLE\BACKUP\CONTROLBAK.CTL 标记= TAG20080529T082519 recid = 15 时间戳= 655979160

通道ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:03

完成backup 于29-5月-08

我们可以看到,RMAN自动启动了两条通道。自动配置通道中,我们无法再为通道命名,RMAN将自动将通道名定为ORA_DISK_n。

RMAN的备份顺序是,启动通道1,备份1号文件,同时启动通道2,备份2号文件。1号通道工作完毕后备份3号文件,2号通道复制完毕备份4号文件。1号通道备份完3号文件后,备份控制文件。

手动分配通道命令必须放在RUN{ }中,它只对{}大括号中的命令起作用,在{}大括号中的命令执行完毕后,手动分配的通道会自动释放。看一下我们第一段脚本的执行后的显示信息,在执行开始你可以看到:“分配通道D1”,在执行的最后,可以看到“释放通道D1”。

而在使用CONFIGURE DEVICE,自动分配通道时,在脚本执行完毕,并没有释放分配的通道。CONFIGURE DEVICE命令分配的通道,将一直保留到再次使用configure device 命令改变并行度。像这样其效果可以长久保持的命令,也可以不必放在RUN{ }中,可以单独放在RMAN命令行上执行:

而且,下一次再进入RMAN进行备份时,如果并不改变并行度,我们可以不必使用CONFIGURE DEVICE 重新配置通道,直接使用COPY进行映像拷贝就行了。RMAN将保存CONFIGURE DEVICE的配置结果,直到你再次使用CONFIGURE DEVICE改变它。

使用CONFIGURE DEVICE命令,我们不但可以设置默认的并行度。还可以设置默认的存储设备类型:

configure device type sbt parallelism 2 ;

如上命令将设备类型定为SBT,也就是磁带,同时将并行度定为2。

4.通道配置

我们可以使用CONFIGURE CHANNEL命令,配置通道的默认参数:

DEVICE TYPE DISK|SBT :设备类型,磁盘或磁带

RATE n :限制通道每秒读数据的速度。N的单位可以是字节、K、M或G,注意,不能是KB、MB或GB。如果n的值为1000K,也就是每秒最多从磁盘读取1000K字节。这样做的目的是为了避免RMAN占用过多的磁盘资源,而影响目标库正常的使用。

MAXOPENFILE n :限制同是打开的文件数

MAXPIECESIZE n :最大的备份片大小。如果备份片太大,超过了操作系统的限制,使用此限制,可以将备份片切割开,分成多个备份片,也就是分成多个操作系统文件。比如,此限制定为“MAXPIECESIZE 2G”,也就是一个备份片最大2G。现在有一个备份共有6G,RMAN将自动把它切开,分为三个备份片,每个都是2G。

比如,下面的命令将通道类型设置为写磁盘,速度限制为每秒1500K,最大备份片为2G:

CONFIGURE CHANNEL DEVICE TYPE DISK RATE 1500K MAXPIECESIZE 2G;

四、增量备份:0级增量备份

备份命令非常简单,总的来说,有两种形式:

backup incremental level 0 database :差异型增量备份

- 9 -

backup incremental level 0 cumulative database :累积型增量备份

待会再说这两种增量备份的区别。我们可以看到,在这两条备份命令中,我们并没有找到备份的目的地和备份相关文件的名字。名字和位置我们可以在通道中利用FORMA T选项指定。在指定名字时,我们必须使用一些格式字符,来保证备份片文件名的唯一性。如果我们将名字指定为AAA。将设备份要生成四个备份片,每一个备份片都是一个操作系统文件。那么,第一个备份片名字是AAA,第二个备份片也叫AAA,这样,第二个备份片的文件将覆盖第一个备份片的文件。这就是保证备份片字名唯一性的重要性。有如下的格式字符可以使用:%d :数据库名称

%s :备份集编号。这是由RMAN自动生成,第一个备份集是1,第二个备份集是2,这样依次递增。重建控制文件后此编号从1重新开始。

%p :备份片编号

%u :由备份时间和备份集编号生成

%c :备份片复本数

%U :生成一个唯一的由%u_%p_%c组成的唯一的文件名,如果你没有指定文件名,这个将是默认值。

下面我们来制作一个0级差异型增量备份:

(1)、差异型增量备份:

RMAN> configure device type disk parallelism 2;

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT = 'e:\oracle\backup\bak\one_%U';

RMAN> backup incremental level 0 database;

(…………显示信息略…………)

通道ORA_DISK_1: 备份集已完成, 经过时间:00:00:39

通道ORA_DISK_1: 启动增量级别0 数据文件备份集

通道ORA_DISK_1: 正在指定备份集中的数据文件

备份集中包括当前控制文件

通道ORA_DISK_1: 正在启动段1 于29-5月-08

通道ORA_DISK_2: 已完成段 1 于29-5月-08

(…………显示信息略…………)

在备份集中包含当前的SPFILE

通道ORA_DISK_2: 正在启动段1 于29-5月-08

通道ORA_DISK_2: 已完成段 1 于29-5月-08

段句柄=E:\ORACLE\BACKUP\BAK\ONE_0LJHJ66H_1_1 标记=TAG20080529T110822 注释=NONE

通道ORA_DISK_2: 备份集已完成, 经过时间:00:00:03

完成backup 于29-5月-08

我们可以在显示的信息中看到“备份集包括当前控制文件”,一般情况下,只要备份集中包括SYSTEM表空间的数据文件,将随之自动备份控制文件。另外,0级备份还会自动包含参数文件SPFILE的备份。

List backup 命令可以显示备份结果,显示结果如下:

- 10 -

因为RMAN在备份时,各种类型的文件一般会分开存放在不同的备份片中。数据文件只能和数据文件在一个备份片中,归档日志也只能和归档日志在一起,控制文件和参数文件可以合并到一个备份片中。因此,我们的备份共成生了四个备份片,也就是有四个操作系统文件。上面的显示的结果共有四部分,分别对应了四个备份片。

第一个备份片,也就是图上圈1部分,操作系统文件名是E:\ORACLE\BACKUP\BAK\ONE_0IJHJ657_1_1,也就是段名。它在备份集240中。我们上面的备份使用了两个通道,备份集240是对应1号通道。

2号通道和1号通道并行启动,但我的主机是单CPU,因此2号通道实际比1号通道稍晚一些启动。它所创建的备份集是241。它里面的第一个备份片是E:\ORACLE\BACKUP\BAK\ONE_0JJHJ658_1_1。

1号通道备份完数据文件后,和它关联的服务器进程又开始备份控制文件,它又生成了一个新的备份片:E:\ORACLE\BACKUP\BAK\ONE_0KJHJ66E_1_1。在逻辑上,由于同属1号通道,它和上面的E:\ORACLE\BACKUP\BAK\ONE_0IJHJ657_1_1同属一个备份集。

最后,2号通道备份完它的数据文件后,它的服务器进程开始备份参数文件,参数文件的备份片属于241号备份集。

在你启动多个通道时,ORACLE会把要备份的数据文件,自动的协调分配给每个通道,尽量使每个通道完成的工作量差不多。比如上面我们两条通道,四个数据文件。其中SYSTEM01.DBF有240M左右,UNDOTBS01.DBF有80M,SYSAUX01.DBF:60M,USER01.DBF:16M。在备份时RMAN会将最大SYSTEM01.DBF和最小的USER01.DBF分在一个通道中,而让UNDOTBS01.DBF和SYSAUX01.DBF用另一个通道。这样,两个通道即使没有完全的平摊工作量,它们的工作量也相差不多了。

我们可以到备份目的地E:\ORACLE\BACKUP\BAK目录中,看一下这两个备份集四个备份片文件合计的总大小,共占250M磁盘空间。而在目标数据库中,这四个文件合计有390M。也就是在备份后,数据文件总的所需磁盘空间变小了。原因是什么呢?这就是RMAN备份的另一优势,RMAN只会复制曾经使用过的数据块,而跳过于磁盘中数据文件从未使用过的数据块。什么是磁盘中从不使用过的数据块?就是这个块从未分配给任何表、索引等段。如果一个块本来属于一个表,但后来使用TRUNCATE TABLE,截断了表,或使用DROP TABLE 删除了表,块被释放了,那么这个块不能算是“从未使用过”,RMAN会备份它。从未使用过指的就是从来都没有分配给任何段的块。正是这一优势,使得备份后总的体积可以比原来小一些。

映像拷贝并没有使用RMAN的这一特性。映像拷贝可以看作是将操作系统的拷贝命令封装进RMAN。除了在热备数据库时,不需要将表空间置于热备状态外,它没有再提供任何RMAN独有的特性,它只是利用RMAN 来拷贝文件。而增量备份则是RMAN所独有的特性,

另外,RMAN的每次备份,都会有一个TAG,就是标记。每次备份,所有备份片的标记是一样的。TAG是分配给每次备份的,上次备份的标记是:TAG20080529T110822 。这个标记太长而且无意义,很不容易识别。以

后的备份中,我将会使用TAG选项自定标记。

- 11 -

(2)、累积型增量备份:

这一次,使用手动的通道分配,只分配一个通道,将备份片的名字定位:TWO_%U。

RMAN> run{

2> allocate channel d1 type disk format 'e:\oracle\backup\bak\two_%U';

3> backup incremental level 0 cumulative database;

4> }

手动分配通道必须在RUN{ }中才有效。脚本执行后显示的信息如下:

释放的通道: ORA_DISK_1

释放的通道: ORA_DISK_2

分配的通道: d1

通道d1: sid=17 devtype=DISK

先释放我们用configure device分配的两个通道,分配D1通道。然后开始备份:

启动backup 于29-5月-08

(…………显示信息略…………)

完成backup 于29-5月-08

释放的通道: d1

这次的备份速度要比上次快一些,这并不是累积型要比增量型快。对0级备份而言,两种备份的速度是一样的,它们的备份操作也是完全相同的。这一次备份我们只使用了一个通道,只开启了一个服务器程。而上一次备份则有两个通道。我的主机上本来就只有一颗CPU、一块硬盘,因此并行度为2,那么这两个服务器进程只会互相影响,无法提高速度,反而拖慢了整体的速度。

五、非0级增量备份

(1)、差异型

差异型的级别共有4级。每次进行N级差异型备份时,它只备份最近的N级或低于N级备份以来,所修改过的块。

例如上图,在是期日时进行了0级备份,星期一的2级备份将只复制周日备份以来,修改过的数据块。周二的2级备份,只备份周一以来修改过的块。因为只备份最近的同级、或同级以下的备份以来,所修改过的块。在周三时,进行了一次1级备份,那么最近的同级、或低于同级的备份,就是周日的0级备份了。因此,看上图的箭头,周三的备份,备份从周日以来,所有修改过的数据块。周四、周五等等后面的我就不再说了,道理是一样的。

(2)、累积型

它也是共有4级。每次进行N级累积型增量备份时,只备份最近的低于N级的备份以来,所有修改过的块。注意它和差异型的区别。它是

- 12 -

- 13 -

如上图,在一周的每一天,备份级别是一样的,只不过采用的是累积型备份。周一的2级,复制周日备份以来所有修改过的数据块。周二的2级备份,也是复制周日备份以来所有修改过的数据块。这是和差异型不同的地方,因为累积型是备份低于同级的备份以来,所有修改过的块。周一的2级,并不低于周二的2级,所以周二的2级,是准备周日的0级备份以来,所有修改过的块。

也就是说,如果数据库在周二2级备份结束后,储存设备出现了损坏,需要恢复,需要应用周日的0级备份集,和周二的2级备份集。

而上面的差异型的例子中,如果周二的2级备份结束后,储存设备出现了损坏,需要恢复。则需要应用周日的0级备份集,周一的2级备份集和周二的2级备份集。

相比较而言,在级别相同的情况下,累积型备份,备份的重复数据更多,但恢复时需要的备份集更少,它的恢复速度要比差异型快一些。而差异型的备份速度则要比累积型快。

(3)、注意事项

第一点,无论是差异型还是累积型,每次的0级备份总备份数据库中所有已使用过的块。

第二点,0级备份是增量备份的基础,如果在进行非零级增量备份前,还没有0级备份。比如进行了一个2级备份,但还没有0级备份。此2级备份中,将包含所有的已使用的数据块。也就是这个2级备份的内容和0级备份一样,但它不是0级备份。如果在2级备份后进行1级备份,此1级备份也将包括所有已使用的块,就是也和0级备份一样。这样不但浪费空间,备份速度也慢。因此,在进行非0级备份前,一定要先建立0级备份。 第三点,其实0级备份不分差异型或累积型,只要是0级备份,它们都是一样的。你用backup incremental level 0 cumulative database ,生成的累积型0级备份,可以做为差异型的基础。反之也一样。但其他级别的备份是不能通用的。

(4)、增量备份策略的建立

我们要根据数据库的大小、基于现有硬件下0级备份的时间,如果出现介质故障后所允许的恢复时间,等等这些因素来综合考虑。

如果允许的故障恢复时间比较长,则两次0级备份的间隔时间也可以相对的定的比较长一些。如果出现故障后,允许的恢复时间很短,那么0级备份应该根据主机的硬件能力,尽可能频繁的多做一些。另外,为了节省空间,0级备份可以只保留一份。

像图例中以一周为间隔,每周日做一次0级备份。以周三为中点,做一次一级备份,其他时间都是二级备份。这样的增量备份策略,很适合一般的24*7系统。0级备份也不必一定要安排在周日,可以选择在系统最不繁忙的某天的晚上去完成。

对于非24*7的系统,因为有许可的关机时间,可以更频繁的做0级备份,这样出问题后可以尽量的减少恢复时间。

(5)、针对表空间或数据文件的备份

备份指定表空间

backup incremental level 级别 (tablespace 表空间名,表空间名,……);

备份指定表空间所属的所有数据文件。

backup incremental level 2 tag='whole_inc2' (datafile 文件编号,文件编号,……) ;

备份指定的数据文件。也可以将文件编号换为文件名。

六、完全备份

完全备份和0级备份一样。备份数据文件、控制文件、参数文件。且只备份数据文件中已使用过的块,跳过所有未用块。虽然它和0级备份一样,都它却不能做为增量备份的0级备份来用。完全备份和增量备份是RMAN 提供的两种完全不同的备份体系,它们之间互不影响。

run{

allocate channel d1 type disk ;

backup database format 'e:\oracle\backup\bak\test_%U' tag='test';

}

上面的脚本就是创建一个完全备份。说明一下,备份片命名格式选项:FORMA T,它不但可以在通道中指定,也可以放到Backup命令中指定。另外,这一次我指定了TAG,标记。我将本次备份的所有备份片的标记定为TEST。

使用List backup显示一下备份信息,可以找到我刚刚进行的完全备份,就是标记为TEST的:

RMAN> list backup;

备份集列表

===================

BS 关键字类型LV 大小设备类型经过时间完成时间

------- ---- -- ---------- ----------- ------------ ----------

642 Full 240.78M DISK 00:00:38 29-5月-08

BP 关键字: 644 状态: A V AILABLE 已压缩: NO 标记: TEST

段名:E:\ORACLE\BACKUP\BAK\TEST_0SJHK60L_1_1

备份集642 中的数据文件列表

文件LV 类型Ckp SCN Ckp 时间名称

---- -- ---- ---------- ---------- ----

1 Full 183091 29-5月-08 F:\ORACLE\ORADATA\FOUR10G\SYSTEM01.DBF

2 Full 183091 29-5月-08 F:\ORACLE\ORADATA\FOUR10G\UNDOTBS01.DBF

3 Full 183091 29-5月-08 F:\ORACLE\ORADATA\FOUR10G\SYSAUX01.DBF

4 Full 183091 29-5月-08 F:\ORACLE\ORADATA\FOUR10G\USERS01.DBF

BS 关键字类型LV 大小设备类型经过时间完成时间

------- ---- -- ---------- ----------- ------------ ----------

643 Full 6.17M DISK 00:00:04 29-5月-08

BP 关键字: 645 状态: A V AILABLE 已压缩: NO 标记: TEST

段名:E:\ORACLE\BACKUP\BAK\TEST_0TJHK624_1_1

包括的控制文件: Ckp SCN: 183106 Ckp 时间: 29-5月-08

包含的SPFILE: 修改时间: 29-5月-08

它有两个备份片,对应的操作系统文件名分别是:E:\ORACLE\BACKUP\BAK\TEST_0SJHK60L_1_1,也就是段名。这个备份片中包含4个数据文件。另一个备份片的段名(也就是操作系统文件名)是E:\ORACLE\BACKUP\BAK\TEST_0TJHK624_1_1 。它里面包括控制文件和参数文件。

和增量备份一样,数据文件和控制文件、参数文件是分开存放的。

七、多元备份

Backup 命令有一个多元备份选项:filesperset 。也可以在通道中,使用MAXOPENFILES选项进行设定。比如下面的命令将多元备份定为3元:

backup incremental level 0 database filesperset 3;

或:

run{

allocate channel d1 type disk MAXOPENFILES 3;

- 14 -

backup incremental level 0 database ;

}

多元备份主要用于高速磁带,例如,我将元数定为3。服务器进程依次从1号文件、2号文件、3号文件各读出N块,然后写往磁带。然后再依次从1、2、3号读N块送往磁带。

注意,多元备份并不是完全的并行。它可以并行从多块磁盘读,但是串行的写到磁带中的。如果磁带是高速磁带,这个功能就比较有用,它可以提高整体的速度。

增量备份和完全备份都可以使用此多元备份选项,只要在Backup命令,无论是创建什么样的备份,都可以使用此选项。

八、多重备份集

下面的命令是双重备份:backup copies 2 incremental level 0 database filesperset 3;

Copies 2,就是双重备份。最高可以四重备份。如果是双重备份,原来的每个备份片都将生成两个完全相同的备份片,也就是每个备份都将有一个一模一样的副本。

这个选项也是属于Backup命令的一个选项,并不针对某一种备份方式。

九、备份归档日志

命令如下:

backup archivelog

[from time 日期1 [until time 日期2]] | [sequence between 日志序列号1 and 日志序列号2]

[DELETE INPUT] ;

最简单的备份归档日志的命令是backup archivelog,它将备份到目前为止,所有的归档日志文件。归档日志文件的位置,RMAN可以自动到Log_archive_dest_n参数中寻找。

我们可以使用From time 日期1 until time 日期2选项,指定只备份某一日期间的归档日志。如果只指定From time 日期1,而没有指定until time,RMAN将备份从日期1到当前的所有归档日志文件。

也可以使用sequence between 指定备份两个序列号间的所有归档日志。

Delete input的作用是备份完毕删除归档日志。

归档日志的备份没有完全、增量之分,都是完全备份。

下面是一个此命令的使用实例:

RMAN> run{

2> allocate channel d1 type disk;

3> backup archivelog sequence between 1 and 45 format 'e:\oracle\backup\bak\log1_%U' tag=’LOG1’;

4> }

如果你指定的序列号的归档日志并不存在,将会报出如下错误:

RMAN> backup archivelog sequence between 50 and 60 format 'e:\oracle\backup\bak\log1_%U';

启动backup 于2008-05-29 22:42:07;

分配的通道: ORA_DISK_1

通道ORA_DISK_1: sid=18 devtype=DISK

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: backup 命令(在05/29/2008 22:42:07 上) 失败

- 15 -

RMAN-06004: 恢复目录数据库发生ORACLE 错误: RMAN-20242: 说明与恢复目录中的任何存档日志均不匹配

命令中,我指定备份50到60号归档日志,但现在最大的归档中日志序列号才到45,因此,就报出了上面的错误。

在备份前我们可以使用如下命令显示一下目标库中归档文件的信息:

RMAN> list archivelog all;

正在启动全部恢复目录的resync

完成全部resync

已存档的日志副本列表

关键字Thrd Seq S 短时间名称

------- ---- ------- - -------------------- ----

128 1 43 A 2008-05-28 13:49:50; F:\ORACLE\ARC\ARC00043_0655898354.001

129 1 44 A 2008-05-28 22:01:17; F:\ORACLE\ARC\ARC00044_0655898354.001

783 1 45 A 2008-05-29 08:08:44; F:\ORACLE\ARC\ARC00045_0655898354.001 可以看到目前有三个归档日志文件,序列号从43到45。

如果日志比较多,也可以通过指定序列号或时间,显示目标数据库中指定阶段的归档日志:

如:list archivelog sequence between 40 and 65 ;

如果要在RMAN中指定日期、时间,我们要注意日期的格式问题。我们可以操作系统中通过设置环境变量NLS_DA TE_FORMA T的值,来设置在RMAN中日期的格式。注意在Windows下和在Linux关于此变量的设置,是有所有同的:

WINDOWS:set nls_date_format=yyyy-mm-dd hh24:mi:ss;

LINUX:export nls_date_format=’yyyy-mm-dd hh24:mi:ss’;

区别在于Windows下日期格式字符串外不需加引号,而Linux下是需要加引号的。如果在Windows下加了引号,在用RMAN连接数据库时,会报出一个ORA-01012错误。

list archivelog from time '2008-05-27' until time '2008-05-29';

上面的命令显示从27号到29所有的归档日志。

如果要备份从27号到29所有的归档日志,命令如下:

RMAN> backup archivelog from time '2008-05-27' until time '2008-05-29' format 'e:\oracle\backup\bak\log2_%U' tag='LOG2';

归档日志备份的结果,也是备份集、备份片,我们可以仍然可以使用List backup命令查看备份结果。不过List backup显示的是所有类型的备份。如果只想显示有关归档日志的备份,使用命令:list backup of archivelog all;这个比较简单,我就不再试了。

十、备份控制文件:

命令如下:

?copy current controlfile to 'd:\bk\c1.ctl'; :创建控制文件的映像拷贝。

?backup current controlfile format 'd:\bk\c1.%s'; :创建控制文件的完全备份。

下面的命令显示有关控制文件的备份信息:

list copy of controlfile; :显示以映像拷贝备份的控制文件

list backup of controlfile; :显示以完全备份方式备份的控制文件

在10G中,0级增量备份和完全备份都将自动备份控制文件和参数文件。

十一、备份参数文件:

命令:backup spfile format 'd:\bk\spfile.%s';

显示参数文件的备份:list backup of spfile;

十二、控制文件和参数文件自动备份

将CONFIGURE CONTROLFILE AUTOBACKUP设置为ON后,将开启控制文件和参数文件的自动备份。默认值是OFF,就是关闭控制文件的自动备份。什么是自动备份呢?就是当执行BACKUP或COPY备份数据文

- 16 -

件时,自动备份控制文件和参数文件。在10G的RMAN中,就算你将此设置定为了OFF,RMAN仍会自动备份控制文件。

十三、非归档下的备份

我们前面的练习,都是在归档方式下作的。备份非归档的数据库的命令,和归档是一样,只不过非归档的数据库,只能在MOUNT阶段进行备份,也就是只能对数据库进行冷备份。

第三节 RMAN的管理与维护

一、RMAN配置设置

1.自动通道有关的配置

?CONFIGURE CHANNEL :配置自动通道

?show channel :显示通道配置

例如:

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'e:\oracle\backup\bak\four10g_%U';

旧的RMAN 配置参数:

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'e:\oracle\backup\bak\one_%U';

新的RMAN 配置参数:

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'e:\oracle\backup\bak\four10g_%U';

已成功存储新的RMAN 配置参数

正在启动全部恢复目录的resync

完成全部resync

我将通道的类型定为了磁盘,备份片文件名为:'e:\oracle\backup\bak\four10g_%U' 。注意,我们在Backup 命令中,也可以用FORMAT为指定备份片文件名。如果你即在通道中又在Backup中指定了备份片文件名,RMAN 将以Backup中的文件名为准。

我们看提示信息的最后两行,只要你在RMAN中登录了恢复目录,几乎在所有的RMAN操作之后,RMAN 都会自动为你执行resync catalog,同步目标库控制文件和恢复目录。即使这样,为了以免恢复目录中的信息有所遗漏,我们仍应该每隔N天,手动使用resync catalog命令,同步目标库控制文件与恢复目录。N的取值就是初始化参数control_file_record_keep_time 的值。

2.CONFIGURE DEVICE

这个命令也是针对通道的,如果要配置多个通道,使用它非常简单:

CONFIGURE DEVICE TYPE DISK PARALLELISM n

“n”的值代表了默认开启通道的数量。

下面的命令,显示此项目的配置:

RMAN> show device type;

RMAN 配置参数为:

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;

3.备份副本数

RMAN> show datafile backup copies;

RMAN 配置参数为:

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

当前的配置值为1,也就是备份集中,每个备份片只有一份。如果值为2,再用Backup命令进行备份时,RMAN将为每个备份片创建一个一模一样的复本。我们也可以在Backup命令中,使用Copies选项指定这项配置。4.show all

此命令显示RMAN所有的配置。其时其中大部分配置我们不需要改,也没什么用。

- 17 -

RMAN> show all;

RMAN 配置参数为:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

( ………………省略………………)

二、List命令

这个命令我们已经用过很多次了,在这里全当是总结一下:

list copy of controlfile :显示以映像拷贝备份的控制文件

list backup of controlfile :显示以完全备份方式备份的控制文件

list backup of spfile :显示参数文件的备份

list backup of datafile '数据文件名' 或list backup of datafile '数据文件编号' 或:列出包含指定数据文件的备份集list backup of tablespace "表空间名" :列出包含指定表空间的备份集。注意,在此命令中,表空间名都是大小。list archivelog all :列出所有归档日志的备份

list archivelog sequence between 40 and 65 ;

list archivelog from time '2008-05-27' until time '2008-05-29';

list backup tag='TWO';

三、保留策略

什么是保留策略,如果你想让任一数据文件只能有两个一模一样的备份,超过三个的就被标记出来。这就是保留策略。RMAN可以凭借你所制定的保留策略,定义一份备份应该在什么时候失效。RMAN中有两种保留策略:

?REDUNDANCY n ,冗余值:如果同样的备份数量超过n,就是超出了保留策略。

?RECOVERY WINDOW OF n DAYS,恢复期:n为恢复期,如果将n定为7,意思是RMAN中现有备份要能使数据库恢复到7天前的状态。而超过此范围的备份,将被视为超出保留策略。如有一个备份集,对于将数据库恢复到第9天前是有用的,哪么此备份集就是超出了保留策略。

超出保留策略的备份集将被设置为OBSOLETE(中文为荒废)状态。我们可以用Report obsolete查看所有超出保留策略的备份,也可以使用DELETE OBSOLETE来删除它们。

配置保留策略的命令如下:

CONFIGURE RETENTION POLICY TO [REDUNDANCY n] | [RECOVERY WINDOW OF n DAYS]

我们可以使用SHOW命令显示当前的保留策略:

RMAN> show RETENTION POLICY;

RMAN 配置参数为:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

当前的保留策略是将冗余定为1。也就是同样的备份集,只要一份。多出的就是超出保留策略。

下面的命令,将保留策略的恢复期定为7:

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

新的RMAN 配置参数:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

已成功存储新的RMAN 配置参数

正在启动全部恢复目录的resync

完成全部resync

四、REPORT

List显示当前有什么备份,而Reort则显示当前哪些文件还需要备份。

1.

report NEED BACKUP days N database :统计N天内没有备份过的文件。

我们刚刚在练习时做过备份,现在使用上面的命令显示,一般不会有什么结果:

- 18 -

RMAN> report NEED BACKUP days 1 database;

文件报表的恢复需要超过1 天的归档日志

文件天数据名称

---- ----- -----------------------------------------------------

(空的)

我们把系统的日期向后改几天再试:

RMAN> report NEED BACKUP days 1 database;

文件报表的恢复需要超过1 天的归档日志

文件天数据名称

---- ----- -----------------------------------------------------

1 2 F:\ORACLE\ORADATA\FOUR10G\SYSTEM01.DBF

2 2 F:\ORACLE\ORADATA\FOUR10G\UNDOTBS01.DBF

3 2 F:\ORACLE\ORADATA\FOUR10G\SYSAUX01.DBF

4 2 F:\ORACLE\ORADATA\FOUR10G\USERS01.DBF

我显示1天没有备份的文件。一共有四个,这四个文件如果要恢复的话,需要应用1天的日志文件

2.report NEED BACKUP incremental N database :显示需要应用N份以上增量备份才能恢复的文件

3.report UNRECOVERABLE :检验由于使用了NOLOGGING,而使哪些数据文件无法恢复

4.Report obsolete :显示超出保留策略的备份集。

5.report schema :这个命令和备份关系不大,它可以用来显示目标库所有的数据文件。

五、交叉检查

命令:CROSSCHECK。它的作用是检查有哪些备份片其对应的文件已经被删除了。如果RMAN在指定的位置找不到备份片对应的操作系统文件,它将把此备份片标记为EXPIRED,汉语意思是过期。下面我们试一下:RMAN> CROSSCHECK backup;

分配的通道: ORA_DISK_1

(…………省略信息…………)

显示过期的备份:

RMAN> list expired backup;

如果有过期的备份,我们可以使用delete expired backup 删除RMAN中所记载的备份。

CROSSCHECK copy可以交叉检查映像拷贝。list expired copy显示过期的映像拷贝。delete expired copy删除过期的映像拷贝。

六、删除备份

Delete backupset 备份集号:删除指定备份集。RMAN会将操作系统中于此备份集相关的文件一起删除。delete backup :删除所有备份集

delete expired backup|copy :删除过期的备份集或映像拷贝

delete obsolete :删除超过保留策略的已荒废的备份集

七、CHANGE命令

CHANGE命令可以更改备份集或映像拷贝的状态。

1.Change … Unavailable|available :将备份的状态改为可用或不可用。

RMAN> change backupset 807 unavailable;

不能使用更改的备份段

备份段handle=E:\ORACLE\BACKUP\BAK\LOG2_14JHKF92_1_1 recid=19 stamp=656031011

1 对象已更改为UNA V AILABLE 状态

- 19 -

更改后,使用List backupset命令可以查看所有到状态的变化。下面是List backupset的结果:BP 关键字: 810 状态: UNA V AILABLE已压缩: NO 标记: LOG2

段名:E:\ORACLE\BACKUP\BAK\LOG2_14JHKF92_1_1

备份集807 中的已存档日志列表

Thrd Seq 低SCN 短时间下一个SCN 下一次

---- ------- ---------- -------------------- ---------- ---------

1 44 165038 2008-05-28 22:01:17; 171107 2008-05-29 08:08:44;

1 45 171107 2008-05-29 08:08:44; 186719 2008-05-29 22:00:44;

状态为UNA V AILABLE(不可用)的备份,在恢复时不会被RMAN使用,RMAN全当它不存在。我再把它的状态改回可用:

RMAN> change backupset 807 available;

使用通道ORA_DISK_1

可以使用更改的备份段

备份段handle=E:\ORACLE\BACKUP\BAK\LOG2_14JHKF92_1_1 recid=19 stamp=656031011

已将 1 对象更改为A V AILABLE 状态

2.使备份或副本脱离保留策略

命令:Change backupset 备份集编号KEEP FOREVER NOLOGS|LOGS

使某一个备份集永久的保存,不会超出保留。LOGS的作用是为了恢复此备份集,相应的归档日志的备份集也要一直保留,不会被设置为obsolete。NOLOGS是只考虑指定备份集,而不管恢复时所应使用的归档日志。

八、CA TALOG命令

它的作用有:

1.将使用操作系统的拷贝命令制作的冷备份与热备份,纳入到RMAN中作为映像拷贝。

Catalog datafilecopy 冷热备份名

将映像拷贝的信息从RMAN中删掉:

Change datafilecopy 冷热备份名uncatalog;

2.将归档日志纳入到RMAN中

Catalog archivelog ‘归档日志名’

将归档备份的信息从RMAN中删掉:

Change archivelog 归档日志名uncatalog;

九、调用SQL*Plus命令

SQL ‘命令’

十、RMAN脚本

1.创建脚本

RMAN> create script 脚本名{

2> allocate channel d1 type disk format 'e:\oracle\backup\bak\whole_%U';

3> backup incremental level 0 database tag='whole_inc0';

4> }

已创建脚本****

2.运行脚本

run {

execute script 脚本名;

}

脚本必须放在Run{}中运行。

3.删除脚本

delete script 脚本名

4.查找脚本

脚本必须在有恢复目录库的情况下使用。因为脚本的源码就是存放在恢复目录库中。我们通过恢复目录库的rc_stored_script视图,查看所有脚本

- 20 -

Toad_for_Oracle10中文手册

Toad? for Oracle Quest虹天软件(北京)有限公司 二零零六年八月

目录 1.方案简介 (4) 2.TOAD? FOR ORACLE (5) 2.1. S CHEMA B ROSWER (6) 2.2. SQL E DITOR (6) 2.3. P ROCEDURE E DITOR (7) 2.4. SQL M ODELER (8) 2.5. F AST R EPORT (9) 2.6. S CRIPT MANAGER (10) 2.7. M ASTER/D ETAIL B ROWSER (10) 2.8. C ONNECTION C OLOR-C ODING (11) 3.TOAD? FOR ORACLE PROFESSIONAL (11) 3.1. PL/SQL D EBUGGER (12) 3.2. C ODE P ROFILING (12) 3.3. K NOWLEDGE X PERT? FOR PL/SQL (13) 3.4. T EAM C ODING (14) 3.5. C ODE X PERT (14) 4.TOAD? FOR ORACLE XPERT (15) 4.1. SQL S CANNER (15) 4.2. SQL I NSPECTOR (15) 4.3. SQL O PTIMIZER (16) 4.4. I NDEX E XPERT (19) 4.5. C ROSS I NDEX A NALYSIS (19) 4.6. O UTLINE M ANAGER (20) 4.7. P LAN C HANGE A NALYZER (20) 4.8. B EST P RACTICES (22) 5.TOAD? FOR ORACLE SUITE (22) 5.1. DBA M ODULE (22) 5.1.1.Database Monitor (22) 5.1.2.Database Probe (23) 5.1.3.Health Check (24) 5.1.4.Instance Manager (24) 5.1.5.Top Session Finder (25) 5.1.6.Oracle Parameters (26) 5.1.7.Session Browser (26) 5.2. K NOWLEDGE X PERT? FOR O RACLE A DMINISTRATION (27) 5.3. D ATA F ACTORY?D EVELOPER E DITION (27) 5.4. B ENCHMARK F ACTORY? FOR D ATABASES (27)

Oracle BIEE官方文档学习笔记-创建RPD文件

Created By Benny_Zhou 仅为个人学习分享交流,请勿用作商业用途。 1.创建RPD 文件的物理层 物理层定义了BI 查询的数据来源。 建议通过导入数据库或者其他数据来源的元数据的方式产生物理层。 可以从已有的数据源中导入(部分)模型。 可以在物理层手工创建对象。 当你导入元数据后,很多数据源的属性会根据导入过程中收集的信息自动配置。导入之后,仍然可以定义物理数据源的其他属性,比如连接关系等。物理层可以存在包括数据库、平面文件(Flat File ),XML 文档等多个来源。 1.1 创建新的RPD 文件 打开BI 管理器-文件-新建-输入名称- 输入密码,点击下一步 1.2 导入元数据 选择连接类型为OCI 10g/11g ; 输入数据源名称orcl ,数据源名称与tnsnames.ora 中的Oracle 数据库实例名称一致; 输入用户名和密码,点击下一步; 接受默认元数据类型,点击下一步;(主键和外键是否需要导入?) 选择需要导入的表,下一步; Creating a Repository Using the Oracle BI 11gAdministration Tool/创 建RPD 文件 2014年7月8日 16:48

选择需要导入的表,下一步; 弹出连接池窗口,接受默认,下一步; 出现导入信息,导入完成后,展开查看表是否成功导入。 1.3 验证连接 选择工具-更新所有行;

更新完成后,鼠标悬停在表上,观察行信息中的更新时间; 展开表,右键查看数据; 1.4 创建别名 鼠标点在表上,右键选择新对象-别名;输入别名;输入描述。 1.5 创建键和连接 在物理层选择几个表,右键选择物理图表-仅限所选对象; 需要调整物理图表中的对象,可以再工具栏中使用放大、缩小、适合、全部隐藏、全部展开等等 点击工具栏中的新建连接,先点击F1 Revenue,然后点击D1 Time,物理外键窗口打开。 注意先点击哪个表是有关系的。连接产生了1:N的关系,将第一个表的主键列和第二个表的外键列连接。

Oracle数据库基础

Oracle 数据库基础 数据库是我们安装完产品后建立的,可以在同一台主机上存在8i,9i,10g,11g等多个数据库产品,一套产品可以建立多个数据库,每个数据库是独立的。每个数据库都有自己的全套相关文件,有各自的控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件等等。 其中控制文件、数据文件、重做日志文件、跟踪文件及警告日志(trace files,alert files)属于数据库文件; 参数文件(parameter file)口令文件(password file)是非数据库文件 我们的表存储在数据库中 数据库不能直接读取 我们通过实例(instance)来访问数据库 数据库实例 实例由内存和后台进程组成 实例是访问数据库的方法 初始化参数控制实例的行为 一个实例只能连接一个数据库

启动实例不需要数据库 产品安装好 有初始化参数文件 就可以启动实例 与是否存在数据库无关 实例内存分为SGA 和PGA SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。 PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA正相反,PGA 是只被一个进程使用的区域,PGA 在创建进程时分配,在终止进程时回收. 后台进程是实例和数据库的联系纽带 分为核心进程和非核心进程 当前后台进程的查看 SQL> select name,description from v$bgprocess where paddr<>'00'; NAME DESCRIPTION

Oracle 文档

Oracle 文档 本页包含Oracle 数据库、融合中间件、Beehive 和应用产品/E-Business Suite 的最新文档链接。 搜索Oracle 文档 Sun 文档 按类别浏览: 数据库 Oracle Database 11g第 2 版Oracle Database 11g第 1 版Oracle Database Lite 10g第 3 版Oracle Database 10g第 2 版Oracle 网关10g 第 2 版 Oracle Database Lite 10g第 2 版Oracle Communications Data Model Oracle Content Database 10g第1 版 Oracle Database 10g第 1 版Oracle Multimedia (Oracle inter Media) Oracle Spatial Oracle Fail Safe Oracle TimesTen In-Memory Database Oracle Berkeley DB Oracle Berkeley DB Java 版Oracle Berkeley

10g第 1 版Oracle 网关10g 第 1 版 Oracle9i Database 第2版 Oracle9i Database 第1版 适用于 Oracle9i(第1版和第2 版)的Oracle 网关Berkeley DB XML Oracle 9i Lite Oracle Secure Backup Oracle Application Express Oracle Audit Vault Oracle 数据访问组件Oracle SQL Developer 中间件 Oracle | BEA 产品文档 10g第3版 (10.3) Oracle Product Data Quality Oracle GoldenGate Oracle Fusion Middleware 11g 第 1 版 (11.1.1) Oracle Identity Management 10g (10.1.4) Oracle JRockit R28.0Oracle Application Server 10g第 3 版(10.1.3.1) Oracle Application Server 10g第 3 版(10.1.3) Oracle Application Server 10g第 2 版(10.1.2.0.2) Oracle Application Server 10g 第 2 版 (10.1.2) Oracle

公司Oracle ERP操作手册-中文辅助版

ERP系统 用户操作手册 Account Payables模块 文档作者: 创建日期: 确认日期: 2005-10-11 控制编码: AAVID/TR100/AP 文档版本: 1.0 审批: 拷贝数_____

文档控制记录更改 审阅人 分发

目录 文档控制......................................................................................................................................... 错误!未定义书签。目录................................................................................................................................................. 错误!未定义书签。 编写说明......................................................................................................................................... 错误!未定义书签。 使用对象..................................................................................................................................... 错误!未定义书签。 参考文档..................................................................................................................................... 错误!未定义书签。 概述................................................................................................................................................. 错误!未定义书签。 业务操作流程内容..................................................................................................................... 错误!未定义书签。 第一章、创建银行......................................................................................................................... 错误!未定义书签。 操作说明..................................................................................................................................... 错误!未定义书签。 适用范围 ................................................................................................................................. 错误!未定义书签。 主要业务 ................................................................................................................................. 错误!未定义书签。 注意事项 ................................................................................................................................. 错误!未定义书签。 操作过程..................................................................................................................................... 错误!未定义书签。 一.整理内部银行资料 (3) 二.银行资料录入 (3) 三.银行财务信息录入 (5) 四.定义银行付款单据 (7) 五.整理外部银行资料 (8) 六.外部供应商银行资料录入 (8) 七.员工供应商银行资料录入 (10) 第二章、创建供货商..................................................................................................................... 错误!未定义书签。 操作说明..................................................................................................................................... 错误!未定义书签。 适用范围 ................................................................................................................................. 错误!未定义书签。 主要业务 ................................................................................................................................. 错误!未定义书签。 注意事项 ................................................................................................................................. 错误!未定义书签。 操作过程..................................................................................................................................... 错误!未定义书签。 一.整理外部供货商信息资料 (12) 二.供货商信息录入 (12) 三.供货商银行信息分配 (18) 四.整理员工信息资料 (18) 五.员工信息资料录入 (18) 六.员工供货商资料分配 (18) 七.员工供货商财务信息录入 (21) 八.员工供货商银行信息分配 (22) 第三章、预付款及付款................................................................................................................. 错误!未定义书签。 操作说明..................................................................................................................................... 错误!未定义书签。 适用范围 ................................................................................................................................. 错误!未定义书签。 主要业务 ................................................................................................................................. 错误!未定义书签。 注意事项 ................................................................................................................................. 错误!未定义书签。 操作过程..................................................................................................................................... 错误!未定义书签。

最新服务器基础知识(初学者必看)

服务器基础知识【初学者必看】 1. 什么是服务器 就像他的名字一样,服务器在网络上为不同用户提供不同内容的信息、资料和文件。可以说服务器就是Internet网络上的资源仓库,正是因为有着种类繁多数量庞大内容丰富的服务器的存在,才使得Internet如此的绚丽多彩。 2. 服务器的种类和功能 (1) WWW服务器(WWW Server) WWW服务器也称为Web服务器(Web Server)或HTTP服务器(HTTP Server),它是Internet上最常见也是使用最频繁的服务器之一,WWW服务器能够为用户提供网页浏览、论坛访问等等服务。比如:我们在使用浏览器访问https://www.doczj.com/doc/ea7903211.html,的时候,实际上就是在访问Discuz!的WWW服务器,从该WWW服务器获取需要的论坛资料和网页。 (2) FTP服务器(FTP Server) FTP服务器是专门为用户提供各种文件(File)的服务器,FTP服务器上往往存储大量的文件,例如:软件、MP3、电影、程序等等。用户只要使用FTP客户端软件登录到FTP服务器上就可以从FTP服务器下载所需文件和资源到自己的电脑上,同时,

你也可以把自己电话上的文件上传到FTP上供其他用户下载,以实现文件资源的共享。 (3) 邮件服务器(Mail Server) e-mail是Internet上应用最频繁的服务之一,而Internet上每天数亿百亿计的电子邮件的收发都是通过邮件服务器实现的。邮件服务器就像邮局一样,可以为用户提供电子邮件的接收存储和发送服务。 除了以上介绍的3种主要服务器之外,还有很多其他类型的网络服务器,例如:数据库服务器(DatabaseServer)、代理服务器(Proxy Server)、域名服务器(Domain Name Server)等等…… 3. 服务器的操作系统 目前服务器中使用的操作系统主要有两类:Windows和Unix。 (1) Windows Windows是美国微软公司(Microsoft)开发的操作系统,在服务器领域,主要有Windows2000Server/Advanced Server/Data Center与Windows2003 Standard Edition/EnterpriseEdition操作系统,Windows的优点是操作简 单,由于Windows使用图形界面进行操作,因而对各种服务器软件功能配置简

Oracle 官方安装文档

rpm -q grep binutils-2.* \ elfutils-libelf-0.* \ glibc-2.* \ glibc-common-2.* \ libaio-0.* \ libgcc-4.* \ libstdc++-4.* \ make-3.* \ compat-libstdc++-33 \ elfutils-libelf-devel-0.* \ glibc-devel-2.* \ gcc-4.* \ gcc-c++-4.* \ libaio-devel-0.* \ libstdc++-devel-4.* \ unixODBC-2.* \ unixODBC-devel-2.* \ sysstat-7.* 2.如缺少相应的补丁包,可以到系统安装盘安装相关的补丁包 cd /media/Enterprise\ Linux\ dvd\ 20090127/Server/ rpm -Uvh grep binutils-2.* rpm -Uvh elfutils-libelf-0.* rpm -Uvh glibc-2.* rpm -Uvh glibc-common-2.* rpm -Uvh libaio-0.* rpm -Uvh libgcc-4.* rpm -Uvh libstdc++-4.* rpm -Uvh make-3.* rpm -Uvh compat-libstdc++-33 rpm -Uvh elfutils-libelf-devel-0.* rpm -Uvh glibc-devel-2.* rpm -Uvh gcc-4.* rpm -Uvh gcc-c++-4.* rpm -Uvh libaio-devel-0.* rpm -Uvh libstdc++-devel-4.* rpm -Uvh unixODBC-2.* rpm -Uvh unixODBC-devel-2.* rpm -Uvh sysstat-7.*

《ORACLE DSI 学生手册》(ORACLE DSI)新增官方文档

《ORACLE DSI 学生手册》(ORACLE DSI)新增官方文档 【资源简介】:ORACLE是一种适用于大型、中型和微型计算机的关系数据库管理系统,它使用SQL(Structured guery language)作为它的数据库语言。甲骨文公司(Oracle)是世界上最大的企业软件公司,向遍及145多个国家的用户提供数据库、工具和应用软件以及相关的咨询、培训和支持服务。甲骨文公司总部设在美国加利福尼亚州的红木城。甲骨文公司1989年正式进入中国。DSI是Data Server Internals的缩写,是Oracle公司内部用来培训Oracle售后工程师使用的教材. 这样的文档上通常都印着:Oracle Confidential:For internal Use Only.内容包含: ORACLE DSI301 ORACLE DSI302 ORACLE DSI303 ORACLE DSI304 ORACLE DSI305 ORACLE DSI306 ORACLE DSI307 ORACLE DSI308ORACLE DSI401 ORACLE DSI402

ORACLE DSI403 ORACLE DSI404 ORACLE DSI405ORACLE DSI408对应的说明 DSI301 Advanced Server Support Skills DSI302 Data Management DSI303 Database Backup and Recovery DSI304 Query Management DSI305 Database Tuning DSI306 Very Large Databases DSI307 Distribution and Replication DSI308 Parallel ServerDSI401 dump, crash and corruptions DSI401 advance support skill DSI401e Advanced Support Skill DSI404 SQL TUNNING DSI405 Performance Tuning DSI406 VLDB DSI407 Dataguard replication DSI408 Real Application Clusters Internals另附: 4本中文手册和oracle 10g动态性能视图pdf和flash版谢谢原资源的发布者,此资料来自于互联网,归还于互联网! 此文档为英文版,希望此资源能给大家的学习带来帮助,带

(仅供参考)服务器硬件入门基础知识

服务器硬件入门基础知识 开篇一:服务器主板 服务器主板概述 对于服务器而言,稳定性才是首要,服务器必须承担长年累月高负荷的工作要求,而且不能像台式机一样随意的重起,为了提高起可靠性普遍的做法都是部件的冗余技术,而这一切的支持都落在主板的肩上。下面我就来看看有关服务器主板的一些特性: 1、首先,服务器的可扩展性决定着它们的专用板型为较大的ATX,EATX或WATX。 2、中高端服务器主板一般都支持多个处理器,所采用的CPU也是专用的CPU。 3、主板的芯片组也是采用专用的服务器/工作站芯片组,比方Intel E7520、ServerWorks GC-HE等等,不过像入门级的服务器主板,一般都采用高端的台式机芯片组(比如Intel875P芯片组) 4、服务器通常要扩展板卡(比如如网卡,SCSI卡等),因此我们通常都会发现服务器主板上会有较多的PCI、PCI-X、PCI—E插槽。 5、服务器主板同时承载了管理功能。一般都会在服务器主板上集成了各种传感器,用于检测服务器上的各种硬件设备,同时配合相应管理软件,可以远程检测服务器,从而使网络管理员对服务器系统进行及时有效的管理。

6、在内存支持方面。由于服务器要适应长时间,大流量的高速数据处理任务,因此其能支持高达十几GB甚至几十GB的内存容量,而且大多支持ECC内存以提高可靠性(ECC内存是一种具有自动纠错功能的内存,由于其优越的性能使造价也相当高)。 7、存储设备接口方面。中高端服务器主板多采用SCSI接口、SATA接口而非IDE接口,并且支持RAID方式以提高数据处理能力和数据安全性。 8、在显示设备方面。服务器与工作站有很大不同,服务器对显示设备要求不高,一般多采用整合显卡的芯片组,例如在许多服务器芯片组中都整合有ATI的RAGE XL显示芯片,要求稍高点的就采用普通的AGP显卡。而如果是图形工作站,那一般都是选用高端的3DLabs、ATI等显卡公司的专业显卡。 9、在网络接口方面。服务器/工作站主板也与台式机主板不同,服务器主板大多配备双网卡,甚至是双千兆网卡以满足局域网与Internet的不同需求。 10、最后是服务器的价格方面。一般台式机主板顶天也不过1、2千,而服务器主板的价格则从1千多元的入门级产品到几万元甚至十几万元的高档产品都有! 推荐品牌:泰安、超微、Intel 开篇二:服务器CPU 服务器CPU概述 服务器是网络中的重要设备,要接受少至几十人、多至成千上万人的访问,因此对服务器具有大数据量的快速吞吐、超强的稳定性、长时间运行等严格要求。所以说CPU是计算机的“大脑”,是衡量服务器

oracle参数文件

1.参数文件的定义、作用 oracle数据库通过一系列参数来对数据库进行配置. 如下: MAXLOGFILES=50 BACKGROUND_DUMP_DEST=C:\DUMP 其中等号左边是参数名, 右边是对应的参数值, 值的类型有多种, 典型的如数字和字符串. oracle在启动时会从参数文件中读取相关的配置. 2.参数文件的分类 在9i之前, 参数文件只有一种, 称为pfile, 文本格式. 在9i及以后的版本中新增了服务器参数文件, 称为spfile, 二进制格式. 这两种参数文件都用来存储参数, 但也有不同点, 如下: <1>pfile是文本文件, spfile是二进制文件; <2>对于参数的配置, pfile可直接以文本编辑器手工配置, 而spfile不行, 必须在数据库启动后, 通过sql命令进行在线修改. <3>pfile配置改变后, 必须重启数据库使其生效, spfile的配置生效时限和作用域可由修改参数的sql命令指定, 可以立即生效, 也可以不立即生效. 当然有些参数的修改必须重启数据库才能生效; <4>可用sql命令由pfile创建spfile,也可以由spfile创建pfile; <5>如果是手动创建数据库, 则开始创建数据库时只能定义pfile. 因为它是文本格式的; <6>oracle数据库只使用一个参数文件, 要么是pfile,要么是spfile, 如何判断数据库当前使用的是哪一个参数文件? //方法一: 执行create pfile, 如果当前使用的不是spfile, 则相应格式的create pfile 会产生错误. //方法二: 执行show parameter spfile命令, 用来显示spfile的位置, 如果显示的值为空, 则表示使用的是pfile. //方法三: 执行select value from v$parameter where NAME='spfile' 3.参数文件的动作原理 数据库启动时读取参数文件的顺序: >>Oracle9i以前(不包括9i) oracle会在$ORACLE_HOME/dbs 目录下查找init(sid).ora文件(即pfile), 若找不到, oracle会报错, 无法启动; >>Oracle 9i或更高 1/首先在$ORACLE_HOME/dbs 目录下查找spfile(sid).ora文件, 如果有, 则利用该文件启动数据库; 2/若没有spfile, 继续在该目录下查找pfile文件init(sid).ora文件, 若有则利用该文件启动数据库; 3/若没有, 则oracle会报错, 无法启动. 4、实例启动时读取参数文件的顺序 >>数据库的startup命令可以指定以哪个pfile启动, 注意只能指定pfile, 不能指定spfile. >>当使用不带pfile子句的startup 命令时, Oracle 将从平台指定的默认位置上(UNIX或Linux平台数据库启动过程中检索的目录是$ORACLE_HOME/dbs) 的服务器参数文件(spfile) 中读取初始化参数. Oracle查找spfile或者init.ora的顺序是:

oracle cdc 操作文档_中文版

Oracle CDC 操作手册 Oracle的增量数据处理方案 中联新时代

1.CDC简介 1.1.CDC是一种数据增量处理技术 在构建数据仓库系统的ETL过程中,增量数据的抽取是一个非常关键的环节.对解决方案一般有两点要求: ●准确性,能够将业务系统中的数据按一定的频率准确的取到数据仓库中 ●性能,不能对业务系统造成太大的压力,影响现有业务 目前,最为常用的ETL增量数据处理方式有三种: ●时间戳 ●日志对比(CDC) ●全面数据对比 三种方式各有优劣,时间戳是目前应用比较普遍的方式。在Oracle=中推出了两种主要的ETL方案,一种是我们熟悉的物化视图(materialized view),另一种就是本文将要介绍的CDC组件(Change Data Capture 改变数据捕获)。 CDC 特性是在Oracle9i数据库中引入的。CDC能够帮助你识别从上次提取之后发生变化的数据。利用CDC,在对源表进行INSERT、UPDATE或DELETE等操作的同时就可以提取数据,并且变化的数据被保存在数据库的变化表中。这样就可以捕获发生变化的数据,然后利用数据库视图以一种可控的方式提供给目标系统。 1.2.CDC与传统增量处理方式的对比分析 我们对比一下CDC方式与传统的全表对比与时间戳方式。 全表对比使用数据仓库中的当前表与业务系统表进行对比,取得变化了的数据,典型是使用minus语句: SELECT * FROM new_version MINUS SELECT * FROM old_version; 使用全表对比有以下几方面的问题: ●需要将业务系统中表全部转输,造成很高的网络负载 ●需要对两版本的表进行全表扫描,性能代价非常高 ●无法反映数据的历史状态,如无法捕捉库存的历史变化记录

Oracle_官方安装文档

一.请检查系统包是否已经安装。 rpm -q grep binutils-2.* \ elfutils-libelf-0.* \ glibc-2.* \ glibc-common-2.* \ libaio-0.* \ libgcc-4.* \ libstdc++-4.* \ make-3.* \ compat-libstdc++-33 \ elfutils-libelf-devel-0.* \ glibc-devel-2.* \ gcc-4.* \ gcc-c++-4.* \ libaio-devel-0.* \ libstdc++-devel-4.* \ unixODBC-2.* \ unixODBC-devel-2.* \ sysstat-7.* 2.如缺少相应的补丁包,可以到系统安装盘安装相关的补丁包 cd /media/Enterprise\ Linux\ dvd\ 20090127/Server/ rpm -Uvh grep binutils-2.* rpm -Uvh elfutils-libelf-0.* rpm -Uvh glibc-2.* rpm -Uvh glibc-common-2.* rpm -Uvh libaio-0.* rpm -Uvh libgcc-4.* rpm -Uvh libstdc++-4.* rpm -Uvh make-3.* rpm -Uvh compat-libstdc++-33 rpm -Uvh elfutils-libelf-devel-0.* rpm -Uvh glibc-devel-2.* rpm -Uvh gcc-4.* rpm -Uvh gcc-c++-4.* rpm -Uvh libaio-devel-0.* rpm -Uvh libstdc++-devel-4.* rpm -Uvh unixODBC-2.* rpm -Uvh unixODBC-devel-2.* rpm -Uvh sysstat-7.* 3.添加oracle组和用户(Oracle Enterprise Linux默认把oracle的

oracle数据库安装文档

数据库安装 注:Oracle安装文件必须放在/tmp文件夹下边,在安装过程中,tmp至少400MB空间,系统至少4G空间,且系统要配置静态IP,内存至少512MB,swap大小为内存的2倍左右 图形界面版安装 1)vi /etc/hosts 加入: 本机IP 本机名称 (本机名称可通过hostname命令获取) 将127.0.1.1换为本机IP 2)vi /etc/pam.d/login 添加 # add by oracle session required pam_limits.so 3)vi /etc/selinux/config 设置 SELINUX=disabled 4)如果RedHat版本是5,则修改为4,安装完后再修改回来(若是centos系统也是这样改) vi /etc/redhat-release 修改成4 5)检查并修改核心参数 输入以下命令, /sbin/sysctl -a | grep sem /sbin/sysctl -a | grep shm /sbin/sysctl -a | grep file-max /sbin/sysctl -a | grep ip_local_port_range 注意查看结果,有些参数没有达到最小值则修改 我的机子上有以下没有达到最小值: kernel.shmall = 2097152 kernel.shmmax = 536870912(根据实际情况有时候要求2147483648) kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 2012.1.29 补充: shmmax 表示最大共享内存。如果SGA的设置大于共享内存的大小也没关系。只是系统会分配多个共享内存段给SGA。而我们一般将SGA分配在一个共享内存段里。所以一般共享内存大小略大于SGA。shmmax 参数建议至少设置到1GB,一般应该设置到2GB以上。如果设置太小,在创建数据库时将出现下面的错误:ORA-27123: unable to attach to shared memory segment 如果发现有那些参数没有达到要求就执行如下命令: vi /etc/sysctl.conf 在文件末尾加入如下内容:(比如我加入的)

Oracle11g手动建库步骤文档

Ceate database 手动建库 Oracle官方文档 Database Administration Administrator's Guide HT ML PDF 2、Creating and Configuring an Oracle Database ——>Creating a Database with the CREATE DATABASE Statement Step 1: Specify an Instance Identifier (SID) 指定一个实例名export ORACLE_SID=test※; extent:.bash_profile --只能有一个SID,想看哪个库,使他的SID生效一下就行了。 . .bash_profile source .bash_profile --使生效 Step 2: Ensure That the Required Environment Variables Are Set 确保所需的环境变量都设置到了LINUX(.bash_profile) unix(.profile) 我们有很多套数据库,但是软件还是ORACLE_HOME的软件 sqlplus: $ORACLE_HOME/bin/sqlplus 用的是同一套的数据库软件。 Step 3: Choose a Database Administrator Authentication Method 选择一个数据库管理认证方式。 在$ORACLE_HOME/dbs/下创建密码文件,(--sys用户的密码) dbs]$ orapwd file=orapwtest※ password=oracle entries=3 force=y (entries=3 给多少个用户设置sysdba的权限) (force=y 当前有这个文件就给替换掉) Step 4: Create the Initialization Parameter File

Toad for Oracle中文手册

Toad? for Oracle Quest 虹天软件(北京)有限公司 二零零六年八月 测试版本

目 录 1. 方案简介..................................................................................................................................4 2. TOAD? FOR ORACLE.. (5) 2.1. S CHEMA B ROSWER (6) 2.2. SQL E DITOR (6) 2.3. P ROCEDURE E DITOR (7) 2.4. SQL M ODELER (8) 2.5. F AST R EPORT (9) 2.6. S CRIPT MANAGER (10) 2.7. M ASTER /D ETAIL B ROWSER (10) 2.8. C ONNECTION C OLOR -C ODING (11) 3. TOAD? FOR ORACLE PROFESSIONAL (11) 3.1. PL/SQL D EBUGGER (12) 3.2. C ODE P ROFILING (12) 3.3. K NOWLEDGE X PERT ? FOR PL/SQL (13) 3.4. T EAM C ODING (14) 3.5. C ODE X PERT (14) 4. TOAD? FOR ORACLE XPERT (15) 4.1. SQL S CANNER (15) 4.2. SQL I NSPECTOR (15) 4.3. SQL O PTIMIZER (16) 4.4. I NDEX E XPERT (19) 4.5. C ROSS I NDEX A NALYSIS (19) 4.6. O UTLINE M ANAGER (20) 4.7. P LAN C HANGE A NALYZER (20) 4.8. B EST P RACTICES ..............................................................................................................22 5. TOAD? FOR ORACLE SUITE.. (22) 5.1. DBA M ODULE (22) 5.1.1. Database Monitor (22) 5.1.2. Database Probe (23) 5.1.3. Health Check (24) 5.1.4. Instance Manager (24) 5.1.5. Top Session Finder (25) 5.1.6. Oracle Parameters (26) 5.1.7. Session Browser (26) 5.2. K NOWLEDGE X PERT ? FOR O RACLE A DMINISTRATION (27) 5.3. D ATA F ACTORY ? D EVELOPER E DITION (27) 5.4. B ENCHMARK F ACTORY ? FOR D ATABASES (27) 测试版本

相关主题
文本预览
相关文档 最新文档