oracle数据库导入数据步骤

我们在数据库导入数据时,常规步骤如下:
登录用户system管理员

–【必须步骤:创建表空间】

create tablespace test datafile 'G:\app\zky\oradata\hsp\test01.DBF' size 1024M autoextend on;
create tablespace ESB datafile 'G:\app\zky\oradata\hsp\ESB.DBF' size 1024M autoextend on;
create tablespace LIS datafile 'G:\app\zky\oradata\hsp\LIS.DBF' size 1024M autoextend on;
create tablespace EMR datafile 'G:\app\zky\oradata\hsp\EMR.DBF' size 1024M autoextend on;

注:G:\app\zky\oradata\hsp\ESB.DBF 路径为自己数据库存放表空间的路径,以上是个人路径,autoextend on 为表空间大小自增。

–【非必须步骤:创建用户】
create user ESB_USER identified by ESB_USER default tablespace test;
–【非必须步骤:创建角色】
create role ESB_ROLE;
–【非必须步骤:给角色授权】
grant ESB_ROLE to ESB_USER;

–【必须步骤:创建导入目录,创建之后需要把DMP的备份文件放到该目录下】

create directory dump_file_dir as 'd:\expdp1';

–【必须步骤:cmd运行】
–impdp 用户名/密码@数据库 schemas=要导入的a,要导入的用户b,要导入的用户c directory=dump_file_dir dumpfile=备份文件.DMP logfile=导入日志_in.log;

impdp system/hissystem@hsp schemas=hsp,lis,esb_user   directory=dump_file_dir dumpfile=2020031901.DMP logfile=2020031901_in.log;

—给用户名授dba的权限
–grant connect,resource,dba to 用户名;

grant connect,resource,dba to hsp_cp;

—授权(登录sys用户授权)

grant select on sys.v_$session to hsp_cp;

方法描述
授予SELECT ANY DICTIONARY权限(对所有字典表和视图);
授予该用户select on sys.v_ s e s s i o n 权 限 , 并 使 用 有 权 限 用 户 对 v session权限,并使用有权限用户对v session使vsession创建公共同义词(如授予public select on sys.v_KaTeX parse error: Expected group after '_' at position 38: …select on sys.v_̲session权限,并在该用户下创建对sys.v_ s e s s i o n 的 私 有 同 义 词 ( 对 该 用 户 , 也 对 该 视 图 ) 。 v session的私有同义词(对该用户,也对该视图)。v sessionvsession 是v_$session 的别名

–【必须步骤】
–数据库导入完之后需要在PL/SQL中编译无效对象

impdp hsp/test directory=lis_file_dir dumpfile=LIS20200526.dmp logfile=LIS20200526.DMP_in.log full=y table_exists_action=replace

好啦,以上所诉为常规导数据的操作,一般没问题的,下面说说特殊情况!
1,当我们不需要某个库的所以数据,只需要某个模块的数据时,这种我们需要导入到自己的本地库里。就有点小坑!
2,首先安装常规操作,创建表空间,用户,然后执行imp命令。

impdp system/123456@orcl schemas=hsp directory = dump_file_dir dumpfile =TEST.DMP logfile=export.log 

cmd窗口报错:SYS_IMPORT_FULL_01作业方案无效,对象表无效之类的。
原因:大概就是用户冲突或者权限问题吧,情景不好还原了,使用了语句

impdp system/123456@orcl directory=DUMP_DIR dumpfile=TEST.DMP logfile=export.log remap_schema=hsp:HSP  table_exists_action=replace transform=segment_attributes:n

报错如下:
在这里插入图片描述
原因是没给用户表空间权限和dba权限
—给用户名授dba的权限

--grant connect,resource,dba to  用户名;

最后优化一下imp命令:

impdp HSP/HSP@orcl directory=DUMP_DIR dumpfile=TEST.DMP logfile=export.log remap_schema=hsp:HSP

成功如图:
在这里插入图片描述
最后贴上几个常用的语句:
–以system用户登录,查找需要删除的用户:

–查找用户

select  * from dba_users;           

–查找工作空间的路径

select * from dba_data_files; 

–删除用户

drop user hsp cascade;

–删除表空间

drop tablespace HSP_BLOB including contents and datafiles cascade constraint;

–修改用户密码

alter user HSP identified  by HSP;

–查询目录位置

SELECT * FROM dba_data_files ;

–查询dba目录

select * from dba_directories;

–删除目录

DROP DIRECTORY 目录名称;

例如:删除用户名成为LYK,表空间名称为LYK

–删除用户,及级联关系也删除掉

drop user LYK cascade;

–删除表空间,及对应的表空间文件也删除掉

drop tablespace HSP_CLS including contents and datafiles cascade constraint;

–查询表空间

SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size 
FROM dba_tablespaces t, dba_data_files d 
WHERE t.tablespace_name = d.tablespace_name 
GROUP BY t.tablespace_name; 
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值