命令:create tablespace nxoa logging datafile 'D:\oracle\product\10.2.0\oradata\oracle\nxoa.ora' size 50m autoextend on next 50m maxsize unlimited extent management local;
解释:创建了一个表空间,名字叫nxoa
D:\oracle\product\10.2.0\oradata\oracle\nxoa.ora' 是表空间存放路径,初始50M,装满了50M的话就自动扩展50M,并且可以无限扩展。
命令:create user nxoa profile default identified by nxoa default tablespace nxoa;
创建用户,用户名:nxoa 密码:nxoa 这个用户默认关联nxoa表空间
命令:grant dba,connect,resource to nxoa; 给nxoa这个用户授权
进入CMD,命令:imp nxoa/nxoa@oracle file=E:\db\nxoa.dmp full=y ignore=y commit=y feedback=40000 buffer=40960000;
导入数据到表空间去
nxoa/nxoa@oracle是说数据导入到用户名/密码@数据库名默认的表空间去
file指定数据文件路径
full指定属否完全导入
ignore是否忽略没必要的错误提示,比如表已经存在,创建失败。。
commit设置提交,如果后面没有buffer那么每行都提交一次,所以一般有这个 就要有buffer
buffer设置缓存,多少多少字节(1KB=1000B,1B=1字节 1字节=1bit 1bit=1个二进制位)
修改表空间名字:alter tablespce nxoa rename to nxoa2;
删除表空间名字:drop tablespace nxoa;
记住:删除表空间的时候要按照顺序来,若有用户关联,要先删除用户,再删表空间,再删除文件。否则容易出现ORA-01033: ORACLE initialization or shutdown in progress 的错误。
我记得是在切换了用户之后,把文件先删除了,再删除表空间,结果提示无法删除,我再想切换到那用户的时候出现这个错误了,我尝试把服务什么的都开启,但是没有用,网上搜的结果是:删除了这个文件后,启动的时候还会去找这个文件,但是已经没有了就会出错。我的方法很简单,就是把文件从回收站放回来就行了。如果连回收站都没有了,那么请看如下 操作:
进入CMD ,sqlplus/nolog
再次输入:connect sys/change_on_install as sysdba
提示: 已连接
输入:startup启动服务
这个时候会提示你不能识别某个文件(只有个壳子,实际文件都被删没了)
输入:ALTER SYSTEM SET "_allow_resetlogs_corruption"=TRUE SCOPE=SPFILE;
输入:shutdown
输入:startup mount
输入:alter database datafile '表空间文件路径';
输入:shutdown
输入:startup
到这一步就正常了。