要想删除表空间就要先删除数据文件
例如这个例子
CREATE TABLESPACE STHSGIMGDB_SPACE11 DATAFILE 'D:ORACLEDATABASEJinHuaDataBaseSTHSGIMGDB_SPACE11_01' SIZE 1M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED, 'D:ORACLEDATABASEJinHuaDataBaseSTHSGIMGDB_SPACE11_02' SIZE 1M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED, 'D:ORACLEDATABASEJinHuaDataBaseSTHSGIMGDB_SPACE11_03' SIZE 1M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED, 'D:ORACLEDATABASEJinHuaDataBaseSTHSGIMGDB_SPACE11_04' SIZE 1M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED, 'D:ORACLEDATABASEJinHuaDataBaseSTHSGIMGDB_SPACE11_05' SIZE 1M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED LOGGING ONLINE PERMANENT EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT MANUAL;
你可以这样删
alter database datafile 'DBF文件所在位置' offline drop;
删掉这个表空间里面所有的数据文件的时候最后在这样删
DROP TABLESPACE STHSGIMGDB_SPACE11
当然还有这个方法
DROP TABLESPACE STHSGIMGDB_SPACE11 INCLUDING CONTENTS AND DATAFILES;
粗暴的删去表空间里面的一切内容
然后介绍一下导入和导出,主要还是使用了DOS去操作,注意,不要使用DOS进入sqlpuls,直接在DOS界面输入
imp 用户名/密码@数据库名 touser=要导入哪个用户名下 fromuser=从哪个用户名下导入过去 file=文件所在的位置
导出的方法和这个类似,不过是imp换成了exp,使用DOS相比于使用oracle的工具来说,耗时少,很快
exp 用户名/密码@数据库名 file=文件所在的位置 full=y 说明导出的是整个oracle实例下的内容(orcl),可以把full=y换成
fromuser=从哪个用户名下导入过去 这样的写法,另外,如果不指定文件名字,就会使用默认名称export.dmp代替
1、exp 用户名/密码@表空间
2、回车然后让你输入导出文件的所在位置,然后一路确定,
3、输入要导出的用户名,然后按回车,再按一次回车,就可以导出了