我开发了一个学校管理系统,它连接到一个数据库。现在,我想要备份表。
我的想法是生成每个表的SQL文件,稍后将用于备份。我在Oracle SQL Developer中手动实现了这个目标(附加了一个屏幕截图),首先导出SQL文件,然后导入这些文件。现在我想用C#以编程方式执行此操作。我在谷歌上搜索了很多,但没有发现任何有用的东西。
答案 0 :(得分:0)
基本上,如果你想进行完整备份,包括表数据,存储过程,视图等,你可以去SQL脚本
BACKUP DATABASE School_Management TO DISK = 'D:\SQL Backup\SchoolManagement\SM_20180314.bak' WITH FORMAT,
MEDIANAME = 'SM_Backups',
NAME = 'Full Backup of School_Management';
您可以从C#代码运行上述脚本,将备份路径作为参数传递。如果您需要更多详细信息,请告诉我们
答案 1 :(得分:0)
虽然不是一个正确的备份,但是一个简单的EXP实用程序(是的,原始导出,而不是数据泵)可以正常工作。
为什么原始 EXP?因为您可以在计算机上运行它,它将导出整个用户(表,过程,包,...)并在您的计算机上创建一个文件。 Data Pump,一个现代的 export 实用程序功能更强大,但是 - 为了使用它 - 您必须能够访问数据库服务器(即其目录,它存储已导出关于文档中所有内容的更多信息。)
所以,这是一个小小的演示 - 我将导出我的SCOTT用户:
c:\Temp>exp scott/tiger@xe file=scott.dmp
Export: Release 11.2.0.2.0 - Production on Sri O×u 14 20:13:30 2018
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
Export done in EE8MSWIN1250 character set and AL16UTF16 NCHAR character set
server uses AL32UTF8 character set (possible charset conversion)
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user SCOTT
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions for user SCOTT
About to export SCOTT's objects ...
. exporting database links
. exporting sequence numbers
. exporting cluster definitions
. about to export SCOTT's tables via Conventional Path ...
. . exporting table DEPT 4 rows exported
. . exporting table EMP 12 rows exported
<snip>
. exporting synonyms
. exporting views
. exporting stored procedures
. exporting operators
. exporting referential integrity constraints
. exporting triggers
. exporting indextypes
. exporting bitmap, functional and extensible indexes
. exporting posttables actions
. exporting materialized views
. exporting snapshot logs
. exporting job queues
. exporting refresh groups and children
. exporting dimensions
. exporting post-schema procedural objects and actions
. exporting statistics
Export terminated successfully with warnings.
c:\Temp>
c:\Temp>dir scott.dmp
Volume in drive C is OSDisk
Volume Serial Number is 7635-F892
Directory of c:\Temp
14.03.2018. 20:13 1.310.720 scott.dmp
1 File(s) 1.310.720 bytes
0 Dir(s) 346.085.478.400 bytes free
c:\Temp>
生成的.DMP文件现在可以转移到其他一些数据库,导入(使用IMP命令),然后你就可以了。在几分钟内运行(好的,这取决于新数据库中的环境是否友好给您导入的用户 - 例如,您通过以下方式访问的非现有用户数据库链接等可能会破坏快乐,但这是另一个故事。)
除此之外,调查RMAN(Recovery MANager)的使用情况:
Recovery Manager(RMAN)是一个执行的Oracle数据库客户端 数据库和自动化上的备份和恢复任务 管理您的备份策略。它大大简化了 备份,还原和恢复数据库文件。
这是备份数据库的正确方法;但是,如果你只是想要保存&#34;可能会有点矫枉过正。一个用户的对象。