oracle的dmp数据文件的导出和导入以及创建用户
关于dmp文件我们用的还是比较多的,dmp文件它是作为oracle导入和导出表使用的文件格式,今天就将dmp文件导出和导入进行学习。
dmp文件导出
dmp文件导出用的比较多的一般是三种,他们分别是:导出整个数据库实例下的所有数据、导出指定用户的所有表、导出指定表。
这里已我的数据库为例,进行介绍,我的Oracle数据库实例为"ORACLE",查看自己数据库实例可以从"任务管理器-->服务"中进行查看,如下图
打开命令行: 1,将数据库ORACLE完全导出,用户名system密码manager 导出到c:daochu.dmp中 exp system/manager@ORACLE file=c:daochu.dmp full=y 2,将数据库中RFD用户与,JYZGCX用户的表导出 exp system/manager@ORACLE file=d:daochu.dmpowner=(RFD,JYZGCX) 3,将数据库中的表T_USER、T_ROLE导出 expJYZGCX/JYZGCX@ORACLEfile= d:data ewsmgnt.dmp tables=(T_USER,T_ROLE) 上面的system为用户名,manager为密码,ORACLE为数据库实例名,其实不一定非的用system用户,只要是拥有管理员权限的用户都可以。
dmp文件导入
1,打开“开始”-->输入cmd—> sqlplus /nolog; 2,输入 conn / as sysdba管理员账户登录; 3,需要创建表空间,如果我们知道需要导入的数据库的表空间直接创建就可以,如果不不知道,也没有关系,我们可以用txt打开dmp文件,
使用快捷键ctrl+F,查找tablespace,就可以找到这个dmp文件所对应数据库的表空间,然后创建我们找到的表空间就可以; 步,不创建的表空间,创建用户,并分配权限; 5,打开“开始”-->输入cmd(注意:这里是cmd窗口,不是sqlplus窗口!!!),输入以下语句:
“imp kang/123456@localhost/ORACLEfile="C:daochu.dmp"full=y ignore=y” 上述语句说明如下: kang是创建的登录数据库用户名; 123456是登录数据库的密码; localhost:代表当前数据库的地址是本机,如果是远程导入,替换成对应的ip地址就行 ORACLE:是实例名称) file:后面的是你当前dmp文件存放的路径 full=y,这个貌似是全部 ignore=y,忽略一些错误
导入给指定用户:
imp system/111111@orcl fromuser=aaa touser=bbb file=aaa.dmp
创建新用户:
1 create user uepro identified by uepro default tablespace orcl temporary tablespace orcl ACCOUNT UNLOCK; 2 GRANT CONNECT TO uepro; 连接数据库 3 GRANT RESOURCE TO uepro; 4 grant alter,delete,update,insert,select on 表名 to 用户名;
正常逻辑:
登录oracle数据库,创建用户root;给用户赋表空间;给用户赋权限角色;
or
在CMD窗口下非ORACLE工作环境下
imp root/root@localhost/orcl file="E:workFilecygjj0606.dmp" full=y;
流程SQL命令:
CREATE TABLESPACE CYGJJ DATAFILE 'E:cydmpCYGJJ.DBF' SIZE 32M;
CREATE TEMPORARY TABLESPACE CYGJJLSTEMP TEMPFILE 'E:cydmpCYGJJLSTEMP.DBF' SIZE 32M;
CREATE TABLESPACE CYGJJLS DATAFILE 'E:cydmpCYGJJLS.DBF' SIZE 32M;
CREATE TEMPORARY TABLESPACE CYGJJTEMP TEMPFILE 'E:cydmpCYGJJTEMP.DBF' SIZE 32M;
create user cygjj identified by cygjj ACCOUNT UNLOCK default tablespace cygjj;
create user cygjjls identified by cygjjls ACCOUNT UNLOCK default tablespace cygjjls;
grant dba to cygjj;
grant dba to cygjjls;
ALTER DATABASE datafile 'E:CYDMPCYGJJls.DBF' autoextend ON NEXT 50M maxsize 20000M;
ALTER DATABASE datafile 'E:CYDMPCYGJJ.DBF' autoextend ON NEXT 50M maxsize 20000M;
alter user cygjj identified by cygjj default tablespace cygjj;
alter user cygjjls identified by cygjjls default tablespace cygjjls;
imp cygjj/cygjj@localhost/orcl file="E:cydmpcygjj0612.dmp" full=y ignore=y;
imp cygjjls/cygjjls@localhost/orcl file="E:cydmpcygjjls0602.dmp" full=y ignore=y;
按照用户导出数据(按用户导出的数据源 不用要求用户,表空间名匹配)
windows 导出数据库DMP文件
C:UsersAdministrator>exp db_user/user
owner=db_user file=d:db_user.dmp
windows 导出数据库DMP文件
C:UsersAdministrator>exp 用户名/用户密码
owner=用户名 file=导出路径
小结
本篇文章主要讲述了,oracle数据导出和导入的具体步骤,其中导入dmp文件的时候即便不知道表空间、用户名和密码也可以进行导入。Oracle的学习确实是路漫漫其修远兮啊!