记录一则ORACLE MOVE操作后重建索引过程被强制中断导致的ORA-8104案例
select 'alter index '||index_name||' rebuild tablespace dbs_cssf_gt online;' from user_indexes where status = 'UNUSABLE' order by index_name desc;
重建过程中个别索引重建的等待时间过长,直接ctrl+c终止了,然后查询哪些索引状态还是unusable.发现如下三个索引:
WONO_CSSF_GT_HUB_INPUT_PARAMS
PK_CSSF_GT_HUB_INPUT_PARAMS PK_CSSF_CP_SH_INPUT_PARAMS
1.联机重建前两个索引时报错ORA-8104 该索引对象265028正在被联机建立或重建
alter index WONO_CSSF_GT_HUB_INPUT_PARAMS rebuild tablespace dbs_cssf_gt online;
alter index PK_CSSF_GT_HUB_INPUT_PARAMS rebuild tablespace dbs_cssf_gt online;
2.drop索引仍然报错ORA-8104
drop index WONO_CSSF_GT_HUB_INPUT_PARAMS; --报错ORA-8104
alter table CSSF_GT_HUB_INPUT_PARAMS drop primary key; --报错ORA-2441 提示主键不存在,发现主键已经删除,但对应的索引还在,删掉索引。
drop index PK_CSSF_GT_HUB_INPUT_PARAMS;--报错ORA-8104
select count(1) from CSSF_GT_HUB_INPUT_PARAMS; --13条记录而已
4.重建主键和索引
alter table CSSF_GT_HUB_INPUT_PARAMS
add constraint PK_CSSF_GT_HUB_INPUT_PARAMS primary key (WF_SN)
using index
tablespace DBS_CSSF_GT
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Create/Recreate indexes
create index WONO_CSSF_GT_HUB_INPUT_PARAMS on CSSF_GT_HUB_INPUT_PARAMS (WO_NO)
tablespace DBS_CSSF_GT
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
5.重建第三个无效索引时遭遇 ORA-604 ORA-1450,但之后drop index成功,然后试图drop上面两个index也成功了,估计是SMON已经回收了之前的失败过程。
SQL> alter index PK_CSSF_CP_SH_INPUT_PARAMS rebuild tablespace dbs_cssf_gt online; alter index PK_CSSF_CP_SH_INPUT_PARAMS rebuild tablespace dbs_cssf_gt online ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01450: 超出最大的关键字长度 (3215) SQL> alter table CSSF_CP_SH_INPUT_PARAMS drop primary key; alter table CSSF_CP_SH_INPUT_PARAMS drop primary key ORA-02441: 无法删除不存在的主键 SQL>
SQL> alter table CSSF_CP_SH_INPUT_PARAMS
2 add constraint PK_CSSF_CP_SH_INPUT_PARAMS primary key (WF_SN)
3 using index
4 tablespace DBS_CSSF_GT
5 pctfree 10
6 initrans 2
7 maxtrans 167
8 storage
9 (
10 initial 64K
11 next 1M
12 minextents 1
13 maxextents unlimited
14 ); alter table CSSF_CP_SH_INPUT_PARAMS
add constraint PK_CSSF_CP_SH_INPUT_PARAMS primary key (WF_SN)
using index
tablespace DBS_CSSF_GT
pctfree 10
initrans 2
maxtrans 167
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
) ORA-00955: 名称已由现有对象使用 SQL> drop index PK_CSSF_CP_SH_INPUT_PARAMS; Index dropped SQL>
SQL> alter table CSSF_CP_SH_INPUT_PARAMS
2 add constraint PK_CSSF_CP_SH_INPUT_PARAMS primary key (WF_SN)
3 using index
4 tablespace DBS_CSSF_GT
5 pctfree 10
6 initrans 2
7 maxtrans 167
8 storage
9 (
10 initial 64K
11 next 1M
12 minextents 1
13 maxextents unlimited
14 ); Table altered
附一篇网上讨论ora-8104的资料:http://blog.csdn.net/wyzxg/article/details/4318618
记录一则ORACLE MOVE操作后重建索引过程被强制中断导致的ORA-8104案例的更多相关文章
- 11G在线重建索引
SQL> select count(*) from test_idx; COUNT(*) ---------- 19087751 SQL> select segment_name,segm ...
- Elasticsearch系列---实战零停机重建索引
前言 我们使用Elasticsearch索引文档时,最理想的情况是文档JSON结构是确定的,数据源源不断地灌进来即可,但实际情况中,没人能够阻拦需求的变更,在项目的某个版本,可能会对原有的文档结构造成 ...
- ES数据库重建索引——Reindex(数据迁移)
应用背景: 1.当你的数据量过大,而你的索引最初创建的分片数量不足,导致数据入库较慢的情况,此时需要扩大分片的数量,此时可以尝试使用Reindex. 2.当数据的mapping需要修改,但是大量的数据 ...
- [转]Oracle 重建索引的必要性
http://blog.csdn.net/leshami/article/details/23763963 索引重建是一个争论不休被不断热烈讨论的议题.当然Oracle官方也有自己的观点,我们很多DB ...
- Oracle 重建索引脚本
该指数是一个有力的武器,以提高数据库的查询性能. 没有索引,喜欢同样的标签库没有书籍,找书,他们想预订比登天还难.中,尤其是在批量的DML的情形下会产生对应的碎片.以及B树高度会发生对应变化.因此能够 ...
- oracle 重建索引以及导出所有的索引脚本(可以解决还原数据库文件时先还原数据,在重新用脚本创建索引)
导出数据库备份文件 1. 备份服务器数据,采用并行方式,加快备份速度(文件日期根据具体操作日期修改) expdp jhpt/XXXX directory=databackup dumpfile=dpf ...
- 曲演杂坛--重建索引后,还使用混合分区么?(Are mixed pages removed by an index rebuild?)
原文来自:http://www.sqlskills.com/blogs/paul/mixed-pages-removed-index-rebuild/ 在SQL SERVER 中,区是管理空间的基本单 ...
- Oracle 学习总结 - 表和索引的性能优化
表的性能 表的性能取决于创建表之前所应用的数据库特性,数据库->表空间->表,创建数据库时确保为每个用户创建一个默认的永久表空间和临时表空间并使用本地管理,创建表空间设为本地管理并且自动段 ...
- ORACLE分区表操作
ORACLE分区表的操作应用 摘要:在大量业务数据处理的项目中,可以考虑使用分区表来提高应用系统的性能并方便数据管理,本文详细介绍了分区表的使用. 在大型的企业应用或企业级的数据库应用中,要处理的数据 ...
随机推荐
- Solve VS2010 Error "Exceptions has been thrown by the target of an invocation"
Sometimes when you open a VS2010 project, an error window will pop up with the error message "E ...
- Python新建动态命名txt文件
# -*- coding: utf-8 -*- import os,sys,time fname=r"D:\01-学习资料\python" def GetNowTime():#获取 ...
- 在C#中使用消息队列RabbitMQ
1.什么是RabbitMQ.详见 http://www.rabbitmq.com/. 作用就是提高系统的并发性,将一些不需要及时响应客户端且占用较多资源的操作,放入队列,再由另外一个线程,去异步处理这 ...
- css确定元素水平居中和垂直居中
---恢复内容开始--- 首先,我们在了解如何通过css了解元素水平和垂直居中之前,先要了解下html都有哪些元素,这些元素与偶有哪些分类,因为不同类别的元素的水平垂直居中方法是完全不同的,究其根本当 ...
- Event,delegate,handler之间的关系
在C#或者说.Net的事件处理机制中,有三个关键的概念 - 事件(Event),委托(Delegate)和处理器(Handler),另外在面向对象的背景中,还有另外两个概念 - 发送者(Sender) ...
- CCLuaLoadChunksFromZIP加载后的require路径问题
对于require来说,在LUA中的机制就是搜索path路径了.但对于CCLuaLoadChunksFromZIP加载的LUA文件来说,require的路径又是怎么样的呢? 我在服务器上有一个 oox ...
- Android学习第二天-android常用命令
上一篇文章中,我们重点讲解了adb的常用命令,下面我们一起来看看其它常用的命令 2 android 2.1 查看机器上所有已经安装的Android版本和AVD设备 2.1.1查看机器上已经安装的AVD ...
- Worktile协同特色之一:无处不在的关注
团队沟通中常见问题 在回答这个问题之前,我们不妨先来思考一下,团队成员之间互相配合沟通的几个问题:1. 任务的执行者在完成这个任务时,如何通知到此任务相关联的其他成员,比如该任务的后续任务执行者?2. ...
- 《Entity Framework 6 Recipes》中文翻译系列 (32) ------ 第六章 继承与建模高级应用之TPH与TPT (1)
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 6-6 映射派生类中的NULL条件 问题 你的表中,有一列允许为null.你想使用 ...
- 虚拟机网络驱动(共享文件夹)不见了的解决方案-适用于win7~win10 and Windows Server 2008~Windows Server 2012R2
具体看图 手动打入下面选择部分的字符 \\vmware-host\Shared Folders 然后就可以了,这边有个红叉,重启后就没了 重启后