oracle 在刪除表空間之前把表空間對應的文件刪除的處理方法

如果Oracle 删除表空间之前的时候你把表空间中的文件也删除了的话,这样就会对我们的实际操产生一些不便,以下的文章就是对Oracle 删除表空间之前的时候你把表空间中的文件也删除在了的解决办法的介绍。

如果在清除表空间之前,先删除了表空间对应的数据文件,会造成数据库无法正常启动和关闭。

可使用如下方法恢复(此方法已经在oracle9i中验证通过):

下面的过程中,filename是已经被删除的数据文件,如果有多个,则需要多次执行;tablespace_name是相应的表空间的名称。

$ sqlplus /nolog

SQL> conn / as sysdba;

如果数据库已经启动,则需要先执行下面这行:

SQL> shutdown abort

SQL> startup mount

SQL> alter database datafile 'filename' offline drop;

SQL> alter database open;

SQL> drop tablespace tablespace_name including contents;

创建用户并指定表空间

create user zfmi identified by zfmi

default tablespace zfmi temporary tablespace zfmi_temp;

identified by 参数必须有

授予message用户DBA角色的所有权限

GRANT DBA TO zfmi;

给用户授予权限

grant connect,resource to zfmi; (db2:指定所有权限)

导入导出命令:

在Oracle 删除表空间之前,Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件, imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,

DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径,

该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。

oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。

SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。

以上就是对Oracle 删除表空间之前删除了表空间文件,解决办法的内容的介绍,望你会有所收获。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cheungjustin/archive/2010/05/31/5635638.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值