Ora 14402 updating partition key mobile facebook not updating

Posted by / 03-Dec-2017 01:05

Ora 14402 updating partition key

处理许多查询时都要求执行一个全表扫描,但是最后却发现,一方面必须扫 描数百万条记录,但另一方面其中大多数记录并不适用于我们的查询。如果使用一种明智的分区机制,就可以按销售定额来聚集 数据,这样在查询某个给定销售定额的数据时,就可以只对这个销售定额的数据进行全面扫描。这在所有可能的解决方案中是 最佳的选择。 另外,在一个数据仓库/决策支持环境中,会频繁地使用并行查询。因此,诸如并行索引区间扫描或并行快速全面索引扫描等操 作不仅很有意义,而且对我们很有好处。我们希望充分地使用所有可用的资源,并行查询就提供了这样的一种途径。因此,在数 据仓库环境中,分区就意味着很有可能会加快处理速度。 表分区机制 目前Oracle中有4种对表分区的方法: 区间分区:可以指定应当存储在一起的数据区间。例如,时间戳在2005-06内的所有记录都存储在分区1中,时间戳在2005-06内 的所有记录都存储在分区2中,依此类推。这可能是Oracle中最常用的分区机制。 散列分区:是指在一个列(或多个列)上应用一个散列函数,行会按这个散列值放在某个分区中。 列表分区:指定一个离散值集,来确定应当存储在一起的数据。例如,可以指定STATUS列值在(’A’,’M’,’Z’)中的行放 在分区1中,STATUS值在(‘D’,’P’,’Q’)中的行放在分区2中,依此类推。 组合分区:这是区间分区和散列分区的一种组合,或者是区间分区与列表分区的组合。通过组合分区,你可以先对某些数据应用 区间分区,再在区间中根据散列或列表来选择最后的分区。 区间分区 区间分区表(range partitioned table)。下面的CREATE TABLE语句创建了一个使用RANGE_KEY_COLUMN列的区间分区表。 RANGE_KEY_COLUMN值严格小于2005-01-01的所有数据要放在分区PART_1中,RANGE_KEY_COLUMN值严格小于2006-01-01的所有数据 则放在分区PART_2中。不满足这两个条件的所有数据(例如,RANGE_KEY_COLUMN值为2007-01-01的行)将不能插入,因为它们无 法映射到任何分区: create table range_example 2 (range_key_column date, 3 data varchar2(20) 4 ) 5 partition by range(range_key_column) 6 (partition part_1 values less than 7 (to_date('2005-01-01','yyyy-mm-dd')), 8 partition part_2 values less than 9 (to_date('2006-01-01','yyyy-mm-dd')) 10 ) 11 ; 表已创建。 [email protected] insert into range_example values(to_date('2006-01-01','yyyy-mm-dd' ),'2006'); insert into range_example values(to_date('2006-01-01','yyyy-mm-dd'),'2006') * 第 1 行出现错误: ORA-14400: inserted partition key does not map to any partition CREATE TABLE range_example 2 ( range_key_column date , 3 data varchar2(20) 4 ) 5 PARTITION BY RANGE (range_key_column) 6 ( PARTITION part_1 VALUES LESS THAN 7 (to_date('01/01/2005','dd/mm/yyyy')), 8 PARTITION part_2 VALUES LESS THAN 9 (to_date('01/01/2006','dd/mm/yyyy')) 10 PARTITION part_3 VALUES LESS THAN 11 (MAXVALUE) 12 ) 13 / Table created.

现在,向这个表插入一个行时,这一行肯定会放入三个分区中的某一个分区中,而不会再拒绝任何行,因为分区PART_3可以接受 不能放在PART_1或PART_2中的任何RANG_KEY_COLUMN值(即使RANGE_KEY_COLUMN值为null,也会插入到这个新分区中)。 散列分区 对一个表执行散列分区(hash partitioning)时,Oracle会对分区键应用一个散列函数,以此确定数据应当放在N个分区中的哪 一个分区中。Oracle建议N是2的一个幂(2、4、8、16等),从而得到最佳的总体分布. 散列分区如何工作 散列分区设计为能使数据很好地分布在多个不同设备(磁盘)上,或者只是将数据聚集到更可管理的块(chunk)上,为表选择 的散列键应当是惟一的一个列或一组列,或者至少有足够多的相异值,以便行能在多个分区上很好地(均匀地)分布。如果你选 择一个只有4个相异值的列,并使用两个分区,那么最后可能把所有行都散列到同一个分区上,这就有悖于分区的最初目标! 在这里,我们将创建一个有两个分区的散列表。在此使用名为HASH_KEY_COLUMN的列作为分区键。Oracle会取这个列中的值,并 计算它的散列值,从而确定这一行将存储在哪个分区中: create table hash_example 2 (hash_key_column date, 3 data varchar2(20) 4 ) 5 partition by hash(hash_key_column) 6 (partition part_1 tablespace p1, 7 partition part_2 tablespace p2 8 ) 9 ; 表已创建。 [email protected] 前面已经提到过,如果使用散列分区,你将无从控制一行最终会放在哪个分区中。Oracle会应用散列函数,并根据散列的结果来 确定行会放在哪里。如果你由于某种原因希望将某个特定行放在分区PART_1中, 就不应该使用散列分区,实际上,此时也不能 使用散列分区。行会按散列函数的“指示”放在某个分区中,也就是说,散列函数说这一行该放在哪个分区,它就会放 在哪个 分区中。如果改变散列分区的个数,数据会在所有分区中重新分布(向一个散列分区表增加或删除一个分区时,将导致所有数据 都重写,因为现在每一行可能 属于一个不同的分区)。 如果你有一个大表,而且你想对它“分而治之”,此时散列分区最有用。你不用管理一个大表,而只是管理8或16个 较小的“表 ”。从某种程度上讲,散列分区对于提高可用性也很有用,临时丢掉一个散列分区,就能访问所有余下的分区。 也许有些用户 会受到影响,但是很有可能很多用户根本不受影响,但是很有可能很多用户根本不受影响。另外,恢复的单位现在也更小了。你 不用恢复一个完整的大表;而只需恢复表中的一小部分。 列表分区 列表分区(list partitioning)是Oracle9i Release 1的一个新特性。它提供了这样一种功能,可以根据离散的值列表来指定 一行位于哪个分区。如果能根据某个代码来进行分区(如州代码或区代码),这通常很有用。例如,你可能想把Maine州(ME) 、New Hampshire州(NH)、Vermont州(VT)和Massachusetts州(MA)中所有人的记录都归至一个分区中,因为这些州相互之 间挨得很近,而且你的应用按地理位置来查询数据。类似地,你可能希望将Connecticut州(CT)、Rhode Island州(RI)和New York州(NY)的数据分组在一起。对此不能使用区间分区,因为第一个分区的区间是ME到VT,第二个区间是CT到RI。这两个区间 有重叠。而且也不能使用散列分区,因为这样你就无法控制给定行要放到哪个分区中;而要由Oracle提供的内置散列函数来控制 。利用列表分区,我们可以很容易地完成这个定制分区机制: create table list_example 2 (state_cd varchar2(2), 3 data varchar2(20) 4 ) 5 partition by list(state_cd) 6 (partition part_1 values('ME','NH','VT','MA'), 7 partition part_2 values('CT','RI','NY') 8 ) 9 ; 表已创建。 此时必须删除DEFAULT分区,然后增加PART_4,最后再加回DEFAULT分区。原因在于,原来DEFAULT分区可以有列表分区键值为CA 或NM的行,但增加PART_4之后,这些行将不再属于DEFAULT分区。 组合分区 最后我们会看到组合分区(composite partitioning)的一些例子,组合分区是区间分区和散列分区的组合,或者是区间分区与 列表分区的组合。 在组合分区中,顶层分区机制总是区间分区。第二级分区机制可能是列表分区或散列分区(在Oracle9i Release 1及以前的版本 中,只支持散列子分区,而没有列表分区)。有意思的是,使用组合分区时,并没有分区段,而只有子分区段。分区本身并没有 段(这就类似于分区表没有段)。数据物理的存储在子分区段上,分区成为一个逻辑容器,或者是一个指向实际子分区的容器。 在下面的例子中,我们将查看一个区间-散列组合分区。在此对区间分区使用的列集不同于散列分区使用的列集。并不是非得如 此,这两层分区也可以使用同样的列集: create table composite_example 2 (range_key_column date, 3 hash_key_column int, 4 data varchar2(20) 5 ) 6 partition by range(range_key_column) 7 subpartition by hash(hash_key_column) subpartitions 2 8 ( 9 partition part_1 10 values less than(to_date('2005-01-01','yyyy-mm-dd')) 11 (subpartition part_1_sub_1, 12 subpartition part_1_sub_2 13 ), 14 partition part_2 15 values less than(to_date('2006-01-01','yyyy-mm-dd')) 16 ( 17 subpartition part_2_sub_1, 18 subpartition part_2_sub_2 19 ) 20 ); 表已创建。 因此,利用组合分区,你就能把数据先按区间分解,如果认为某个给定的区间还太大,或者认为有必要做进一步的分区消除,可 以再利用散列或列表将其再做分解。有意思的是,每个区间分区不需要有相同数目的子分区;例如,假设你在对一个日期列完成 区间分区,以支持数据净化(快速而且容易地删除所有就数据)。在2004年,CODE_KEY_COLUMN值为“奇数”的数据量与 CODE_KEY_COLUMN值为“偶数”的数据量是相等的。但是到了2005年,你发现与奇数吗相关的记录数是偶数吗相关的记录数的两 倍,所以你希望对应奇数码有更多的子分区。只需定义更多的子分区,就能相当容易地做到这一点: create table composite_range_list_example 2 (range_key_column date, 3 code_key_column int, 4 data varchar2(20) 5 ) 6 partition by range(range_key_column) 7 subpartition by list(code_key_column) 8 ( 9 partition part_1 10 values less than(to_date('2005-01-01','yyyy-mm-dd')) 11 (subpartition part_1_sub_1 values(1,3,5,7), 12 subpartition part_1_sub_2 values(2,4,6,8) 13 ), 14 partition part_2 15 values less than(to_date('2006-01-01','yyyy-mm-dd')) 16 (subpartition part_2_sub_1 values(1,3), 17 subpartition part_2_sub_2 values(5,7), 18 subpartition part_2_sub_3 values(2,4,6,8) 19 ) 20 ); 表已创建。 在此,最后总共有5个分区:分区PART_1有两个子分区,分区PART_2有3个子分区。 [email protected] select * from composite_range_list_example partition(part_2); RANGE_KEY_COLU CODE_KEY_COLUMN DATA -------------- --------------- -------------------- 01-11月-05 1 data 01-11月-05 7 data 01-11月-05 2 data [email protected] update range_example 2 set range_key_column=to_date('2004-12-01','yyyy-mm-dd') 3 where range_key_column=to_date('2005-01-01','yyyy-mm-dd'); update range_example * 第 1 行出现错误: ORA-14402: updating partition key column would cause a partition change 既然知道执行这个更新时行的ROWID会改变,所以要启用行移动,这样才允许更新分区键。 注意 在其他一些情况下,ROWID也有可能因为更新而改变。更新IOT的主键可能导致ROWID改变,该行的通用ROWID(UROWID)也 会改变。Oracle 10g的FLASHBACK TABLE命令可能改变行的ROWID,此外Oracle 10g的ALTER TABLE SHRINK命令也可能使行的 ROWID改变。 要知道,执行行移动时,实际上在内部就好像先删除了这一行,然后再将其重新插入。这会更新这个表上的索引,删除旧的索引 条目,再插入一个新条目。此时会完成DELETE再加一个INSERT的相应物理工作。不过,尽管在此执行了行的物理删除和插入,在 Oracle看来却还是一个更新,因此,不会导致INSERT和DELETE触发器触发,只有UPDATE触发器会触发。另外,由于外键约束可能 不允许DELETE的子表也不会触发DELETE触发器。不过,还是要对将完成的额外工作有所准备;行移动的开销比正常的UPDATE昂贵 得多。 表分区机制小结 一般来讲,如果将数据按某个(某些)值逻辑聚集,区间分区就很有用。基于时间的数据就是这方面经典的例子,如按“销售定 额”、“财政年度”或“月份”分区。在许多情况下,区间分区都能利用分区消除,这包括使用完全相等性和区间(小于、大于 、介于…之间等)。 如果不能按自然的区间进行分区,散列分区就很合适。例如,如果必须加载一个表,其中装满与人口普查相关的数据,可能无 法找到一个合适的属性来按这个属性完成区间分区。不过,你可能还是想得到分区提供的管理、性能和可用性提升等诸多好处 。在此,只需选择惟一的一个列或几乎惟一的一个列集,对其计算散列。这样一 来,无论有多少个分区,都能得到均匀的数据 分布。使用完全相等性或IN(value,value,…)时,散列分区对象可以利用分区消除,但是使用数据区间时,散列分区则无法利 用分区消除。 如果数据中有一列有一组离散值,而且根据应用使用这一列的方式来看,按这一列进行分区很有意义(例如,这样一来,查询 中可以轻松地利用分区消除),这种数据 就很适合采用列表分区。列表分区的经典例子包括按州或区域代码分区,实际上,一 般来讲许多“代码”性属性都很适合应用列表分区。 如果某些数据逻辑上可以进行区间分区,但是得到的区间分区还是太小,不能有效地管理,就可以使用组合分区。可以先应用区 间分区,再进一步划分各个区间,按一个散列函数或使用列表来分区。这样就能将I/O请求分布到任何给定大分区中的多个磁盘 上。另外,现在可以得到3个层次的分区消除。如果在区间分区键上查询,Oracle就能消除任何不满足条件的区间分区。如果向 查询增加散列或列表键,Oracle可以消除该区间中其他的散列或列表分区。如果只是在散列或列表键上查询(而不使用区间分区 键),Oracle就只会查询各个区间分区中的这些散列或列表子分区。 如果可以按某个属性自然地对数据完成区间分区,就应该使用区间分区,而不是散列分区或列表分区。散列和列表分 区能提供分区的许多突出优点,但是在分区消除方面都不如区间分区有用。如果所得到的区间分区太大,不能很好地管理;或者 如果你想使用所有PDML功能或对一个区间分区使用并行索引扫描,则建议在区间分区中再使用散列或列表分区。 参考: Oracle.

Vyspl SBD replikace podporuj, ppadn lze pout een tetch stran i replikan logiku zajistit vlastnmi postupy.

Databzov svt ISSN: 1213-5933 Web je optimalizovn pro rozlien 1024x768, nicmn krom vtch rozlien podporujeme i 800x600. Chcete-li mt kdykoliv monost zkontrolovat obsah naeho portlu, mete vyut podporu rss. [Technologie] - Ve druhm dle rozshlho serilu o technologich Oracle se opt zamme na problematiku partitioningu.

where the parameters within [] are optional and can be omitted.

If you don’t mention the datatype, Oracle will decide it based on the result of the expression.

Shrink Segment Shrink Segment能帮助我们压缩数据段、整理数据碎片、降低高水位,以提高性能、节省空间。 有必要说明一下,row movement并不是行迁移,最大的区别是行迁移的rowid是不变的,行迁移是update 行记录时,数据块没有足够的空闲容纳数据行,Oracle将此行移到其他数据块,同时保留此行的rowid不变,并在原数据块建一指针指向新的行位置。这种情况下,读取一行数据就会访问2个数据块,增加IO,导致性能下降。 如果直接创建主键,使用的global index,当某分区被drop后,主键会失效, ALTER TABLE PHAECDA1.

TABLE1是一个常规的未分区表,而TABLE2是一个散列分区表,有8个分区: create table table1 2 ( ID, OWNER, OBJECT_NAME, SUBOBJECT_NAME, 3 OBJECT_ID, DATA_OBJECT_ID, 4 OBJECT_TYPE, CREATED, LAST_DDL_TIME, 5 TIMESTAMP, STATUS, TEMPORARY, 6 GENERATED, SECONDARY ) 7 tablespace table1 8 as 9 select ID, OWNER, OBJECT_NAME, SUBOBJECT_NAME, 10 OBJECT_ID, DATA_OBJECT_ID, 11 OBJECT_TYPE, CREATED, LAST_DDL_TIME, 12 TIMESTAMP, STATUS, TEMPORARY, 13 GENERATED, SECONDARY 14 from table_T; Table created.

uid-69924-action-viewspace-itemid-192128 当GLOBAL_NAMES参数设置为TRUE时,使用DATABASE LINK时,DATABASE LINK的名称必须与被连接库的GLOBAL_NAME一致。下面做一个测试,在测试中,创建数据库链接的库为XJ(WINDOWS 2003 ORACLE 10g 1...阅读全文摘要: 第一次打开表的时候会提示"动态执行表不可访问,本会话的自动统计被禁止"的错误,一消息如下: V$SESSION, V$SESSTAT, V$STATNAME没有被授权,授权如下: @$ORACLE_HOME/sqlplus/admin/plustrce.sqlgrant select on v_$statname to user;grant select on v_$sesstat to user;g...阅读全文摘要: 经验总结: 联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题。损坏非当前联机日志:1、启动数据库,遇到ORA-00312 or ORA-00313错误,如: ORA-00313: open failed for members of log group 4 of thread 1ORA-00312: online log 3 threa...阅读全文摘要: 关于消除temp ts暴涨的方法经常有人问temp表空间暴涨的问题,以及如何回收临时表空间,由于版本的不同,方法显然也多种多样,但这些方法显示是治标不治本的办法,只有深刻理解temp表空间快速增加的原因,才能从根本上解决temp ts的问题。是什么操作在使用temp ts? MGMT_SYSTEM...阅读全文摘要: 发现一台正式环境io偏高,抓了个statspack,命中率什么的都较为理想,突出事件是enqueue,遂直接找Enqueue activity部分查看,确定为CF类型: Eq Requests Succ Gets Failed Gets Waits Time (ms) Time (s) -- ----------...阅读全文摘要: 10g中enqueue TX等待分为4类,分别是1.

以append方式批量插入的记录,其存储位置在hwm 之上,即使hwm之下存在空闲块也不能使用。 3. 以append方式插入记录后,要执行commit,才能对表进行查询。否则会出现错误: ORA-12838: 无法在并行模式下修改之后读/修改对象 4. 在归档模式下,要把表设置为nologging,然后以append方式批量添加记录,才会显著减少redo数量。在非归档模式下,不必设置表的nologging属性,即可减少redo数量。如果表上有索引,则append方式批量添加记录,不会减少索引上产生的redo数量,索引上的redo数量可能比表的redo数量还要大。阅读全文摘要: 假设有张表,叫table1,里面有5000万行数据,假设预计全表扫描1次需要1个小时,我们从过程来看: 1、在1点钟,有个用户A发出了select * from table1;此时不管将来table1怎么变化,正确的结果应该是用户A会看到在1点钟这个时刻的内容。这个是没有疑问的。 2、在1点30分,有个用户B执行了update命令,更新了table1表中的第4000万行的这条记录,这时,用户...阅读全文摘要: 接到开发人员和业务人员的通知,说一个登陆页面不能用了,报错: 2005-01-31 ,721 [com.aspire.

Pokud tedy napklad provedeme DML operaci s jednou partition tabulky, u jejho loklnho indexu dojde ke znevalidnn pouze t partition, kter odpovd partition tabulkov.

【说明】在进行对Oralce的分区表的分区字段进行update操作的时候,就会报ORA-14402的错误,这种情况通过开启表的行移动来避免错误的发生; 【场景模拟】 1、创建分区表SCOTT. EMP_BAK CREATE TABLE EMP_BAK(EMPNO NUMBER(4), ENAME VARCHAR2(10 BYTE), JOB VARCHAR2(9 BYTE), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2), DLVL NUMBER(2))LOGGINGPARTITION BY LIST (DLVL)SUBPARTITION BY LIST (DEPTNO)(PARTITION EMP_P1 VALUES (1))( SUBPARTITION EMP1_SUB1 VALUES (10) TABLESPACE USERS, SUBPARTITION EMP1_SUB2 VALUES (20) TABLESPACE USERS, SUBPARTITION EMP1_SUB3 VALUES (30) TABLESPACE USERS ), PARTITION EMP_P2 VALUES (2)( SUBPARTITION EMP2_SUB1 VALUES (10) TABLESPACE USERS, SUBPARTITION EMP2_SUB2 VALUES (20) TABLESPACE USERS, SUBPARTITION EMP2_SUB3 VALUES (30) TABLESPACE USERS )) 2、模拟报错:对DEPTNO进行UPDATE的操作 SQL alter table scott.

ora 14402 updating partition key-34ora 14402 updating partition key-76ora 14402 updating partition key-10

摘要: 数据库版本:Oracle10.2.0.5-64节点数:2操作系统版本:centos 5.6 -64今天做awr报告发现gc buffer busy等待时间gc buffer busy This wait event, also known as global cache buffer busy prior to Oracle 10g, specifies the time the remote instance locally spends accessing the requested data block. enq: TX - contention前三种的含义比较明显,第4种是表示其它类型的transaction contention,即除了前三种之外的都包含在其中。有多种情况都可能造成enq: TX - ...阅读全文摘要: 9208,突出等待事件为buffer busy wait及cluster wait。 top,vmstat,free过后发现系统较为空闲状态,抓statspack: Cache Sizes (end)~~~~~~~~~~~~~~~~~Buffer Cache: 1,312M...阅读全文sqlplus test/[email protected] SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 3月 12 2009 Copyright (c) 1982, 2005, Oracle. 连接到: Oracle Database 10g Enterprise Edition Rel...阅读全文摘要: Mutating Tables Ok, so you've just recieved the error: ORA-04091: table XXXX is mutating, trigger/function may not see it and you want to get ...阅读全文摘要: Online 创建索引失败, ORA-08104 通过 ONLINE 参数创建索引(或者重建索引), 如果进程被突然终止,或者是手工 CTRL C 取消该操作, 在非常个别的时候,麻烦来了。重新创建索引,会告诉你该索引已经存在,drop index ,会告诉你该索引被锁,或...阅读全文摘要: 作者:刘颖博 收集整理 时间:2004年4月29日 转载请注明出处,谢谢! 1.找出无用索引: DML 性能低下,其中最严重的原因之一是无用索引的存在。所有SQL的插入,更新和删除操作在它们需要在每一行数据被改变时修改大量索引的时候会变得更慢。许多Oracle 管理人员只要看见在一个SQL 查询的WHERE语句出现了一列的话就会为它分配索引。虽然这个方法能够让SQL运行得更快速,但是基于功能的...阅读全文摘要: alter table xxx enable row movement; from asktom: It is possible to update a partition key in all releases -- what is not possible to do prior to 8i is to update the partition key in such a fashion...阅读全文摘要: 通过v$filestat和v$dbfile视图的联合查询,找出热点文件。主要是indx和USERS表空间所属的这两个文件。 今天在做性能测试的时候,发现查询TT_AUDITPURGE业务表的时候datavg的I/O占用比率很高,但由于是新release的build,且department内部release的installation guide还没有提级数据I/O优化这快儿,那么在inst...阅读全文摘要: 故障现象 2004年6月8日上午,内蒙古巴盟网通用户反映在OSS系统界面“话单查询”里查询单个用户五天的话单特别慢,查询很长时间无结果。 例如:在OSS系统界面“综合查询”内点击“收费”-〉“话单查询”,键入“用户号码,起始时间:2004-01-01 00:00:00,结束时间:2004-06-01 23:00:00”,点击查询后,IE进度条缓慢,很长时间不返回结果。 故障分析 经过分...阅读全文摘要: 产生原因: 该等待事件通常意味着一次I/O读取请求的结束。该等待事件与db file scattered read的区别请参考 诊断方法: 在会话级,查询视图V$SESSION_WAIT时如果有该事件存在,那么该视图中的...阅读全文摘要: 摘要:Oracle数据库在BOSS、客服、彩铃、短消息等产品都有广泛的应用。本文深入分析几则由于人为操作不当造成的数据库事故,并根据案例总结归纳出操作高压线和维护规则,用以指导工程师正确维护Oracle数据库,减少人为事故的发生。 背景:在日常的数据库技术支持工作中,会发现相当部分的数据库事故和人为操作不当有直接的关系。每次的新员工培训,也会用真实案例来说明和强调正确操作习惯的重要性。在强...阅读全文摘要: 今天接到一資料庫運行非常緩慢﹐登陸到主機查看alert log,發現有"Thread 1 cannot allocate new log, sequence 69271"諸多錯誤提示﹐管理員告知是standby 架構﹐首先懷疑是standby服務有問題﹐先取消遠程歸檔路徑﹐做日志切換﹐發現報錯"checkpoint not complete"﹐再進一步追蹤alert log﹐發現之前也出現了類似錯...阅读全文摘要: 1.