oracle 老用户数据导入新建用户
$sqlplus/nolog #使用PLSQL进入oracle
SQL>conn/as sysdba #进入sysdba权限
CREATE DIRECTORY datadir1 AS '/home/oracle/dump_dir'; #数据库定义目录变量
mkdir -p /home/oracle/dump_dir #宿主机创建创建系统真实目录
GRANT READ,WRITE ON DIRECTORY datadir1 TO xxx ;
GRANT READ,WRITE ON DIRECTORY datadir1 TO yyy ; #授权给userxx变量目录权限 exp 和imp 2个用户A.B都需要操作
grant EXP_FULL_DATABASE to XXX; #授权给XXX所有数据库导出权限
alter user XXX account unlock; #解锁scott
chmod 777 /home/oracle/dump_dir #对真实目录读写权限开放
expdp 用户/密码@p2p DIRECTORY=datadir1 DUMPFILE=full.dmp FULL=y LOGFILE=datadir1:expschema.log #导出环境用户数据到指定位置
impdp 用户/密码@p2p DIRECTORY=datadir1 DUMPFILE=full.dmp REMAP_SCHEMA=A用户:B用户 EXCLUDE=USER full=y
\\\ remap_schema当你从A用户导出的数据,想要导入到B用户中去,就使用这个:remap_schema=A:B
EXCLUDE 排除表
创建表时会报如下错误:'no privileges on tablespace 'USERS'
原因在于users表空间中没有为bryan用户提供配额空间(在此默认的表空间为users)
GRANT UNLIMITED TABLESPACE TO bryan;