数据库导入及备份
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库导入及备份说明
§1数据库备份
说明:目前有两个数据库需要做日常备份,一个是用于评标的数据库(简称评标数据库),另一个是评标历史记录数据库(简称历史数据库),可以在每次评标后对两个数据库各进行一次备份。
下面是具体的操作步骤(以历史数据库为例,假定历史数据库名为nasa,该数据库所有者用户名为eb,密码eb):
1.1在数据库服务器上打开dos环境
注意:一定要在数据库所在的服务器上进行备份操作。
在windos 操作系统上点击“开始”,从弹出的菜单中选择“运行”,在弹出的对话框中输入“cmd”,点击“确定”进入到dos环境。
1.2在dos环境中使用“exp”命令导出数据库备份文件
假定要导出的文件在F盘根目录下,文件名为:his070208.dmp。
在dos环境中:
(动作)输入:F:
(动作)回车
(结果)光标进入到F盘根目录下
(动作)输入:exp eb/eb@nasa
(动作)回车
格式说明:命令符用户名/密码@数据库名
(动作)回车
(动作)输入导出文件名:his070208.dmp
(动作)回车
以上的导出选项如图设置,一般都是默认值,回车即可(动作)回车..直到出现要设置导入的用户
(动作)输入数据库用户名:eb
(动作)回车
(结果)程序执行导出
(结果)数据库导出完毕,导出的结果储存在之前的his070208.dmp文件中
§2数据库恢复
说明:在数据库操作失误造成数据混乱并且之前有该数据库的备份的情况下,可以对数据库进行恢复。
假定要对历史数据库nasa进行恢复,之前有该数据库的备份文件his070208.dmp,以下是具体的步骤:
2.1在oracle程序中删除数据混乱的表(以用户方式删除)
打开oracle管理控制台
选择“独立启动”,点击“确定”进入到操作界面
在界面中点击要操作的数据库(这里是“NASA”),会弹出数据库连接对话框
要以数据库系统管理员身份连接数据库,一般使用数据库内置用户system,该用户的密码是你在安装oracle时设置的,当然数据库名也是你在那时设置的。
连接身份一定要选择“SYSDBA”,然后点击确定与数据库建立连接。
这个时候我们就能打开NASA数据库的节
点了。
说明:由于数据库的表是以用户所有的方式建立的,因此只要删除这些表的拥有用户就可以删除表了。
特别提示:在做下述操作前一定要确保数据库没有被其它任何程序所访问(包括本机的PL/SQL Developer,后面会提到),否则完成不了删除。
依次点击节点下的“安全性”、“用户”子节点,展开数据库的用户列表,然后选择要操作的用户(这里是“EB”),点击右键,从弹出的菜单中选择“移去”选项。
接下来系统会弹出提示框提示会将该用户下的所有对象(包括表)一并删除。
这正式我们所需要的,点击“是”删除该用户。
由于是删除数据库的表,这需要花上一段时间,所以请耐心等待。
删除完毕后系统不会有什么提示,不过你可以从用户树看到效果,成功删除后该用户将不会出现在“树”中。
2.2在oracle程序中建立新的用户
接下来要做的是新建同名的用户
在“树”中选择“用户”节点,点击右键,在弹出的菜单中选择“创建”,弹出用户创建面板。
在一般信息子栏中输入用户名和口令
然后在角色子栏中将“DBA”角色分配给该用户(双击角色名即可),然后将两个角色的管理选项的“X”变成勾(单击),角色的分配如下:
最后点击“创建”完成用户的创建。
2.2在doc环境中使用“imp”命令导入表数据
进入doc环境,前面已说明,也是在磁盘根目录进行导入
假定要导入的文件在F盘根目录下,文件名为:his070208.dmp。
(动作)输入:imp eb/eb@nasa
格式说明:导入命令用户名/密码@数据库名
(动作)回车
系统提示输入导入文件:EXPDA T.DMP>
(动作)输入文件名:his070208.dmp
插入缓冲区大小和只列出导入文件内容选项都是默认值,回车即可。
在光标处输入要导入的用户名,这里是“eb”,回车
需要导入该用户所有表,回车
系统进行导入
导入完毕,完成对数据库的恢复。
§3每次评标数据的导出
说明:每次评标后,可以将数据增量备份到历史数据库中,这时就需要先将评标数据库的数据导出到文件(dmp格式)中,再将该文件的数据导入到历史数据库中去。
因为这个时候只需要导出数据,不需要导出表结构,所以导出方式与前面提到的整个数据库的备份导出不一样。
特别提示:为了应对数据导出导入过程中的误操作造成对数据库的损害,建议在操作前先对
数据库进行备份。
假定要数据从评标数据库(saveme)中导出到文件exp20070208.dmp(文件将由程序自动生成)中,dos环境下在F盘根目录下进行导出操作。
(动作)输入:exp eb/eb@saveme file=exp070208.dmp grants=n triggers=n log=070207.log constraints=n feedback=1000
(动作)确认数据参数正确后回车
导出格式说明:exp(导出命令符)eb(用户名)/eb(密码)@saveme(数据库名)file=exp070208.dmp(导出文件名)grants=n(导出权限:否)triggers=n(导出触发器:否)log=070207.log(导出的日志文件,系统生成,便于察看导出记录,log格式)constraints=n (导出约束:否)feedback=1000(导出进度,每导出1000行显示进度)
系统进行导出
§4每次评标数据的导入
说明:将每次评标导出的数据导入到历史记录数据库中。
注意:每次评标导出的数据和数据库备份中导出的文件是有区别的。
这里导入的文件一定要是“每次评标数据的导出”中导出的文件。
否则将会出现错误。
特别提示:为了应对数据导出导入过程中的误操作造成对数据库的损害,建议在操作前先对数据库进行备份。
4.1导入前的准备工作—禁用历史记录数据库的触发器和外键约束假定要导入的数据文件eneng20070207client.dmp(从评标数据库中导出的)放在历史记录数
据库(假定nasa)服务器F盘根目录下。
打开PL/SQL Developer,登录到历史记录数据库中。
在Developer操作平台的左侧面板中第一个下拉框中选择“My objects”选项
打开“Triggers”(触发器)节点,然后全选该节点下的所有触发器(可以先选中第一个,然后按住键盘上的“Shift”键同时点击最后一个就可以了)
点击右键,在弹出的菜单中选择“Disable”选项,完成对触发器的禁用,由于触发器众多,所以需要花上点时间。
被禁用的触发器左边的图标会变成灰色。
下面将以运行sql脚本的方式完成对数据库外键的禁用首先打开提供的脚本(sql格式)
从Developer的菜单中选择“SQL Script”选项(如图)
打开导入脚本文件
在Developer主显示区内拉选禁用外键约束执行语句(如图)
点击Developer系统左上角的运行图标(如图),或按键盘上的“F8”键执行脚本语句,完成对外键的禁用。
4.2导入数据到历史记录数据库中
进入dos环境将数据导入到历史纪录数据库中
(动作)输入:imp eb/eb@nasa file=eneng20070207client.dmp fromuser=eb touser=eb ignore=y grants=n log=log070207.log constraints=n feedback=1000 compile=n
(动作)确认数据参数正确后回车
格式说明:imp(导入命令符)eb(用户名)/eb(密码)@nasa(数据库名)file= eneng20070207client.dmp(要导入的数据文件名)fromuser=eb(数据来源用户,就是导出时的用户,还是eb)touer=eb(用户名)ignore=y(忽略错误:是)grants=n(导入权限:否)log= log070207.log(导入时记录日志文件,系统生成,log格式,可用记事本打开)constraints=n(导入约束条件:否)feedback=1000(导出进度,每导出1000行显示进度)compile=n(导入后编译视图和存储过程:否)
程序执行导入
提示:导入过程中肯定会出现数据重复的地方,系统会有报错提示,不必在意。
当然所导入的数据重复越多,导入所花的时间也越多。
4.3导入后启用历史记录数据库的触发器和外键约束
数据导入完毕后回到Developer系统启用触发器和外键。
全选触发器,点击右键,从弹出的菜单中选择“Enable”选项来启用触发器。
在Developer主显示区内拉选启用外键约束执行语句(如图)
点击Developer系统左上角的运行图标(如图),或按键盘上的“F8”键执行脚本语句,完成对外键的启用。
§5附加说明
5.1关于在数据库服务器上的oracle程序中使用“system”或“sys”用户以“SYSDBA”身份登录问题
由于在数据库服务器上的oracle程序中使用“system”或“sys”用户以“SYSDBA”身份登录时要绑定主机的IP,因此当数据库服务器的IP地址发生变化时原有的登录会因IP地址错误而无法成功。
解决方法有两个:1.在其它主机上使用oracle客户端程序建立与服务器数据库的新链接(正确的IP),然后在客户端使用“system”或“sys”用户以“NORMAL”身份
登录到数据库服务器上进行操作。
2.在安装oracle程序或在oracle中新建一个数据库实例前为数据库服务器起一个固定的计算机名,这样就可确保被绑定的主机IP不会定死。
5.2导入中需要用到的文件
导入前后使用到的SQL执行文件:导入.sql。