网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle和mysql 的一些简单命令对.
.如何查看各个表空间占用磁盘情况.
.Weblogic访问oracle的三种JDBC方.
.如何临时增加交换空间.
.Fravo Oracle 1Z0-147 v1.0.
.用来在硬件上部署管理应用程序Or.
.RedHatLinux AS3 U2 安装 oracle.
.使用 Window 脚本宿主自动化 Ora.
.编写一个接受变量的存储过程.
.oracle性能调校.
.ORACLE中几种的数据类型的用法以.
.用JAVA实现ORACLE数据库的文件上.
.Oracle初级用户必须了解的ORA-01.
.v$logmnr_content create statem.
.Qmail如何设置接收发给其他主机的.
.Oracle8i在linux下的安装(中文).
.数据库链应用实例:将一台机器的.
.如何才能在同一台机器配置两个li.
.Oracle高级复制.
.基于成本的优化器 — 一般错误概.

Oracle 10g分区表维护中的两个注意事项

发表日期:2008-4-30


Oracle 10g分区表维护中的两个注意事项:

1.全局索引

SQL> alter table analyse_content truncate subpartition DATA0712_DEYANG;

Table truncated

truncate分区后,修改或者插入数据报错:

ORA-01502: index 'phs.pk' or partition of such index is in unusable state

这个时候只能rebuild index

SQL> alter index phs.pk rebuild;

Index altered

执行以后恢复正常,或者使用如下语句:

SQL> alter table analyse_content truncate subpartition DATA0712_ZIGONG UPDATE

GLOBAL INDEXES;

Table truncated

这样它会自动恢复索引。

2.物化视图

对于已经建有fast refresh view的分区表来说,truncate和drop分区/表会导致物化视图出错。

SQL> alter table analyse_content drop subpartition DATA0712_MIANYANG;

Table altered

SQL> alter table analyse_content truncate subpartition DATA0712_LUZHOU;

Table truncated

再次查询物化视图,这个两个分区的数据仍然存在,说明物化视图不能对这种DDL语句进行更新。

尝试在基础表插入数据,报错:

ORA-32313: REFRESH FAST of " " unsupported after PMOPs

这时候必须手工刷新MV

SQL> exec dbms_mview.refresh('mv_analyse_content','f');

begin dbms_mview.refresh('mv_analyse_content','f'); end;

ORA-32313: PMOP 之后不支持 "PHS"."MV_ANALYSE_CONTENT" 的 REFRESH FAST

ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2255

ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2461

ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2430

ORA-06512: 在 line 1

看来快速刷新'f'是不行,还是得完全刷新'c'

SQL> exec dbms_mview.refresh('mv_analyse_content','c');

PL/SQL procedure successfully completed

执行完后,MV里面的数据恢复正常,基表不再报错。

实际10g里面,truncate分区后,某些物化视图可以执行fast refresh,具体有很多限制,

要查询doc,反正select * from table这种视图肯定可以'f',不过却没有什么意义。

---2008 04 22 在doc上找到了PCT特性的限制,如下:

At least one of the detail tables referenced by the materialized view must be

partitioned.

Partitioned tables must use either range, list or composite partitioning.

The top level partition key must consist of only a single column.

The materialized view must contain either the partition key column or a partition

marker or ROWID or join dependent expression of the detail table. See Oracle

Database PL/SQL Packages and Types Reference for details regarding the DBMS_

MVIEW.PMARKER function.

If you use a GROUP BY clause, the partition key column or the partition marker or

ROWID or join dependent expression must be present in the GROUP BY clause.

If you use an analytic window function or the MODEL clause, the partition key

column or the partition marker or ROWID or join dependent expression must be

present in their respective PARTITION BY subclauses.

Data modifications can only occur on the partitioned table. If PCT refresh is being

done for a table which has join dependent expression in the materialized view,

then data modifications should not have occurred in any of the join dependent

tables.

The COMPATIBILITY initialization parameter must be a minimum of 9.0.0.0.0.

PCT is not supported for a materialized view that refers to views, remote tables, or

outer joins.

PCT-based refresh is not supported for UNION ALL materialized views.

对于海量数据库,如果不能使用DROP分区,则delete相当慢。

如果使用了,又会导致完全刷新MV,同样慢。

在物化视图的时候要认真考虑PCT特性。

对于分区表 已经相关索引,快照的维护,建议还是参考Oracle的DOC,在admin guide和

dataware house guide里有非常完善描述。虽然没有涉及internal,但完全可以满足应用。

上一篇:循序渐进讲解Oracle数据库的Hash join 人气:816
下一篇:Oracle 9i和10g安装后的基本环境与服务 人气:2481
浏览全部Oracle 10g的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐