1,删除空表空间,包含物理文件:DROP TABLESPACE TABLESPACE_NAME INCLUDING CONTENTS AND DATAFILES;
2,导入数据库
在cmd下用imp导入格式:imp userName / passWord file = bmp文件路径ignore = y(忽略创建错误)full = y(导入文件中全部内容);
(imp root / root file = C:\ Users \ Administrator \ Desktop \ test \ disasterv.dmp ignore = y full = y;
导入DMP文件指定表:imp root / root file = C:\ Users \ Administrator \ Desktop \ test \ disasterv.dmp TABLES =(t1,t1)
3,ORACLE删除表空间中的所有表,如果是非SYSDBA连接用如下的SQL语句:
声明
vsql varchar2(200);
游标c1是
选择'drop table'|| table_name ||'
来自user_tables的级联约束' v_name;
BEGIN
for c1 loop
vsql:= i.v_name;
立即执行vsql;
末端循环;
结束;
如果是SYSDBA连接的加上表空间名称
声明
vsql varchar2(200);
游标c1是
选择'drop table'|| table_name ||' cascade constraints'v_name
from user_tables where tablespace_name ='KRK';
BEGIN
for c1 loop
vsql:= i.v_name;
立即执行vsql;
末端循环;
结束;
4,查看表空间的名称及大小
SELECT t.tablespace_name,round(SUM(bytes /(1024 * 1024)),0)ts_size
FROM dba_tablespaces t,dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.TABLESPACE_NAME;