oracle导入

本小白日常oracle学习总结,若有错误望海涵,并希望大神能指点迷津

数据库导入

注:导入之前需要先创建表空间(表空间和用户要和导入的数据的表空间名称一样)和用户(泵导入时自动创建用户)。

导入之前准备

--创建表空间(表空间名要和导入数据的表空间名一致) 
CREATE TABLESPACE Smart_Table(表空间名)  
DATAFILE 'Ftable.dat'(表空间物理文件名)  
SIZE 4000M REUSE(大小为4000m) AUTOEXTEND ON NEXT 50M Maxsize Unlimited(每次50m自动增加,最大到无限);

--查看表空间的详细信息
select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space
	from dba_data_files
	order by tablespace_name
--扩展表空间
ALTER TABLESPACE SMART_TABLE 
ADD DATAFILE 'E:\ORACLEDATA\ORCL\STABLE59.DAT' 
SIZE 400M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 4000M; --自动扩展每次10M 最大4000M(路径和创建的表空间一样,文件名不能起一样)
	
(2)创建用户(如果用的是泵导,可以不用提前创建表空间,普通导入的话必须提前创建好)
Create User HIS(用户名) Identified by vloveitit(口令密码) Default TableSpace Smart_Table(默认表空间);
角色权限 如:
Grant Connect,resource to HIS;
系统权限 如:
grant create any view,debug any procedure,unlimited tablespace to his
  1. 准备工作完成 开始导入

泵导:

impdp system/panku@orcl directory=dump_dir dumpFile= hisemr .DP logFile= hisemr .log schemas= his  , emr   

注:更名remap_schema= 原用户名 : 现用户名

逻辑恢复:

恢复表:
导入到自己的方案中:imp userid = his/vloveitit@orcl tables=(caozyxx) file = d:\xx.dmp
导入到别人的方案中:imp userid = system/panku@orcl tables=(caozyxx) file = d:\xx.dmp touser = emr;ps:导入到别人方案中,前提是该表不存在主外键的关系
导入表的结构:imp userid = his/vloveitit@orcl tables=(caozyxx) file = d:\xx.dmp rows = n;
如果表已存在可以只导入数据:imp userid = his/vloveitit@orcl tables=(caozyxx) file = d:\xx.dmp ignore = y;
恢复方案:
恢复自身方案:imp userid = his/vloveitit@orcl file = d:\e.dmp;
–重点
恢复其他方案:imp userid = system/panku@orcl file = d:\e.dmp fromuser = 原用户名 touser = 现用户名;
恢复数据库: imp userid = system/panku@orcl full = y file = d:\e.dmp;
注:导入之后编译无效对象

你可能感兴趣的:(oracle)