开发项目,第一反应就是要把环境搭建好,现在的项目已经开发了很久,也已经上线使用了,可是至今都没有现场的环境备份,这样一来只要是开发修改调试,就需要到现场,有一个VPN由于网速太慢,基本上只能做一下预览,或者配置之类的工作。大家知道,没有人愿意出差,特别是程序员现场开发。
对与我现在接手的GIS部分,在客户方面至少有两个库需要备份,一个性能指标数据库,有一个是空间数据库,都是Oracle的库,(如果是SQL Server 就没有问题)在我之前有很多同事到现场也没有人把客户的数据库备份回去。
1.客户的数据库在运行,我们不能影响客户的使用。
2.客户不会支持我们备份他们的数据库,所以无法得到甲方的帮助。
3.在现场的安全非常高,网关一层接着一层,你是无法看到服务器的桌面的,而且系统应该不是Windows,更别说知道服务器在那里放着,摸一摸。
但是不管怎么样,其实就是一个备份现场的数据库,想想很简单,会弄也就是几分钟的事情,由于我之前对Oracle的操作和使用也很少,解决问题基本靠试,累计时间弄了1天多,也没有弄出来,所以很头疼。
目标一,导出空间数据库,我有导出的权限,也导出了客户使用的空间表及数据库不过里面有一个User_.....什么的视图也不知道在哪里,怎么导出
目标二,导出性能指标数据库,这个我们只能查询,没有导出的权限,由于空间都没有搞定,所以这个也还没有继续。
目标三,将备份的数据库还原到本地电脑上。s
测试笔记如果你搜索到我的笔记,希望对你有帮助。
测试系统环境:Oracle 9i
导入和导出的电脑使用的用户都是新建的具有OBA角色的用户,没有使用Sys和System用户,在这个过程中,总是会出现这样那样的权限问题,很头疼
命令行方式导入导出
导出
导出命令 exp
实例:
在运行中输入CMD,打开命令提示符,如果你的电脑上同事安装有Oracle9和Oracle10甚至Oracle11的客户端 ,你在输入命令的时候就要注意了,很可能就报错,无法完成。我现在测试的电脑上只安装有Oracle 9i的客户端
1.输入下图的命令,含义为导出 用户名是terryfeng/密码为123456@Net服务名为TEST 导出文件路径C:\test.dmp 完整的导出full=y
结果如下:
导入
导入命令imp
下面语句的意思是:导入到 ORA 服务,用户名terryfeng密码123456 资源文件C:\test.dmp 仅导入TEST1表
问题:在导入和导出的时候,经常的出现表空间没有权限的问题
参考资料:
http://www.cnblogs.com/furenjun/archive/2008/05/20/oracleImpExp.html
http://hi.baidu.com/victor_chou/blog/item/f30dfc60959d9943ebf8f8bb.html