Oracle教程 误添加数据文件删除方法

2016-02-19 09:03 8 1 收藏

下面图老师小编跟大家分享Oracle教程 误添加数据文件删除方法,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - 编程语言 】

如果是在Oracle10g之前,删除一个表空间中的数据文件后,其文件在数据库数据字典中会仍然存在,除非你删除表空间,否则文件信息不会清除。

  但是从Oracle10gR2开始,Oracle允许我们彻底删除一个空文件,不留痕迹。

  但是注意:如果你向SYSTEM表空间错误的添加了一个文件,那么就让它在哪里好了,不要动。

  对于普通表空间,则可以参考以下步骤处理。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  数据库版本Oracle10gR2:


  SQL select * from v$version;
  BANNER
  ----------------------------------------------------------------
  Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
  PL/SQL Release 10.2.0.1.0 - Production
  CORE 10.2.0.1.0 Production
  TNS for Linux: Version 10.2.0.1.0 - Production
  NLSRTL Version 10.2.0.1.0 - Production

  向USERS表空间增加一个数据文件:


  SQL alter tablespace users add datafile '/opt/oracle/oradata/eygle/users02.dbf' size 10M;
  Tablespace altered.
  SQL select file#,name from v$datafile;
  FILE# NAME
  ---------- --------------------------------------------------
  1 /opt/oracle/oradata/eygle/system01.dbf
  2 /opt/oracle/oradata/eygle/undotbs01.dbf
  3 /opt/oracle/oradata/eygle/sysaux01.dbf
  4 /opt/oracle/oradata/eygle/users01.dbf
  5 /opt/oracle/oradata/eygle/users02.dbf
  5 rows selected.

  确认表空间文件信息:


  SQL select file_name,file_id from dba_data_files where tablespace_name='USERS';
  FILE_NAME FILE_ID
  -------------------------------------------------- ----------
  /opt/oracle/oradata/eygle/users02.dbf 5
  /opt/oracle/oradata/eygle/users01.dbf 4

确认表空间未被存储占用:


  SQL select segment_name,file_id,blocks from dba_extents where file_id=5;
  no rows selected

  删除表空间中的空数据文件:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)


  SQL alter tablespace users drop datafile '/opt/oracle/oradata/eygle/users02.dbf';
  Tablespace altered.

  检查数据字典,这个空文件的信息已经被彻底清除了:


  SQL select file_name,file_id from dba_data_files where tablespace_name='USERS';
  FILE_NAME FILE_ID
  -------------------------------------------------- ----------
  /opt/oracle/oradata/eygle/users01.dbf 4

来源:http://www.tulaoshi.com/n/20160219/1589374.html

延伸阅读
    很多朋友只用了Oracle的删除,但很多情况下,他会发现重新安装时,点了下一步安装界面就消失了,往往无奈下只好重装系统,其实只是你数据库没删干净,删干净就不会出现这种情况了。 实现方法: 1、开始-设置-控制面板-管理工具-服务停止所有Oracle服务。 2、开始-程序-Oracle - OraHome81-Oracle Installat...
标签: Web开发
方法一:  1   string sql="SELECT * FROM NewsClass ORDER BY ORDERID DESC";  2  3   OleDbConnection conn=new OleDbConnection();  4  5   conn.ConnectionString=ConnectionString;  6   conn.Open();  7  8 &nbs...
1、开始->运行,输入SERVICES.MSC到服务里,停止所有Oracle服务; 2、开始->程序->Oracle - OraHome81->Oracle Installation Products-> Universal Installer,卸装所有Oracle产品,但Universal Installer本身不能被删除; 3、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口; 4、运行regedit,选择...
在Oracle数据库中删除两表中相同数据的方法是用到in语句,本文通过实例来讲解删除两表中相同数据的方法。 软件环境: 1、Windows NT4.0+ORACLE 8.0.4。 2、Oracle安装路径为:C:\ORANT。 问题提出: 1、在做数据转储业务的时候,如果发生操作错误,有可能出现主表和副表中都有同一种数据, 这样结算的结果就有可能发生错误。 实...
写一个循环删除的过程。 create or replace procedure delBigTab(p_TableName in varchar2,p_Condition in varchar2,p_Count in varchar2)  as pragma autonomous_transaction; n_delete number:=0; begin  while 1=1 loop EXECUTE IMMEDIATE 'd...

经验教程

691

收藏

52
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部