Oracle的数据备份(100分)

  • 主题发起人 主题发起人 fanyanqing
  • 开始时间 开始时间
F

fanyanqing

Unregistered / Unconfirmed
GUEST, unregistred user!
本人目前正在用Delphi编写数据备份与恢复程序,共有两种方式:1、物理备份2、逻辑备份,有精通此道的朋友请提供完整的一套解决方案
 
用oracle自带的dump工具不就行了?
 
1.利用Delphi带的Datadump;
2.在Delphi中使用TBatchMove;
 
试试李颖的数据库备份构件吧。
物理?逻辑?不懂
 
just attend oracle's education---backup &recovery
or
buy a book about that
 
orawin95/bin目录下有两个文件imp73.exe和exp73.exe可以对ORACLE数据文件进行
备份和维护,具体用法可用如下命令获得:在DOS下:
imp73 help=y
exp73 help=y
 
oracle有自带的dump工具。
一般来说执行文件在orawin95/bin(PERSONAL ORACLE)
或ORANT/BIN(ORACLE FOR NT)目录下,有两个文件:
expXX.exe和impXX.exe
至于XX因ORACLE的版本不同,也不同。
如:ORACLE 7.2 版 XX=72
ORACLE 7.3 版 XX=73
ORACLE 8.0以上 版 XX=80

不过这两个语句只能在SERVER上或者是装了SERVER程序的机器上执行,
一般机器不行;也不能用DELPHI程序执行。

若要用DELPHI程序执行,建议用BATCHMOVE,将每个表BATCHMOVE一遍。

 
Oracle的export和import工具可以在客户端运行,当然也可以由delphi编的程序来启动它。export和import的参数比较多,最简单的完整备份:
(以版本8.0为例)
exp80 full=y userid=用户名@数据库别名 password=密码 file=dmp文件名 log=日志

恢复用import,用得少一点,如果对参数不熟,可以不带参数,按它提示做
 
to pipi:
一般的客户机安装好ORACLE的CLIENT后,是不会有上述文件的。
不信你看看自己的机器上有无上述文件?

一般来说,只能在装过ORACLE SERVER的机器上才有。
比如,客户机是PWIN98的话,要装PERSONAL ORACLE,这样才有上述文件,
才可以实现上述功能。
 
不是这回事,选装 Oracle Utilities 就有这些工具了,
不是说要装server才有。 而且装了client的机器把它从别的机copy进来都可以用的。

所以并不是说“只能在SERVER上或者是装了SERVER程序的机器”上运行。

而且在我单位就是这样用的
 
从安全性上讲,最好不在client上备份,虽然它可以。可以在程序中
用TBatchMove,我做过,很容易,也不错。
 
export不仅备份数据,还备份存储过程、触发子,表结构、引用关系、索引等等
一切东西,它可以在数据库完蛋以后快速恢复。

如果在备份时还有其他用户修改数据,用export可以保证数据完整性。
比如 table1引用table2,可能在备份table1后,在备份table2前,有其他用户
修改了这两张表,引起被备份下来的这两张表引用关系是破坏的。用export
就不用担心这问题了。

另外一个大的应用可能有几百个表,一个一个用batchmove备份多麻烦,
而且时间也长,不如export快。

另外,我看不到在client端备份有什么不安全。那和在client端运行
sqlplus在安全上有什么不同?
 
您可以去计算机世界看一看,里面有一篇关于Oracle 数据备份的文章,很不错。
 
多人接受答案了。
 
后退
顶部