首先注意:我参考网上使用的sysdba模式(normal)登陆的,其他的模式建不了用户(个人没有进行其他模式的表空间尝试,如有人尝试欢迎补充,感激不尽)
表空间相当于表的容器(一下所有的操作都适用于oracle10g):
--建表空间
create tablespace SOA --soa是表空间的名字
datafile 'D:\ a.dbf' size 50m -- 'D:\ a.dbf' 表空间的存储路径
autoextend on next 50m maxsize 20480m ----autoextend on 自动增长
extent management local;
--创建用户默认分配soa表空间
create user shgbyp identified by "111111"
default tablespace SOA;
//记录一个错误
刚开始我是用的建用户的语句是create user shgbyp identified by 111111 default tablespace SOA;
差别就在于 密码处 没有使用双引号
报了一个oracle10g专属的错误ORA-00988: 口令缺失或无效
据了解这个错误是10g才有的错误 所以11g的用户不用担心。
--给用户授权
grant connect,resource,dba to shgbyp;
--导入导出
imp/exp shgbyp/111111@orcl file="e:\20170310.dmp" full=y ignore=y
--相应的删除表空间
drop tablespace SOA including contents and datafiles
--删除用户
drop user shgbyp cascade
这里强调一下:删除了用户shgbyp,只是删除了该用户下的schema objects,不删除分配给用户的表空间。就应为表空间只是给你用户使用的,你用户没了只代表这个表空间少了一个用户使用!
附加:高版本oracle向低版本导入导出数据库:
从高版本导出:
expdp 用户名/密码@数据库实例名 directory=DATA_PUMP_DIR dumpfile=导出的文件名.dmp logfile=导出的日志名.log version=10.2.0.1.0
导入到低版本:impdp 低版本用户名/密码@orcl directory=DATA_PUMP_DIR dumpfile=导出的文件名.DMP logfile=导出的日志名.log version=10.2.0.1.0 table_exists_action=replace remap_schema=高版本用户名:低版本用户名
或许你需要知道DATA_PUMP_DIR 这个变量的值:那么
请查看 select * from dba_directories 就能明白啦~~