情况如下:
有一数据库,ORACLE,专为一项目开发使用.包括新建用户及此用户下的表.
为项目演示,我要将数据库导入我电脑的oracle数据库中.每次我都是全数据库导入导出,太大也麻烦.请问:\
1.我如何只导出导入用户及表,导出导入时用什么身份操作.
2.我如果导入过,就是我的电脑上有这个用户和表.但服务器的用户表有改动,也可能用户也有改动.这时怎么导出导入最新的.我应该说明白了吧.请各位赐教.以前没用过oracle,还请讲解是详细些.
谢谢.
有一数据库,ORACLE,专为一项目开发使用.包括新建用户及此用户下的表.
为项目演示,我要将数据库导入我电脑的oracle数据库中.每次我都是全数据库导入导出,太大也麻烦.请问:\
1.我如何只导出导入用户及表,导出导入时用什么身份操作.
2.我如果导入过,就是我的电脑上有这个用户和表.但服务器的用户表有改动,也可能用户也有改动.这时怎么导出导入最新的.我应该说明白了吧.请各位赐教.以前没用过oracle,还请讲解是详细些.
谢谢.
2-可以称得上是同步更新了,不会
单独导出需要的用户及数据,exp user/password@数据库服务名(项目数据库) file=c:\user.dmp log=c:\user.log ignore=y;
导入时使用imp user/password@数据库服务名(你自己的数据库) file=c:\user.dmp log=c:\user.log ignore=y;
至于你如果是如你第二点所说,那就使用sys用户全库导出再导入吧.因为你的用户和对象都要变化,改来改去麻烦.
exp user/passwd@TEST file=d:\daochu.dmp tables=(table1,table2..); imp user/passwd@TEST file=d:\daochu.dmp tables=(table1,...) ;
可以查看帮助信息,-help
2.每周备份一个循环,使用windows的“任务计划”,定时执行如:星期一.sql
exp username/password@databasename file=D:\*.dmp tables=tablenames;
imp username/password@databasename file=D:\*.dmp tables=tablenames;2.
select 'drop ' || object_type || ' username.' || object_name || ';' from all_objects where owner = 'username';
'DROP'||OBJECT_TYPE||'username.'||OBJECT_NAME||';'