关于空间数据库要素类的备份问题,有关热备份与冷备份以及逻辑备份与物理备份,附方法

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

冷备份的优点是:
1、 是非常快速的备份方法(只需拷文件)(的确很快的,1.2G只要一分钟)
2、 容易归档(简单拷贝即可)(归档模式是记录每次备份的内容,便于每次增量备份)
3、 容易恢复到某个时间点上(只需将文件再拷贝回去)
4、 能与归档方法相结合,做数据库“最佳状态”的恢复。
5、 低度维护,高度安全。

热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。

热备份的优点是:

1. 可在表空间或数据库文件级备份,备份的时间短。
2. 备份时数据库仍可使用。
3. 可达到秒级恢复(恢复到某一时间点上)。
4. 可对几乎所有数据库实体做恢复
5. 恢复是快速的,在大多数情况下爱数据库仍工作时恢复。

热备份的不足是:

1. 不能出错,否则后果严重
2. 若热备份不成功,所得结果不可用于时间点的恢复
3. 因难于维护,所以要特别仔细小心,不允许“以失败告终”。

冷备份与热备份在实际中的经验
大多数在软件开发中,因为团队在一个局域网中使用同一个服务器中的数据库里的数据,所以使用冷备份是有条件,因为冷备份必须关闭数据库、停止数据库实例。这会影响团队其他人的数据使用。而且,团队其他成员在使用数据库是,突然停掉数据库,会丢失某些数据文件。
而热备份如它的缺点,必须很小心,保证没问题下备份,不然数据库就会被破坏。

ORACLE中数据备份分为物理备份和逻辑备份两种。物理备份就是转储ORACLE物理文件(如数据文件、控制文件、归档日志文件等),一旦数据库发生故障,可以利用这些文件进行还原。

逻辑备份就是对数据库对象(如用户、表、存储过程等)利用EXPORT等工具进行导出工作,可以利用IMPORT等工具把逻辑备份文件导入到数据库。

RMAN备份是一种物理备份,不是对象级的逻辑备份, 可以用RMAN来备份数据文件、控制文件、参数文件、归档日志文件。在数据库出现问题的时候可以通过RMAN物理备份恢复到数据库的失效点。

逻辑备份是通过逻辑手段记录要备份的数据库对象的信息,是一种对象级备份的方案,因此逻辑备份的备份集的可移植性比较强,可以把数据库的逻辑备份恢复到不同版本不同平台的数据库上,也正式因为逻辑备份是对象级的备份,因此备份和恢复的效率比较低,对于大型的系统,采用逻辑备份,其恢复时间之长是大多数大型业务系统所不能忍受的。  相对而言,物理备份不具备移植性,备份环境和恢复环境必须是完全相同的,由于物理备份是对数据库的文件(Block)进行备份,其备份和恢复速度相对比较快,在大型业务系统中较多地使用物理备份。

简而言之,物理备份是把数据库的物理结构移植到其他硬盘但不包括表数据,而逻辑备份是备份数据库的表数据。


方法:

物理备份(冷备份)Rman 工具

使用Rman工具可以使用增量备份,以下代码在命令行中运行

sqlplus / as sysdba;

#(连接sqlplus,数据库管理工具)

shutdown immediate; (可以使用shutdown normal;但是会非常慢,立即关闭会快点,但容易损坏数据库)

#(立即关闭数据库)

startup mount;

#(启动实例并加载数据库)

alter database archivelog; 

#(更改数据库为归档模式,记录备份信息使用增量备份)

alter database open;

#(打开数据库)

alter system archive log start;(optional)

run{

allocate channel c1 type disk;

#(新建一个硬盘通道处理)

backup incremental level 1 database format 'E:/delete/backup_%d_%T_%s';

#(增量备份)

release channel c1;

#(释放通道,一定不要忘记,该文件夹就会被c1通道一直占用)

}


逻辑备份与热备份

@echo off

echo 创建目录对象

sqlplus sys/orcl@CHXQ as sysdba @E:\OrclDataBackup\CreateDir.sql

#(先运行sql文件,创建一个文件夹,并授权sde用户可以操作数据库的权限)

echo 导出用户sde完整数据

exp sde/sde@CHXQ  FILE=E:\OrclDataBackup\DumpFiles\sde_%date:~11,3%.dmp OWNER=sde LOG=E:\OrclDataBackup\DumpFiles\sde_%date:~11,3%.log INDEXES=y 

(owner是只导出user的数据表,INDEXES是导出索引,exp方法9.3后就不支持增量备份)

pause;


重点啦,一下介绍使用ArcSDE的方法备份

一般在使用ArcSDE管理空间数据时,系统会默认的建立一个可扩展的400M的sde.dbf数据库,该数据库存储关于SDE的相关库数据信息。该数据包括了GDB的相关结构表,版本信息、空间数据表、列、投影、SDE参数设置等等。


用户在使用ArcSDE时存放空间数据,建议用户新建一个表空间来存储空间数据,不建议用户把数据都放在SDE表空间中

1:SDE表空间虽然是可扩展的400M数据库,但是一般空间数据随着日积月累的编辑,都有可能多于400M以上,这样利用oracle自动扩展表空间的功能,必定会消耗资源付出性能不高的代价。(但高级用户可能会修改相关参数)

2:把空间数据和SDE表空间分开存储(最好是分开不同的磁盘),可以防止用户因为误操作损坏SDE库文件数据进而出现一些莫名的未知错误。而且分开存储可以很好的分清楚SDE数据与空间数据。


数据分析

ArcSDE数据包含SDE库数据信息和空间数据信息。所以说在进行ArcSDE备份时就需要备份SDE库数据信息和空间数据信息。其实在用户使用过程中SDE数据库信息用户可以不予理会,只关注自己的空间数据信息。


SDE备份分两步:

主表导出与要素表导出

1.主表导出

2.要素表导出

利用sdeimport/sdeexport方式将要素类、普通表、栅格数据导出成二进制文件


缺点:不能备份完整的空间数据库,只能一次性备份单独制定的图层。

优点:可以将空间数据在不同关系型的数据库进行移植。

关于空间数据库要素类的备份问题,有关热备份与冷备份以及逻辑备份与物理备份,附方法 - 中山爷爷 - 凝聚 的博客

 

指令如下:

sdeexport -o create -t tablename -i sde:oracle -D DBname -f 导出路径 -u 用户 -p 密码

关于如何写sde的service。这个根据我的寻找,网络大概没有,我们可以打开ArcSDE的文档里找,有写service的例子,而且每种数据库的service是不一样的。


缺点:这种方法快速方便安全,但是只能导出一个表格。


关于经验:

我们在实际项目中,备份是使用批处理建立计划任务的,所以这种情况是需要数据库备份优化的,所以,这个很难就不说了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值