动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
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教程 ]的信息



本月文章推荐
.显式游标范围大小和复杂间隔的相.
.Oracle XML学习笔记-存储XML数据.
.oracle为什么这么慢.
.如何收集sql跟踪信息.
.Oracle9i中MERGE的用法.
.Oracle可传输表空间实现跨平台移.
.查看各种对象的SQL.
.Oracle&Linux--完美的组合.
.Oracle初学点滴-(2)-OracleOraHo.
.ZT-Statspack安装配置使用说明二.
.ORACLE备份&恢复案例--ORACLE BA.
.将PENDING OFFLINE状态的回滚段O.
.建立Oracle的审计机制.
.Oracle数据库用VPD来确保信息的隐.
.ORACLE在HP-UX下的系列问题处理(.
.在Oracle数据库中连接异种数据源.
.带你走进Oracle数据安全的世界一.
.Linux之菜鸟日记(三).
.看看葫芦里的药 ORACLE性能调优原.
.简单说两句Like的优化.

9i新特性之——在线表格重定义研究5

发表日期:2008-2-9 |


    9、所有的工作都预备完成,我们执行重构完成的过程,这个过程将执行表的交换。 SQL> execute DBMS_REDEFINITION.FINISH_REDEF_TABLE('MYTEST','TEST', 'INT_TEST');
PL/SQL procedure sUCcessfully completed     我们还是往test表中插入数据,将有什么结果呢? SQL> insert into test values(103,1);
1 row inserted SQL> select count(*) from test;
        103 SQL> select count(*) from int_test;
        102 SQL> select * from mlog$_test;
select * from mlog$_test
ORA-00942: table or view does not exist SQL> select * from rupd$_test;
select * from rupd$_test
ORA-00942: table or view does not exist SQL> select c from audit_test;
104     可以看到,这里的触发器执行的是以前在ini_test(中间表)上的触发器。上一次是102,这次是104。     这里发生了一个很有趣的转换,其实整个核心就是这里,Oracle这里完成了表test到int_test的表换名的工作,只是所有的约束、索引或触发器名称还是保持了原来的名称 SQL> select t.index_name,t.table_name from user_indexes t;
INT_TEST_PK                    TEST
PK_TEST_ID                     INT_TEST SQL> select t.trigger_name,t.table_name from user_triggers t;
TR_INT_TEST                    TEST
TR_TEST                        INT_TEST     我们检查对象权限 SQL> select * from USER_TAB_PRIVS_MADE;
SYSTEM  INT_TEST   MYTEST  SELECT   NO        NO
SYSTEM  INT_TEST   MYTEST  DELETE
SYSTEM  TEST       MYTEST     SELECT    NO        NO
SYSTEM  TEST       MYTEST     UPDATE
    这里可以看到,对于所有数据字典中的这两个名称,其实是完成了一个表的名字对换的过程,所以对于原表的特性,我们必须在新表中给予相同的特性,这样才能真正的转换到新的表。     10、大功告成,我们可以删除中间表,并且有可能的话,修改约束,索引,触发器的名称与原来一致,假如你认为不重要,可以不予修改。 SQL> drop table int_test;
Table dropped     假如是92以上版本,我们可以对索引,约束换名,但是以下版本,最好就是删除重新建立了     假如运行了START_REDEF_TABLE 过程开始,我们就必须运行     dbms_redefinition.abort_redef_table('MYTEST','TEST','INT_TEST');来终止整个重构过程,到这里,就算是完了。 SQL> select object_name, object_type, status, object_id, data_object_id from user_objects order by 4; OBJECT_NAME                                                                      OBJECT_TYPE        STATUS  OBJECT_ID DATA_OBJECT_ID
-------------------------------------------------------------------------------- ------------------ ------- --------- --------------
AUDIT_TEST   TABLE               VALID       33579        33579
TEST          TABLE               VALID       33582
TEST          TABLE PARTITION    VALID       33583          33589
TEST          TABLE PARTITION    VALID       33584          33590
TEST          TABLE PARTITION    VALID       33585          33591
TEST          TABLE PARTITION    VALID       33586          33592     6 rows selected     看到这里,你也应该相信转换已经完成了吧,现在是分区表了。     总结:     本文不想从大的框架上来说明问题,而是用一些例子来说明问题     这样可能会更让大家明白其中发生的一切。     这里尽量的模拟了实际可能会碰到的情况。     如约束,索引,触发器,对象权限,这个在重新定义的时候需要注重什么,需要我们手工完成什么
    外键约束这里没有举例说明,其实与普通约束一样,只是在中间表上建立外键约束的时候,最好先禁止掉(DISABLE),等完成之后再打开。     其实主要过程就是完成了一个表的记录的拷贝(通过快照),最后在数据字典中换名的工作。
上一篇:Oracle笔记-自治事务 人气:514
下一篇:oracle触发器介绍 人气:1123
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号