背景
公司FPBS产品化项目C端和V端Oracle表结构及数据dmp文件导入到本地Oracle中;
提供信息包括:
dmp文件: smartc168_20200210.dmp ratm168_20200210.dmp 用户名/密码: smartc168/zaq1#WSXcde3 ratm168/zaq1#WSXcde3 表空间名: TBS_SNBC_SMARTC TBS_SNBC_SMARTV
步骤
1.删除用户
drop user 用户名 cascade;
2.删除表空间和临时表空间
drop tablespace 临时表空间名 including contents and datafiles;
drop tablespace 表空间名 including contents and datafiles;
3.创建表空间和临时表空间
-- 创建表空间
create tablespace 表空间名 datafile ' 文件名.dbf' size 10m autoextend on next 10M maxsize unlimited;
-- 创建表空间存储地址为:文件名.dbf,初始大小10M,每次扩展10M,无限制扩展;
-- 创建临时表空间
create temporary tablespace 表空间名 tempfile ' 文件名.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;
-- 创建临时表空间存储地址为:文件名.dbf,初始大小50M,每次扩展50M,最大扩展至20480m,本地管理;
extent management local:设置表空间的区管理为本地管理,为的是减少分配extent的时候产生的内部递归sql,提高数据库分配空间的效率
4.创建用户并授权
-- 创建用户,并指定表空间和临时表空间
create user 用户名 identified by 密码 default tablespace 表空间名 temporary tablespace 临时表空间名;
-- 有时用户会处于锁定状态,解锁用户:
alter user testUser account unlock;
-- 给用户授权
grant connect,resource to 用户名;
权限说明
connect和resource是两个系统内置的角色,和dba是并列的关系; dba:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 resource:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 connect:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。
5.新建逻辑目录
创建导入的逻辑目录,并为用户授权
-- 新建逻辑目录
create directory bak_dir as '存放dmp文件的目录' ;
-- 为oracle用户授予访问数据目录的权限
grant read,write on directory bak_dir to 用户
6.导入dmp文件
退出sqlplus,本地打开cmd执行
#导入C端数据smartc168_20200210.dmp
impdp smartc168/zaq1#WSXcde3 schemas=smartc168 dumpfile=smartc168_20200210.dmp directory=bak_dir TABLE_EXISTS_ACTION=REPLACE
#导入V端数据ratm168_20200210.dmp
impdp ratm168/zaq1#WSXcde3 schemas=ratm168 dumpfile=ratm168_20200210.dmp directory=bak_dir TABLE_EXISTS_ACTION=REPLACE