--数据库服务端 远程连接mstsc
------------
真正有效语句:expdp 'system/****@znjt as sysdba' DIRECTORY=DATA_PUMP_DIR DUMPFILE=pxd.dmp full=y;
高低版本导出:expdp 'system/****@znjt as sysdba' DIRECTORY=DATA_PUMP_DIR DUMPFILE=pxd.dmp full=y versoin=12.1.0.2.0(要导入的目标版本);
---不用登陆sqlplus
sys不成功可以换成system,前提是directory中有指向本地目录的DATA_PUMP_DIR
官方给的参考:(实际操作按上一说明,实操有效)
****度系统数据库移植操作说明
数据泵(Data Dump)技术前提只能是在Oracle Database 10g及更高版本中使用。数据泵的方式更快捷,出错率低。
注意事项:
1.Expdp/Impdp是服务端的工具程序,它们只能在Oracle服务端使用,不能在客户端使用。
2.IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。
3.使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的系统目录中,我们使用现有的目录,由于需要为数据库用户授予使用DIRECTORY对象权限所友最好以system等管理员权限进行导入/导出。高版本导出低版本时加参数 “version=版本号”。
4.支持四种方式的导入/导出:
a)导出表
expdp sys/sys DIRECTORY=dump_dir DUMPFILE=dept.dmp TABLES=dept
b)导出方案
expdp sys/sys directory=dump_dirdumpfile=schema.dmp logfile=schema.log schemas=system
c)导出表空间
expdp sys/sys directory=dump_dirdumpfile=tb.dmp logfile=tb.log tablespaces=users
d)导出数据库
Expdp sys/3edcVFR$ DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=Y
本篇以“导入/导出方案(用户)”为例进行演示。
导入时系统会自动创建用户对象。
所有操作均在服务器端完成。
一.数据库导出
1.查看ORACLE中创建的所有目录
DBA权限登录PLSQL,
select * from dba_directories;
本篇以DATA_PUMP_DIR为例进行演示。
2.数据泵方式导出数据
命令行输入expdp命令;
expdp 'sys/sys@ljzhdd as sysdba' directory=DATA_PUMP_DIR dumpfile=zhdddwwz.dmp schemas=zhdddwwz
linux下(Oracle用户登录,有文件的读写权限) :
expdp \'sys/sys@ljzhdd as sysdba\' directory=DATA_PUMP_DIR dumpfile=zhdddwwz.dmp schemas=zhdddwwz
需要每一个用户导出一个文件。
3.备份数据文件
服务器端找到系统目录“D:\app\Administrator\admin\ljzhdd\dump\”(如上图所示),将自己定义的dmp文件备份。
二.数据库导入
1.创建表空间
目前系统中涉及到的表空间有: yjzh、yjzh_history、yjzh_real、yjzh_spatial, yjzh_305
表空间创建脚本如下:
CREATE SMALLFILE TABLESPACE yjzh DATAFILE 'D:\oracle\tablespace\yjzh.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
2.拷贝数据文件
将要导入的dmp数据文件拷贝到服务器端相应系统目录 如:“D:\app\Administrator\admin\ljzhdd\dump\”(如上图所示)。
3.数据泵方式导入数据
命令行输入impdp命令;
impdp 'sys/bocom123@orcl as sysdba' directory=DATA_PUMP_DIR dumpfile=YJZH.DMP schemas=yjzh
linux下(Oracle用户登录,有文件的读写权限):
impdp \'sys/bocom123@orcl as sysdba\' directory=DATA_PUMP_DIR dumpfile=YJZH.DMP schemas=yjzh
需要每一个数据文件导入到相应的一个用户下。
4.编译无效对象
数据成功迁移后应编译无效的用户对象。
PLSQL工具登录各用户,工具(tools)―>编译无效对象(Compile Invalid Objects)
祝大家成功!
226数据迁移实际使用命令:
exp znjtdirect/znjtdirect@192.168.66.226:1521/znjt file=e:\znjtdirect.dmp owner=znjtdirect
select * from dba_directories;---先查看一下已经存在的目录
drop directory **;----删除存在的目录
create directory dmp_expdp as 'd://expdp/dmps';--创建目录
/*接下来,我这里是使用sys用户来进行操作的。
如果是其他用户,那么就需要对这个用户进行赋权*/
grant create any directory to sys/*(ststem)*/;
select * from dba_sys_privs where grantee = 'SYS';
/*如果是其他用户使用sys创建的目录,也需要进行赋权,如:*/
grant read,write on directory dmp_expdp to system;