impdp按用户导入
1、创建该用户对象所设计到所有表空间
create tablespace tbs_hankey_dat datafile '/opt/oracle/oradata/tbs_hankey.dbf' size 2G; create temporary tablespace tbs_hankey_tmp datafile '/opt/oracle/oradata/tbs_hankey_tmp.dbf' size 2G;
create tablespace tbs_hankey_idx datafile '/opt/oracle/oradata/tbs_hankey_idx.dbf' size 2G;
2、创建用户
create user hankey identified by "hankey" default tablespace tbs_hankey_dat temporary tablespace tbs_hankey_tmp;
如果需要清理旧用户的数据,然后导入新数据(生产环境谨慎操作)
su - oracle sqlplus / as sysdba 在执行之前,先断开数据库的会话 drop user hankey cascade;
若删除用户时显示用户占用,请用一下sql查看,然后执行拼接的sql。
select 'alter system kill session '''||sid||','||serial#||''';' from v$session where upper(username)='HANKEY';
3、导入
su - oracle oracle@Hankey:~$ impdp '/ as sysdba' DUMPFILE=hankey_202002028.dmp logfile=webcc_sh.log DIRECTORY=DATA_PUMP_DIR transform=oid:n parallel=4
4、使用oracle用户登录到终端,加密内置算法(非必须,当前项目正好用到)
su - oracle sqlplus / as sysdba SQL>@?/rdbms/admin/dbmsobtk.sql SQL>grant execute on DBMS_CRYPTO to hankey;
5、重新编译数据库对象
sqlplus / as sysdba exec dbms_utility.compile_schema('HANKEY');
6、按用户收集表的统计信息
exec dbms_stats.gather_schema_stats('HANKEY',estimate_percent=>100,no_invalidate=>DBMS_STATS.AUTO_INVALIDATE,method_opt=>'for all columns size auto',force=>TRUE,cascade=>TRUE,degree=>10);
附:按表收集统计分析
exec dbms_stats.gather_table_stats(ownname => 'HANKEY',tabname => 'T_TEST',CASCADE=>TRUE);