导入oracle数据的时候,经常到用的时候忘记,特整理一份,方便以后操作。
需要注意的是:创建表空间和用户是在sqlPlus中执行,而导入数据需要在cmd窗口执行。
一、创建表空间
create tablespace 表空间名 datafile 'd:/*.dbf' size *M
在创建的时候定义表空间名,表空间文件对应的位置及大小,我一般都是设置为100M,根据个人情况来设置
附:删除表空间
drop tablespace 表空间名 including contents and datafiles
二、创建用户并赋权限
1.创建用户
create user 用户名 identified by 密码 default tablespace 默认表空间名
2.赋权限(摘自oracle用户创建及权限设置 - 伤寒泪 - 博客园)
2.1 默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限
grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限
grant unlimited tablespace to zhangsan;//授予zhangsan用户使用表空间的权限
grant create table to zhangsan;//授予创建表的权限
grante drop table to zhangsan;//授予删除表的权限
grant insert table to zhangsan;//插入表的权限
grant update table to zhangsan;//修改表的权限
grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public)
2.2 oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权
grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限
grant drop on tablename to zhangsan;//授予删除表的权限
grant insert on tablename to zhangsan;//授予插入的权限
grant update on tablename to zhangsan;//授予修改表的权限
grant insert(id) on tablename to zhangsan;
grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update
grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限
3.赋予dba权限(可选)
grant dba to 用户;
因为我选择导入的数据是由dba用户导出的,需要dba权限的用户才能导入。
三、导入数据
imp 用户名/密码@orcl file=d:/数据名.dmp full=y ignore=y log=d:/导出日志.log
1.导出本机数据
exp 用户名/密码@orcl file=d:/导出文件名.dmp full=y log=d:/导出日志.log
2.导出远程数据
exp 用户名/密码@ip地址:1521/orcl file=d:/导出文件名.dmp full=y log=d:/导出日志.log