开发中,经常需要把生产环境的数据备份到测试环境中,这里总结一下常用的步骤,供后续开发参考
导出dmp文件
1、使用ssh工具登录源数据库服务器
2、切换到oracle用户
su - oracle
3、切换环境变量
export ORACLE_SID=orcl
4、导出dmp文件
expdp cp_user/cp_user dumpfile=cp_user20191219.dmp directory=DATA_PUMP_DIR schemas=cp_user logfile=cp_user20191219exp.log
导入dmp文件
1、将上面导出的dmp文件,通过ftp工具,上传到目标数据库服务器的路径下面
2、ssh工具连接到目标数据库服务器
3、切换到oracle用户
su - oracle
4、设置数据库环境
export ORACLE_SID=orcl
5、打开sqlplus(不登录方式)
sqlplus /nolog
6、使用sysdba连接到数据库
connect /as sysdba;
7、新建目标数据库用户
create user target_usesr identified by target_user;
8、创建角色
create role role_target_user;
9、为角色授权
grant create session,create table,create view,create sequence to role_target_user;
10、为目标用户赋予角色
#赋予新建的角色
grant role_target_user to target_user;
# 赋予dba角色
grant dba to target_user;
11、导入dmp文件
impdp target_user/target_user@orcl dumpfile=cp_user20191219.dmp remmap_schema=cp_user:target_user remap_tablespace=users:targetUserSpace logfile=cp_user20191219imp.log full=y table_exists_action=replace
如何查看用户的默认表空间
select username,default_tablespace,temporary_tablespace from dba_users where username='CP_USER'