用PlSql对Oracle数据库进行数据迁移
答案:3 悬赏:0 手机版
解决时间 2021-03-28 17:07
- 提问者网友:箛茗
- 2021-03-28 08:48
用PlSql对Oracle数据库进行数据迁移
最佳答案
- 五星知识达人网友:拜訪者
- 2021-03-28 09:26
迁移的话,直接导出一个库的dmp文件,之后导入到另外一个库里面就可以了(导出和导入数据库版本必须一直,否则导入可能会报错)。
迁移数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
exp system/manager@TEST file=d:daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"
迁移数据的导入
1 将D:daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:daochu.dmp tables=(table1)
迁移数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
exp system/manager@TEST file=d:daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"
迁移数据的导入
1 将D:daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:daochu.dmp tables=(table1)
全部回答
- 1楼网友:忘川信使
- 2021-03-28 11:28
可以通过导出备份再导入的笨方法追问能说明一下具体操作步骤吗?似乎在导入的时候要知道表空间吧?
- 2楼网友:等灯
- 2021-03-28 10:23
1、如果是将A机器安装好数据库,再移植到未安装数据库的B机器上,除了克隆没有别的办法。
2、如果A、B两台机器都安装了数据库,然后再把A数据库移植到B,可采用EXP/IMP解决。
导出:EXP DBA用户/口令@服务名 file=文件名 direct=y full=y compress=y
导入:IMP DBA用户/口令@服务名 file=文件名 full=y追问对于方法2,如果按EXP/IMP的方式 ,不是要先建立好表空间,否则的话有些表是导入不进去的,可是我要怎么样查看他的表空间?追答如果用户数不多的话,按用户方式导出导入,不受表空间是否存在的影响。追问在导入过程中就提示表空间不存在 而且这个项目用户数非常多 表都有几十张追答如果是想你说的那样做一下A机器数据库物理备份,再复制到B机器中是最简单的方法了。但要求A、B机器安装的路径、数据库名最好一致。追问给个具体操作流程,ps,我是菜鸟 多多担待追答
先关闭数据库,物理备份Oradata文件夹的内容、参数文件、口令文件。再把这些内容拷贝到B机器上就可以了。
2、如果A、B两台机器都安装了数据库,然后再把A数据库移植到B,可采用EXP/IMP解决。
导出:EXP DBA用户/口令@服务名 file=文件名 direct=y full=y compress=y
导入:IMP DBA用户/口令@服务名 file=文件名 full=y追问对于方法2,如果按EXP/IMP的方式 ,不是要先建立好表空间,否则的话有些表是导入不进去的,可是我要怎么样查看他的表空间?追答如果用户数不多的话,按用户方式导出导入,不受表空间是否存在的影响。追问在导入过程中就提示表空间不存在 而且这个项目用户数非常多 表都有几十张追答如果是想你说的那样做一下A机器数据库物理备份,再复制到B机器中是最简单的方法了。但要求A、B机器安装的路径、数据库名最好一致。追问给个具体操作流程,ps,我是菜鸟 多多担待追答
先关闭数据库,物理备份Oradata文件夹的内容、参数文件、口令文件。再把这些内容拷贝到B机器上就可以了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯