- 浏览: 87083 次
- 性别:
- 来自: 北京
最新评论
做DBA几年来,经常遇到项目到了维护期总是修改表的结构,原因很简单,就是随着数据量越来越大,对表的访问越来越慢。
故这次趁着割接,把这些表重新规划下。不过有个同事在进行划分分区表时,偏偏喜欢用状态字段做分区key,原因是每个月需要出报表,统计数据方便。
据我了解:
1)这个状态字段,根据业务变化,要经过从0到1,最终状态是3
2)而且从表的数据在这个状态字段上的分布了解到,最终状态3占到95%的数据
对partition key 进行update会报错,同时也会影响性能。这样的事情,费力不讨好,但是偏偏有人喜好。
I cannot reproduce, works as supposed for me...What version are you on ?
1 create table t (x number, y char(10))
2 partition by range (x) (
3 partition p1 values less than (100),
4 partition p2 values less than (maxvalue)
5* )
test@CENTRAL> /
Table created.
test@CENTRAL> select table_name, row_movement from user_tables where table_name='T';
TABLE_NAME ROW_MOVE
------------------------------ --------
T DISABLED
test@CENTRAL>
test@CENTRAL> insert into t values (10,'a');
1 row created.
test@CENTRAL> commit;
Commit complete.
test@CENTRAL> update t set x = 110 ;
update t set x = 110
*
ERROR at line 1:
ORA-14402: updating partition key column would cause a partition change
test@CENTRAL> alter table t enable row movement;
Table altered.
test@CENTRAL> update t set x = 110 ;
1 row updated.
test@CENTRAL> commit;
Commit complete.
test@CENTRAL> alter table t disable row movement;
Table altered.
test@CENTRAL> select table_name, row_movement from user_tables where table_name='T';
TABLE_NAME ROW_MOVE
------------------------------ --------
T DISABLED
test@CENTRAL> update t set x = 10;
update t set x = 10
*
ERROR at line 1:
ORA-14402: updating partition key column would cause a partition change
test@CENTRAL>
Stefan
On 5/2/06, hamid alavi <alavihamid@gmail.com> wrote:
List,
I have partition table and I did alter table table_name enable rowmovement, then when I try to Disable row movement still when I update the partition key the record updated means the disable does not work & I can not disable row movement afte enableing it, any idea?
故这次趁着割接,把这些表重新规划下。不过有个同事在进行划分分区表时,偏偏喜欢用状态字段做分区key,原因是每个月需要出报表,统计数据方便。
据我了解:
1)这个状态字段,根据业务变化,要经过从0到1,最终状态是3
2)而且从表的数据在这个状态字段上的分布了解到,最终状态3占到95%的数据
对partition key 进行update会报错,同时也会影响性能。这样的事情,费力不讨好,但是偏偏有人喜好。
I cannot reproduce, works as supposed for me...What version are you on ?
1 create table t (x number, y char(10))
2 partition by range (x) (
3 partition p1 values less than (100),
4 partition p2 values less than (maxvalue)
5* )
test@CENTRAL> /
Table created.
test@CENTRAL> select table_name, row_movement from user_tables where table_name='T';
TABLE_NAME ROW_MOVE
------------------------------ --------
T DISABLED
test@CENTRAL>
test@CENTRAL> insert into t values (10,'a');
1 row created.
test@CENTRAL> commit;
Commit complete.
test@CENTRAL> update t set x = 110 ;
update t set x = 110
*
ERROR at line 1:
ORA-14402: updating partition key column would cause a partition change
test@CENTRAL> alter table t enable row movement;
Table altered.
test@CENTRAL> update t set x = 110 ;
1 row updated.
test@CENTRAL> commit;
Commit complete.
test@CENTRAL> alter table t disable row movement;
Table altered.
test@CENTRAL> select table_name, row_movement from user_tables where table_name='T';
TABLE_NAME ROW_MOVE
------------------------------ --------
T DISABLED
test@CENTRAL> update t set x = 10;
update t set x = 10
*
ERROR at line 1:
ORA-14402: updating partition key column would cause a partition change
test@CENTRAL>
Stefan
On 5/2/06, hamid alavi <alavihamid@gmail.com> wrote:
List,
I have partition table and I did alter table table_name enable rowmovement, then when I try to Disable row movement still when I update the partition key the record updated means the disable does not work & I can not disable row movement afte enableing it, any idea?
发表评论
-
dbms_output can not put the zero
2011-08-25 09:29 792DECLARE V_INTA NUMBER ... -
what is the difference between object_id and data_object_id?
2011-08-24 09:17 983The object_id is the primary k ... -
oracle EXECUTE IMMEDIATE ora-00911
2011-08-14 10:15 1550I get an error when I try to ex ... -
Will the valid status of index impact dml operation?
2011-08-05 10:34 883DROP TABLE tab01; SELECT * FRO ... -
where can i find the job number of those jobs defined in dba_scheduler_jobs?
2011-08-01 10:41 877Question: Hello, could anybody ... -
Listener HPUX Error: 242: No route to host
2011-05-17 14:55 1016现象: 引用LSNRCTL> status Conne ... -
一进程阻塞问题解决
2011-05-12 16:38 4155同事反映,删除一条数据总是没有反应,请求协助解决. 问题非常 ... -
open database with ORA-00704 and ORA-39700
2011-05-06 16:13 29461,Error 1)alter.log Fri May ... -
oracle text index create and use
2011-05-06 13:41 1958一、Install Text Index 1,The ste ... -
offline datafile and offline tablespace
2011-05-04 11:43 25551)offline datafile OFFLINE Spe ... -
oracle three type of block size
2011-04-28 17:35 796Tools: 引用[oracle@node oracle]$ ... -
bbed一(安装)
2011-04-26 14:54 1545bbed ----------------------- bl ... -
Strategies for RAC inter-instance parallelized queries
2011-04-25 14:14 1171I recently had to sit down and ... -
Enable Row Movement in Partitioning and Overhead
2011-04-24 14:03 1594Question 1: Hi, I am partitio ... -
Row Movement in Oracle
2011-04-23 22:23 2029One of the relatively newer fea ... -
ORACLE DSI 介绍
2011-04-19 18:33 927DSI是Data Server Internals的缩写,是O ... -
Oracle / Buffer cache
2011-04-19 17:18 818引用8.7 Tuning the Operating Syst ...
相关推荐
### Oracle 错误 ORA-00132 和 ORA-00214 解析及处理 #### 一、错误概述 在Oracle数据库管理过程中,遇到ORA-00132和ORA-00214这类错误时,往往意味着数据库配置或启动过程中出现了问题。下面将对这两个错误进行...
Oracle数据库不同版本间的客户端与服务端的连接问题通常涉及到安全和兼容性配置,这篇文章主要讲述了在Oracle 11g R2客户端尝试连接Oracle 19c服务端时,遇到了两个特定的错误:ORA-28040和ORA-01017,以及如何解决...
在使用Oracle Data Pump工具IMPDP(Import Data Pump)进行数据导入的过程中,可能会遇到ORA-39002和ORA-39070等错误。本文将针对这些错误的排查方法进行详细介绍,帮助用户理解问题的原因及解决策略。 ### 错误...
### 解决Drop Goldengate 用户时报ORA-00604 ORA-20782 ORA-06512问题 #### 一、问题背景与现象 在进行Oracle数据库管理过程中,经常会遇到需要删除用户的场景。当尝试执行`drop user goldengate cascade;`命令时,...
ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法ora-00604 错误 解决 方法
ORA-00604: 递归SQL层1出现错误 ORA-03106: 致命的双工通信协议错误 ORA-02063: 紧接着line(源于dblink) 以及 ORA-04052: 在查找远程对象时出错 ORA-00604: 递归SQL层1出现错误 ORA-03120: 双工转换例行程序:整数...
oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht
ORACLE8I数据库应用EXP工具时ORA-06553报错的解决方法 摘要:本文主要解决ORACLE 8I数据库应用EXP工具时ORA-06553报错的问题,分析出现问题的原因,并提供了正确的解决方法和措施。 知识点1:Oracle 8I数据库EXP...
在创建Oracle数据库连接时遇到的错误ORA-01017和ORA-02063涉及到用户认证问题以及Oracle数据库版本之间的差异处理。ORA-01017错误表示用户名或密码无效,登录被拒绝,而ORA-02063则通常表示在Oracle数据库之间进行...
### Oracle12cRAC数据库出现ora-12520, ora-12516问题解析 #### 一、问题概述 在使用Oracle12cRAC(Real Application Clusters)数据库的过程中,可能会遇到客户端连接时出现ora-12520或ora-12516错误的问题。这两...
Oracle数据库发生ORA-04031错误原因浅析及处理 Oracle数据库是甲骨文公司提供的一种分布式数据库管理系统,以分布式数据库为核心的软件产品。它具有完整的数据管理功能,作为一个关系数据库,它是一个非常实用的...
### 如何处理错误ORA-29275:部分多字节字符 #### 问题背景与描述 在Oracle数据库操作过程中,用户可能会遇到一个特定的错误提示——ORA-29275:部分多字节字符。这一错误通常出现在执行查询`SELECT * FROM V$...
然而,在日常运维过程中,我们可能会遇到各种错误,比如“ORA-00702”就是其中之一。这个错误通常在尝试重启Oracle数据库服务时出现,意味着数据库实例在启动过程中遇到了问题。本文将详细介绍如何在Windows和Linux...
### Oracle 10g启动后报ORA-16038错误的解决方法 #### 错误概述 在启动Oracle 10g数据库时遇到ORA-16038错误,该错误通常与归档日志操作有关。具体错误信息为: ``` ORA-16038: log 1 sequence #230 cannot be ...
### 离线误删空间文件导致的ORA-01033及ORA-01145问题的解决办法 #### 概述 在Oracle数据库管理过程中,偶尔会遇到因误操作导致的数据文件出现问题的情况,例如误删除数据文件或者数据文件损坏等。这些问题可能会...
### Oracle ORA-12518 故障处理 #### 概述 在Oracle数据库管理过程中,遇到ORA-12518错误是较为常见的问题之一。此错误通常发生在客户端试图连接到数据库服务器的过程中,当监听器无法将客户端连接顺利地移交给...
ORA-12541 TNSno listener 的解决方案 ORA-12541 TNSno listener 的解决方案
OGG 之 ORA-01403 案例分析 本文将对 OGG 之 ORA-01403 案例进行详细的分析,包括出现错误的原因、解决方法、handlecollisions 参数的解析和使用注意事项等。 一、错误原因分析 OGG 之 ORA-01403 案例中,出现了...
解决ora-04031共享内存问题解决ora-04031共享内存问题解决ora-04031共享内存问题解决ora-04031共享内存问题