linux服务器下的oracle数据库的数据导出和导入

linux服务器下的oracle数据库的数据导出和导入

从数据库 ws2 导入到数据库 crjsj
1、切换到oracle

su - oracle

2、登录oracle的系统用户

sqlplus / as sysdba

3、创建逻辑目录,该命令不会在操作系统创建真正的目录,只是在数据中增加一条记录。

create directory expdir as '/app/oracle';

linux服务器下的oracle数据库的数据导出和导入_第1张图片
退出数据库
linux服务器下的oracle数据库的数据导出和导入_第2张图片
4、执行导出命令,此命令导出整个数据库,expdp 用户名/密码 dumpfile=导出文件名.dmp directory=映射地址名称

expdp ws2/'ws2' dumpfile=ws2.dmp directory=expdir  logfile=expdp.log;

linux服务器下的oracle数据库的数据导出和导入_第3张图片
5、然后导出操作,
impdp CRJSJ/‘crjsj’ directory=EXPDIR dumpfile = 文件名称.dmp remap_schema=老数据库名:新数据库名 remap_tablespace=老表空间:新表空间

impdp CRJSJ/'crjsj' directory=EXPDIR dumpfile = ws2.dmp remap_schema=WS2:CRJSJ remap_tablespace=USERS:CRJSJ_DATE

如果不知道表空间名称,可用这个sql 在数据库系统管理员用户下查询,ps: 数据库用户名要大写

select default_tablespace from dba_users where username='WS2';

如果导入报错,
linux服务器下的oracle数据库的数据导出和导入_第4张图片
没有在表空间给用户分配 配额 执行sql

ALTER USER CRJSJ  QUOTA UNLIMITED ON CRJSJ_DATE;

在这里插入图片描述
如果报权限问题
可登录系统用户执行以下授权命令,然后就可以了

GRANT READ,WRITE ON DIRECTORY EXPDIR to CRJSJ;

以上是整库导出,导入,以后再完善部分数据的导入和导出

你可能感兴趣的:(oracle)