查看: 6064|回复: 32

数据文件物理性删除相关问题疑惑?

[复制链接]
求职 : 数据分析/ETL
论坛徽章:
2
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:51ITPUB社区千里马徽章
日期:2013-06-09 10:15:34
发表于 2011-10-18 23:01 | 显示全部楼层 |阅读模式
1.  在生产环境上一个用户下新增了一个数据文件;
alter TABLESPACE  KDPDM_DATA  add dataFILE '/oradata/crmdb1/rlv_kdpdm_data06_40g.dbf' SIZE 40G ;
(--###############提示:kdpdm_data 用户之前就有5个数据文件)。

2. 后来因为看文件跟以前格式不对,用 ssh 物理性删掉了这个文件。在做insert into 操作时,报错如下:
111.jpg
ora 01116 ora01110 ora 27041

3.执行了alter database datafile  '/oradata/crmdb1/rlv_kdpdm_data06_40g.dbf' offline drop;
insert into 操作没报错了。


4. 我觉得是数据文件删掉了,但是配置文件,控制文件还在,select * from dba_data_files 还是能查看到这个数据文件。

??? 问题,以后我要是重启数据库,会不会因为控制文件找不到rlv_kdpdm_data06_40g.dbf,而启动失败,
我现在想删掉这个数据文件的配置数据,保证以后重启数据库能正常启动,请问该如何操作呢?

认证徽章
论坛徽章:
42
ITPUB季度 技术新星
日期:2012-05-22 15:10:11祖母绿
日期:2013-09-13 21:16:10蓝锆石
日期:2013-09-13 21:15:34海蓝宝石
日期:2013-09-13 21:13:45最佳人气徽章
日期:2012-03-13 17:39:18优秀写手
日期:2013-12-18 09:29:11ITPUB社区12周年站庆徽章
日期:2013-10-17 13:56:592013年新春福章
日期:2013-02-25 14:51:24玉石琵琶
日期:2012-02-21 15:04:38ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15
发表于 2011-10-19 09:11 | 显示全部楼层

回帖奖励 +25

本帖最后由 xifenfei 于 2011-10-19 09:14 编辑

数据库可以重启,但是那个数据文件会一直在数据库中,并且是处于离线状态

SQL> alter tablespace odu add datafile '/opt/oracle/oradata/test/odu03.chf' size 10m autoextend on next 128k maxsize 100m;

Tablespace altered.


SQL>  select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/test/system01.dbf
/opt/oracle/oradata/test/undotbs01.dbf
/opt/oracle/oradata/test/sysaux01.dbf
/opt/oracle/oradata/test/users01.dbf
/opt/oracle/oradata/test/user32g.dbf
/opt/oracle/oradata/test/xifenfei01.dbf
/opt/oracle/oradata/test/user02.dbf
/opt/oracle/oradata/test/odu02.dbf
/opt/oracle/oradata/test/odu01.dbf
/opt/oracle/oradata/test/odu03.chf

10 rows selected.


SQL> create table chf.t_chf  tablespace odu as select * from user_objects;
create table chf.t_chf  tablespace odu as select * from user_objects
                                                        *
ERROR at line 1:
ORA-01116: error in opening database file 10
ORA-01110: data file 10: '/opt/oracle/oradata/test/odu03.chf'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3


[oracle@ECP-UC-DB1 test]$ ll
total 13508924
drwxr-xr-x 2 oracle oinstall       12288 Oct 18 22:01 archivelog
-rw-r----- 1 oracle oinstall     7553024 Oct 19 08:59 control01.ctl
-rw-r----- 1 oracle oinstall     7553024 Oct 19 08:59 control02.ctl
-rw-r----- 1 oracle oinstall     7553024 Oct 19 08:59 control03.ctl
-rw-r----- 1 oracle oinstall   104865792 Oct 18 22:06 odu01.dbf
-rw-r----- 1 oracle oinstall 11282685952 Oct 18 22:06 odu02.dbf
-rw-r----- 1 oracle oinstall    10493952 Oct 19 08:55 odu03.chf
-rw-r----- 1 oracle oinstall    52429312 Oct 18 22:01 redo01.log
-rw-r----- 1 oracle oinstall    52429312 Oct 19 08:59 redo02.log
-rw-r----- 1 oracle oinstall    52429312 Oct 17 22:08 redo03.log
-rw-r----- 1 oracle oinstall        3584 Oct  9 22:36 spfile.ora
-rw-r----- 1 oracle oinstall   377495552 Oct 19 08:19 sysaux01.dbf
-rw-r----- 1 oracle oinstall   524296192 Oct 19 08:59 system01.dbf
-rw-r----- 1 oracle oinstall    20979712 Oct 18 22:02 temp01.dbf
-rw-r----- 1 oracle oinstall  1289756672 Oct 19 08:59 undotbs01.dbf
-rw-r----- 1 oracle oinstall    10493952 Oct 18 22:06 user02.dbf
-rw-r----- 1 oracle oinstall    10493952 Oct 18 22:06 user32g.dbf
-rw-r----- 1 oracle oinstall     5251072 Oct 18 22:06 users01.dbf
-rw-r----- 1 oracle oinstall    20979712 Oct 18 22:06 xifenfei01.dbf
[oracle@ECP-UC-DB1 test]$ ll *.chf
-rw-r----- 1 oracle oinstall 10493952 Oct 19 08:55 odu03.chf
[oracle@ECP-UC-DB1 test]$ rm ./*.chf


SQL> alter database datafile '/opt/oracle/oradata/test/odu03.chf' offline drop;

Database altered.

SQL>  create table chf.t_chf  tablespace odu as select * from user_objects;

Table created.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  209715200 bytes
Fixed Size                  2082784 bytes
Variable Size             130025504 bytes
Database Buffers           71303168 bytes
Redo Buffers                6303744 bytes
Database mounted.
Database opened.
SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/test/system01.dbf
/opt/oracle/oradata/test/undotbs01.dbf
/opt/oracle/oradata/test/sysaux01.dbf
/opt/oracle/oradata/test/users01.dbf
/opt/oracle/oradata/test/user32g.dbf
/opt/oracle/oradata/test/xifenfei01.dbf
/opt/oracle/oradata/test/user02.dbf
/opt/oracle/oradata/test/odu02.dbf
/opt/oracle/oradata/test/odu01.dbf
/opt/oracle/oradata/test/odu03.chf

10 rows selected.

使用道具 举报

回复
论坛徽章:
12
2011新春纪念徽章
日期:2011-02-18 11:42:50摩羯座
日期:2015-07-16 09:58:52慢羊羊
日期:2015-05-06 16:10:25奥迪
日期:2013-11-17 22:50:24奥迪
日期:2013-08-26 11:27:342013年新春福章
日期:2013-02-25 14:51:24紫蛋头
日期:2012-12-14 09:35:57茶鸡蛋
日期:2012-11-15 17:03:54紫蛋头
日期:2011-11-11 16:32:41ITPUB十周年纪念徽章
日期:2011-11-01 16:24:51
发表于 2011-10-19 09:15 | 显示全部楼层
本帖最后由 oyhuan 于 2011-10-19 09:16 编辑

你是物理删除的,要重建控制文件

使用道具 举报

回复
认证徽章
论坛徽章:
42
ITPUB季度 技术新星
日期:2012-05-22 15:10:11祖母绿
日期:2013-09-13 21:16:10蓝锆石
日期:2013-09-13 21:15:34海蓝宝石
日期:2013-09-13 21:13:45最佳人气徽章
日期:2012-03-13 17:39:18优秀写手
日期:2013-12-18 09:29:11ITPUB社区12周年站庆徽章
日期:2013-10-17 13:56:592013年新春福章
日期:2013-02-25 14:51:24玉石琵琶
日期:2012-02-21 15:04:38ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15
发表于 2011-10-19 09:32 | 显示全部楼层
SQL> alter tablespace odu add datafile '/opt/oracle/oradata/test/odu03.dbf' size 10m;

Tablespace altered.


SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/test/system01.dbf
/opt/oracle/oradata/test/undotbs01.dbf
/opt/oracle/oradata/test/sysaux01.dbf
/opt/oracle/oradata/test/users01.dbf
/opt/oracle/oradata/test/user32g.dbf
/opt/oracle/oradata/test/xifenfei01.dbf
/opt/oracle/oradata/test/user02.dbf
/opt/oracle/oradata/test/odu02.dbf
/opt/oracle/oradata/test/odu01.dbf
/opt/oracle/product/10.2.0/db_1/dbs/MISSING00010
/opt/oracle/oradata/test/odu03.dbf

11 rows selected.

SQL> alter tablespace odu drop datafile '/opt/oracle/oradata/test/odu03.dbf';

Tablespace altered.

SQL>  select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/test/system01.dbf
/opt/oracle/oradata/test/undotbs01.dbf
/opt/oracle/oradata/test/sysaux01.dbf
/opt/oracle/oradata/test/users01.dbf
/opt/oracle/oradata/test/user32g.dbf
/opt/oracle/oradata/test/xifenfei01.dbf
/opt/oracle/oradata/test/user02.dbf
/opt/oracle/oradata/test/odu02.dbf
/opt/oracle/oradata/test/odu01.dbf
/opt/oracle/product/10.2.0/db_1/dbs/MISSING00010

10 rows selected.

SQL> alter tablespace odu drop datafile '/opt/oracle/product/10.2.0/db_1/dbs/MISSING00010';
alter tablespace odu drop datafile '/opt/oracle/product/10.2.0/db_1/dbs/MISSING00010'
*
ERROR at line 1:
ORA-03264: cannot drop offline datafile of locally managed tablespace


/opt/oracle/product/10.2.0/db_1/dbs/MISSING00010 是我刚刚开始上面的试验,os上删除文件,然后重建控制文件产生的

我现在不清楚数据文件离线后怎么删除,求答案

使用道具 举报

回复
认证徽章
论坛徽章:
42
ITPUB季度 技术新星
日期:2012-05-22 15:10:11祖母绿
日期:2013-09-13 21:16:10蓝锆石
日期:2013-09-13 21:15:34海蓝宝石
日期:2013-09-13 21:13:45最佳人气徽章
日期:2012-03-13 17:39:18优秀写手
日期:2013-12-18 09:29:11ITPUB社区12周年站庆徽章
日期:2013-10-17 13:56:592013年新春福章
日期:2013-02-25 14:51:24玉石琵琶
日期:2012-02-21 15:04:38ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15
发表于 2011-10-19 09:33 | 显示全部楼层

使用道具 举报

回复
求职 : 数据分析/ETL
论坛徽章:
2
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:51ITPUB社区千里马徽章
日期:2013-06-09 10:15:34
 楼主| 发表于 2011-10-19 10:07 | 显示全部楼层
oyhuan 发表于 2011-10-19 09:15
你是物理删除的,要重建控制文件

控制文件 怎么重建啊?前提是对其他不能有影响。

使用道具 举报

回复
认证徽章
论坛徽章:
42
ITPUB季度 技术新星
日期:2012-05-22 15:10:11祖母绿
日期:2013-09-13 21:16:10蓝锆石
日期:2013-09-13 21:15:34海蓝宝石
日期:2013-09-13 21:13:45最佳人气徽章
日期:2012-03-13 17:39:18优秀写手
日期:2013-12-18 09:29:11ITPUB社区12周年站庆徽章
日期:2013-10-17 13:56:592013年新春福章
日期:2013-02-25 14:51:24玉石琵琶
日期:2012-02-21 15:04:38ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15
发表于 2011-10-19 10:13 | 显示全部楼层
juogkl 发表于 2011-10-19 10:07
控制文件 怎么重建啊?前提是对其他不能有影响。

重建控制无效的,我第二个恢复出现数据文件名称奇怪的,就是重建控制文件出现的结果

使用道具 举报

回复
求职 : 数据分析/ETL
论坛徽章:
2
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:51ITPUB社区千里马徽章
日期:2013-06-09 10:15:34
 楼主| 发表于 2011-10-19 14:25 | 显示全部楼层
xifenfei 发表于 2011-10-19 10:13
重建控制无效的,我第二个恢复出现数据文件名称奇怪的,就是重建控制文件出现的结果

linux Oracle 用户无法登录sys 你知道是怎么回事吗,可以用 system用户

使用道具 举报

回复
论坛徽章:
186
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
发表于 2011-10-19 14:40 | 显示全部楼层
本帖最后由 jieyancai 于 2011-10-19 14:41 编辑

你的数据库是10gR2版本的吗?
如果是,并且该文件里还没有数据,那么可以直接删除:
alter tablespace KDPDM_DATA drop datafile '/oradata/crmdb1/rlv_kdpdm_data06_40g.dbf'';

使用道具 举报

回复
认证徽章
论坛徽章:
42
ITPUB季度 技术新星
日期:2012-05-22 15:10:11祖母绿
日期:2013-09-13 21:16:10蓝锆石
日期:2013-09-13 21:15:34海蓝宝石
日期:2013-09-13 21:13:45最佳人气徽章
日期:2012-03-13 17:39:18优秀写手
日期:2013-12-18 09:29:11ITPUB社区12周年站庆徽章
日期:2013-10-17 13:56:592013年新春福章
日期:2013-02-25 14:51:24玉石琵琶
日期:2012-02-21 15:04:38ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15
发表于 2011-10-19 15:18 | 显示全部楼层
jieyancai 发表于 2011-10-19 14:40
你的数据库是10gR2版本的吗?
如果是,并且该文件里还没有数据,那么可以直接删除:
alter tablespace KD ...

这个也不行的
如果是本地管理,而且offline

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表