数据库备份管理
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
(一)数据装载
1)应用背景:
通过数据装载可以将大量的按一定规则书写的数据录入到数据库中,比如银行各地的子行,定期向总部提交一份按一定规则书写的数据文档,总部可以将这些数据汇总,然后用数据装载将文档中的全部数据录入到数据库中。
2)装载前的准备
A)数据库中建立一个表用于接受装载数据:此例中是建立一个testzhuangzai空表,表中
含有id integer , name varchar2(15) , age integer三个字段。在实际应用中,此表一般都
存在。
B)一个记录所有需要录入数据的文档:此文档可以用文本文档TXT编写,进行
数据装载时,要将其后缀改成“.data”。文档中的数据格式按装载规则“XX.ctl”文档中编写的规则进行编写,并跟数据库中接受数据装载表的字段相对应,文档如图1所示:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
图1
C)编写装载规则文档:装载时将其后缀改成“.ctl”,里面的语句为:
load data
infile "D:\orawork\data_zyw.data" //数据文档的目录;
into table David.testzhuangzai append // David.testzhuangzai是:数据库名.表名;
fields terminated by "," //规定数据文档中字段数据间的间隔符;
(
id,
name,
age //描述格式;
)
文档如图2所示:
图2
3)装载操作:
命令格式:
sqlldr userid=用户名@数据库名/密码 control=规则文档路径 log=日志文档所需保存的路径
注:日志文档自动生成,我们只需给出其路径,文件名,后缀(.Log)即可;
本例中的命令是:
sqlldr userid=David@David/zyw123 control= D:\orawork\control_zyw.ctl log= D:\orawork\testrz_zyw.log
运行结果如图3所示:
图3
在sql*plus中的结果如图4所示:
图4
(二)导出数据库中的数据
如图5:
图5
第一步:
点“开始”—>“运行”,打入命令“cmd”,进入DOS环境;
第二步:
1)打入命令:exp
2)登陆数据库:
登陆格式:
1) 用户名/密码@数据库名 (若只有一个库,可以不写库名)
2) 用户名
密码 (根据提示填写)
3)根据提示进行填写:(以导出一个表为例)
数据缓冲区大小:可以不改写,直接按回车(介意使用);
导出文件:填写你需求导出的表名,后缀为.dmp,
导出选项:这里可以选择导出数据的类型,可以是用户(U),或者表(T),如果
不填写,直接按回车,则默认为导出为用户,此例中我们用的“t”;
导出表数据:YES/NO,默认值为YES,介意使用默认值,直接按回车;
压缩区:YES/NO,默认值为YES,介意使用默认值,直接按回车;
导出表:在命令“要导出的表<T>或分区<T:P>:<RETURN以退出>>”的后面打
上要导出的表的表名,在这里不用带格式后缀;
操作至此,我们就成功的导出一个表,如果还要继续导出别的表,可以在提示命
令行“要导出的表<T>或分区<T:P>:<RETURN以退出>>”的后面继续填写所需导出的
表名,如果不再导出,则直接按回车键退出。
图1中所示的是,导出David数据库中David用户下的testzhuangzai表。
(三)向数据库中导入数据
具体操作如图6所示:
图6
1)在DOS环境下打入命令“imp”;
2)登陆数据库,方法同导出操作中一样;
3)导入数据库,填写你需求导入的文件名,后缀为.dmp
4)在命令“导入整个导出文件<yes/no>:no>”的后面打入命令符“yes”;
5) 其它选项选其默认值即可,直接按回车;
图中所示的是,将导出文件(备份文件)导入David数据库中David用户下。
转载于:https://blog.51cto.com/su3390/32169