日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cmds在线重定义增加列

發(fā)布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cmds在线重定义增加列 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
--輸出信息采用縮排或換行格式化EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'PRETTY', TRUE);--確保每個語句都帶分號EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'SQLTERMINATOR', TRUE);--關(guān)閉表索引、外鍵等關(guān)聯(lián)(后面單獨(dú)生成)EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'CONSTRAINTS', FALSE);EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'REF_CONSTRAINTS', FALSE);EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'CONSTRAINTS_AS_ALTER', FALSE);--關(guān)閉存儲、表空間屬性EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'STORAGE', FALSE);EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'TABLESPACE', FALSE);--關(guān)閉創(chuàng)建表的PCTFREE、NOCOMPRESS等屬性EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'SEGMENT_ATTRIBUTES', FALSE);
Oracle數(shù)據(jù)庫操作中,假如在原始表TB_HXL_USER上新增字段remark01,默認(rèn)值為'A',但是由于該表的數(shù)據(jù)量比較大,直接在原表上新增字段,執(zhí)行的時間特別長,最后還報出了undo空間不足的問題。而且在新增字段的過程中,其他用戶還不能訪問該表,出現(xiàn)的等待事件是library cache lock。下面試著通過在線重定義的方法新增字段,能夠避免undo空間不足以及其他用戶不能訪問該表的情況。
1.使用如下SQL獲取原始表的DDL設(shè)置分隔符號以及去掉表DDL中的storage屬性
SELECT DBMS_METADATA.GET_DDL(OBJECT_TYPE => 'TABLE', NAME => 'INSURED') || ?DBMS_METADATA.GET_DEPENDENT_DDL(OBJECT_TYPE => 'INDEX',BASE_OBJECT_NAME => 'INSURED') || ?DBMS_METADATA.GET_DEPENDENT_DDL(OBJECT_TYPE => 'CONSTRAINT',BASE_OBJECT_NAME => 'INSURED' ) || ?DBMS_METADATA.GET_DEPENDENT_DDL('OBJECT_GRANT', 'INSURED', 'CMDS') ?FROM DUAL;
begin ?Dbms_Metadata.Set_Transform_Param(Dbms_Metadata.Session_Transform,'SQLTERMINATOR',True); ?Dbms_Metadata.Set_Transform_Param(Dbms_Metadata.Session_Transform,'STORAGE',False); ?end;/

提取表,索引,約束以及權(quán)限的語句。Select Dbms_Metadata.Get_Ddl(Object_Type => 'TABLE', Name => 'INSURED') || ?Dbms_Metadata.Get_Dependent_Ddl(Object_Type => 'INDEX', ?Base_Object_Name => 'INSURED')?From Dual ;
2.將步驟1 SQL中的表名TB_HXL_USER 替換為TB_HXL_USER_MID 創(chuàng)建中間表
3.中間表新增字段 remark01alter table insured_MID add remark01 varchar2(10) default 'A';?4.檢查能否進(jìn)行重定義,過程執(zhí)行成功即說明可以重定義beginDBMS_REDEFINITION.CAN_REDEF_TABLE('cmds','insured',DBMS_REDEFINITION.CONS_USE_rowid);end;/

beginDBMS_REDEFINITION.CAN_REDEF_TABLE('cmds','insured_mid',DBMS_REDEFINITION.CONS_USE_rowid);end;/

5.開始重定義表
注意:如原始表有未提交的事物,該過程會一直在等待,等待事件為enq: TX - row lock contention。不能執(zhí)行start_redef_table的情況下,需要將如下權(quán)限賦予用戶。grant create any table to hxl; ?grant alter any table to hxl; ?grant drop any table to hxl; ?grant lock any table to hxl; ?grant select any table to hxl; ?grant create any trigger to hxl; ?grant create any index to hxl;?
運(yùn)行start_redef_table過程
SQL> BEGIN ?dbms_redefinition.start_redef_table(uname => USER,orig_table => 'insured', int_table => 'INSURED_MID', options_flag => DBMS_REDEFINITION.cons_use_rowid);?END;?/如果有主鍵則是options_flag => DBMS_REDEFINITION.cons_use_pk,如果沒有DBMS_REDEFINITION.cons_use_rowid ?
6.開始同步中間表BEGIN ?dbms_redefinition.sync_interim_table(uname => 'CMDS',orig_table => 'INSURED',int_table => 'INSURED_MID'); ?END;/

7.完成同步注意:如原始表有未提交的事物,該過程會一直在等待BEGIN ?dbms_redefinition.finish_redef_table(uname => 'CMDS',orig_table => 'INSURED',int_table => 'INSURED_MID'); ?END;/

8.刪除中間表drop table insured_mid;9.修改索引名稱alter index IDX_INSURED_NO_mid rename to?IDX_INSURED_NO; ?alter index IDX_INSURED_INDEX_mid rename to?IDX_INSURED_INDEX;?
執(zhí)行完以上的9個步驟,新增字段就創(chuàng)建成功了。

轉(zhuǎn)載于:https://www.cnblogs.com/wangrongxin/p/6654009.html

總結(jié)

以上是生活随笔為你收集整理的cmds在线重定义增加列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲AV午夜福利精品一级无码 | 亚洲a中文字幕 | 手机av网 | 国产精品久久av无码一区二区 | 公侵犯人妻一区二区 | 黄色一级视频免费看 | 午夜香蕉网 | 波多野久久 | 成人激情四射网 | av中文字幕第一页 | 免费美女av | 久久精品国产亚洲av久一一区 | 91视频官网 | 99ri精品 | 丝袜调教91porn | 日日夜夜草 | 午夜在线你懂的 | 久久人人爽人人爽人人片av免费 | 就去干成人网 | 婷婷深爱五月 | 黄色资源在线播放 | 婷婷色av| 天堂影视在线观看 | 法国空姐在线观看免费 | 黄色av成人 | 樱花视频在线免费观看 | 穿扒开跪着折磨屁股视频 | 亚洲在线免费观看视频 | 少妇特殊按摩高潮惨叫无码 | 在线色图| 午夜小视频免费 | 男性裸体全身精光gay | 欧美一级专区免费大片 | av导航大全 | 特黄特色特刺激免费播放 | 二三区视频 | 国产精品久久久久久亚洲毛片 | 国产真实交换夫妇视频 | 大白屁股一区二区视频 | 97福利社| 免费天堂av | 妖精视频一区二区 | 久久av免费观看 | 国产va在线观看 | 国内精品国产成人国产三级 | 日韩欧美激情 | 国产大片一区 | 日日久| 久久永久免费视频 | 黄色小视频免费观看 | av男人的天堂在线观看 | 国产123在线| 免费在线看黄网站 | 天天玩天天操 | 天天操天天操天天操天天操天天操 | 人人干人人干人人干 | 国产av日韩一区二区三区精品 | 国产精品一区二区av日韩在线 | www.婷婷| 国产一区二区精品在线 | 国产视频在线观看一区二区 | 色av色 | 永久免费精品 | 性久久久久久久久 | 国产黑丝在线观看 | 欧美色视频一区二区三区 | 日本一区不卡 | 2019狠狠干| 精品麻豆视频 | 日韩高清在线观看一区 | 欧美国产精品久久 | 中文字幕在线播放一区二区 | 日本午夜小视频 | 国产成人在线一区 | 黄色在线观看网址 | 欧美一区二区三区久久综合 | 伊人222成人综合网 亚洲日本中文 | 日本高清视频免费观看 | 美女18毛片 | 日本一区二区在线观看视频 | 久久免费看 | 五月天精品 | 久久国产三级 | 欧美大尺度做爰啪啪床戏明星 | 成人自拍视频在线观看 | 日韩欧美猛交xxxxx无码 | 韩国三级久久 | 久久综合一区二区三区 | 日韩在线影院 | 日本黄色小视频 | 九色91在线 | 婷婷成人综合 | 精品人妻少妇嫩草av无码专区 | 精品美女www爽爽爽视频 | 亚洲精品一区二区三区婷婷月 | 超碰女人 | 麻豆蜜桃wwww精品无码 | 欧美理论片在线观看 | 久久精品视频1 |