数据库的逻辑备份的一种也就是日志备份,但是我要先和你说一下,日志备份是把数据库的日常运行状态记录下来的一种方式,所以要求数据库和存放的空间一定要大,而且要作好物理备份,你应该制定一下备份方案,有物理和逻辑备份两个同时进行,网上有相关介绍,我当时制定了一个是根据ORACLE网定的,因为日志备份做不好可能造成数据库的瘫痪。(以下命令全部是SQL PLUS 下进行)
 关闭数据库SHUT DOWN
 修改数据库的INIT文件中ARCHIEVE的参数改成TRUE
 启动数据库用MOUNT命令,该命令是不完全启动命令
 把数据库变成日志备份状态 ALTER DATABASE(数据库名称)ARCHIEV LOG
 完全启动数据库用OPEN
 关闭数据库
 可以进行物理备份了(就是拷贝),该备份进行以后可以在随时需要的时候把日志添加到你做的这个物理备份上了
之后你可以多做几次实验看看是否归档,因为ORACLE数据库有时候归档情况不是很好用 ALTER SYSTEM SWITCH LOGFILE 可以观察归档状态。
恢复时必须把表空间打开才可以的,用OPEN命令然后是RECOVER DATABASE(TABLE SPACE ,DATAFILE)就可以恢复到最后点的状态,你试一试吧,我记得应该是这个步骤,刚才做了一下实验还可以,但是我做的成功率也不是很高,所以你做的时候也一定要注意出现的问题,尤其注意数据库关闭还是打开的几种状态,好了谷哥有事情给我发信。
系统环境:
1、操作系统:Windows 2000 Server,机器内存128M
2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版
3、安装路径:C:/ORACLE
实现步骤:
1、管理器
SVRMGR> connect internal
SVRMGR> shutdown
SVRMGR> startup mount [dbname]
SVRMGR> alter database [dbname] archivelog; --起用归档模式
SVRMGR> archive log start --启动自动归档模式,重起数据库后,按init.ora配置
SVRMGR> alter database [dbname] open; --打开数据库
SVRMGR> exit
2、修改数据库初始化参数文件,定义归档模式(自动)、归档日志文件保存路径、归档日志文件命名方法
3、重新启动数据库
具体实例:
C:/>svrmgrl
Oracle Server Manager Release 3.1.6.0.0 - Production
版权所有 (c) 1997,1999,Oracle Corporation。保留所有权利。
Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
SVRMGR> connect internal
连接成功。
SVRMGR> shutdown
已关闭数据库。
已卸下数据库。
已关闭 ORACLE 实例。
SVRMGR> startup mount
已启动 ORACLE 实例。
系统全局区域合计有 57124108个字节
Fixed Size 70924个字节
Variable Size 40198144个字节
Database Buffers 16777216个字节
Redo Buffers 77824个字节
已装入数据库。
SVRMGR> alter database archivelog;
语句已处理。
SVRMGR> archive log start
语句已处理。
SVRMGR> alter database open;
语句已处理。
SVRMGR> alter system switch logfile; --强制系统进行日志切换,可马上观察到归档日志的产生
语句已处理。
SVRMGR> exit
服务器管理程序结束。
修改数据库参数文件c:/oracle/admin/oradb/pfile/init.ora,
取消以下语句的#注释
log_archive_start = true
log_archive_dest_1 = "location=C:/Oracle/oradata/oradb/archive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
关闭数据库,重新启动
查看C:/Oracle/oradata/oradb/archive目录下,可以看到类似ORADBT001S01201.ARC的文件,说明归档成功
解释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
归档命令:
启动自动归档模式,系统重起后,将按init.ora中的参数log_archive_start的值设置归档方式
SVRMGR> archive log start
启动手工归档模式
SVRMGR> archive log stop
查看归档信息:重做日志是否归档方式、是自动归档还是手工归档、归档路径、最旧的联机日志循序号...
SVRMGR> archive log list
归档一个已满,但没有归档的联机重做日志
SVRMGR> archive log next
归档所有已满,但没有归档的联机重做日志
SVRMGR> archive log all
注意:一个事务即使不被提交,也会被写入到重做日志中