oracle存档模式,Oracle的备份和存档模式

Oracle的备份和存档模式

在做硬件升级前必须要将数据库做一次全备份,以便在出现不可预料的情况下进行恢复,全备份的方法有多种,以下列举两种简单高效的逻辑备份和冷备份,在数据库可以宕机的条件下,推荐使用冷备份,备份和恢复都较为简单和安全。升级完成再将数据库更改为存档模式。一、逻辑备份(导出、导入)

1、导出工具 EXP

它是操作系统下一个可执行的文件存放目录/ORACLE_HOME/bin。

exp导出工具将数据库中数据备份压缩成一个二进制系统文件。可以在不同OS间迁移。

它有三种模式:

a. 用户模式:导出用户所有对象以及对象中的数据;

b. 表模式: 导出用户所有表或者指定的表;

c.

整个数据库:导出数据库中所有对象――需要DBA赋予该角色full_exp_database权限

2. exp交互式命令行方式导出

在一台能连接公安网并且已安装oracle客户端的机器上连接目标数据库

C:\Documents and Settings\yu>exp

scott/tiger@zhouyu――以有权限用户连接目标数据库

Export: Release 8.1.7.0.0 - Production on 星期五 1月 5 14:36:16

2007

(c) Copyright 2000 Oracle Corporation. All

rights reserved.

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -

Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

输入数组提取缓冲区大小: 4096 >

――回车或者选择较为合适的缓冲区大小

导出文件: EXPDAT.DMP>

e:\test.dmp ――指定要导出的文件在本机存放地址

(1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U > E

――指定导出的模式

导出权限(yes/no):yes>――指定是否导出权限,回车默认导出

导出表数据(yes/no):yes>――指定是否导出表数据,回车默认导出

压缩区(yes/no):yes>――指定是否压缩区,回车默认压缩

3.exp非交互式命令行方式

在一台能连接公安网并且已安装oracle客户端的机器上连接目标数据库

$exp parfile=username.par

file=/directory1/username_1.dmp,/directory1/username_2.dmp

filesize=2000M log=/directory2/username_exp.log

参数文件username.par内容

userid=username/userpassword

buffer=8192000

compress=n

grants=y

说明:username.par为导出工具exp用的参数文件,里面具体参数可以根据需要去修改,具体的参数可以在查看操作系统帮助,例如windows中cmd命令行输入命令

exp -help

4.导入工具 IMP

1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin

imp导入工具将EXP形成的二进制系统文件导入到数据库中.

它有三种模式:

a. 用户模式:导出用户所有对象以及对象中的数据;

b. 表模式: 导出用户所有表或者指定的表;

c. 整个数据库: 导出数据库中所有对象。

只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入

5. imp交互式命令行方式导入

在一台能连接公安网并且已安装oracle客户端的机器上连接目标数据库

C:\Documents and Settings\yu>imp scott/tiger@zhouyu

Import: Release 8.1.7.0.0 - Production on 星期五 1月 5 14:52:45

2007

(c) Copyright 2000 Oracle Corporation. All

rights reserved.

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -

Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 – Production

导入文件: EXPDAT.DMP>e\test.dmp

输入插入缓冲区大小(最小为 8192 ) 30720>

经由常规路径导出由EXPORT:V08.01.06创建的文件

警告: 此对象由 TEST 导出, 而不是当前用户

已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入

只列出导入文件的内容(yes/no):no>

由于对象已存在, 忽略创建错误(yes/no):no> yes

导入权限(yes/no):yes>

导入表数据(yes/no):yes>

导入整个导出文件(yes/no):no> yes

成功终止导入,但出现警告。

6. imp非交互式命令行方式导入

在一台能连接公安网并且已安装oracle客户端的机器上连接目标数据库

$ imp system/manager parfile=params.dat

参数文件params.dat 内容

file=dba.dmp show=n ignore=n grants=y fromuser=scott

tables=(dept,emp)

说明:

params.dat为导出工具imp用的参数文件,里面具体参数可以根据需要去修改,具体的参数可以在查看操作系统帮助,例如windows中cmd命令行输入命令

imp –help。

需要注意的问题

imp和exp使用的字符集不同,如果字符集不同, 导入会失败,

可以改变unix环境变量或者NT注册表里NLS_LANG相关信息.导入完成后再改回来。

imp和exp版本不能往上兼容,imp可以成功导入低版本exp生成的文件,

不能导入高版本exp生成的文件。

imp全库导入需要该用户有IMP_FULL_DATABASE权限或本身为DBA用户。

二、冷备份

冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份是将关键性文件拷贝到另外位置的一种说法。对于备份Oracle信息而言,冷备份是最快和最安全的方法。冷备份的优点是:

1.是非常快速的备份方法(只需拷贝文件)

2.容易归档(简单拷贝即可)

3.容易恢复到某个时间点上(只需将文件再拷贝回去)

4.能与归档方法相结合,作数据库“最新状态”的恢复。

5.低度维护,高度安全。

但冷备份也有如下不足:

1.单独使用时,只能提供到“某一时间点上”的恢复。

2.在实施备份的全过程中,数据库必须要作备份而不能作其它工作。也就是说,在冷备份过程中,数据库必须是关闭状态。

3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会比较慢。

4.不能按表或按用户恢复。

如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将所备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:

1.所有数据文件

2.所有控制文件

3.所有联机REDO LOG文件

4.Init.ora文件(可选)。

值得注意的是冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的

1.以system用户登陆到数据库,执行查询,并保存查询结果。

数据文件的位置:select name from v$datafile;

控制文件的位置:select name from v$controlfile;

日志文件的位置:select member from v$logfile;

初始化参数文件initsid.ora。

2.关闭数据库

SQL>conn

sys/change_on_install@orcl as sysdba

SQL>shutdown normal;

3.按照第一步查询结果,使用操作系统命令,拷贝文件至要备份路径或磁盘。完成备份

4.重启oracle数据库

SQL>conn

sys/change_on_install@orcl as sysdba

SQL >startup;

三、更改oracle为归档模式

在默认情况下,在创建数据库的时候,它处于NOARCHIVE模式,也就是非归档模式,非归档模式不必考虑存储复制的文件所需要的额外存储空间,也不需要存档管理任务,但是,从备份和恢复的角度来看,最大的缺点就是在出现硬件故障的时候,在最后一次数据库备份之后的任何更改都将丢失。这对于总队数据库来说是不可以接受的。所以需要在硬件升级的同时,将数据库更改为归档模式,以便在出现故障时对数据库进行恢复。

1.确定存档模式

在更改数据库存档模式之前,首先需要做的就是确定当前的模式。

通过SQL*PLUS来确认

连接目标数据库

SQL> conn ntiis/ntiisadmin@work60

已连接。

SQL> select log_mode from v$database;

LOG_MODE

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

NOARCHIVELOG ――确认为非归档模式

2.更改数据库参数文件

修改数据库参数文件/ORACLE_HOME/admin/pfile/init.ora

取消以下语句的#注释

log_archive_start = true

log_archive_dest_1 =

"location=/ORACLE_HOME/oradata/oradb/archive"

log_archive_format = %%ORACLE_SID%%T%TS%S.ARC

关闭数据库,重新启动

3.连接至总队数据库,确认更改生效

Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production

With the Partitioning option

JServer Release 8.1.7.0.0 - Production

SQL> connect internal

连接成功。

SQL> startup

已启动 ORACLE 实例。

系统全局区域合计有 57124108个字节

Fixed Size 70924个字节

Variable Size 40198144个字节

Database Buffers 16777216个字节

Redo Buffers 77824个字节

已装入数据库。

数据库已打开。

SQL> alter system switch logfile;

--强制系统进行日志切换,可马上观察到归档日志的产生

语句已处理。

查看C:\Oracle\oradata\oradb\archive目录下,可以看到类似ORADBT001S01201.ARC的文件,说明归档成功

4.解释init.ora参数文件中关于归档重做日志参数项的含义

归档模式是自动还是手工,true为自动,false为手工

log_archive_start = true

归档日志文件所保存的路径

log_archive_dest_1 =

"location=C:\Oracle\oradata\oradb\archive"

归档日志文件的命名方法

log_archive_format = %%ORACLE_SID%%T%TS%S.ARC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值