日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 流白浆视频 | 国产成人亚洲精品无码h在线 | 色老头一区二区三区 | 国产色爱 | 91视频在线观看视频 | 欧美中文字幕一区二区三区 | 免费观看毛片 | 久草免费资源 | 国产亚洲欧美视频 | 国语对白永久免费 | 打美女白嫩屁屁网站 | 亚洲图片在线 | 中文字幕在线视频免费观看 | 亚洲欧美日韩天堂 | 国产又粗又猛又黄又爽的视频 | 操网站 | 日韩久久网 | av动漫网站 | 成人毛片观看 | 嫩模一区 | 玖玖成人| 在线天堂一区 | 久久福利精品 | 国产精品福利影院 | 国产在线成人 | 久久99一区二区 | 国产精品传媒麻豆hd | av在线播放网址 | 国产精品亚洲视频 | 毛片com | 亚洲成人免费观看 | 精品国产一区在线观看 | 亚洲一区第一页 | 大桥未久av一区二区三区中文 | 国产主播福利在线 | 在线观看高清av | 在线观看福利网站 | 97视频国产| 久久综合国产精品 | 日韩男女视频 | 91国在线啪 | 无码人妻精品一区二区 | 四虎影视免费观看 | 精品午夜视频 | 亚洲国产精品久久久久婷婷老年 | 超碰人人99 | 欧美精品久久久久a | 精品国产99一区二区乱码综合 | 一久久 | 影音先锋中文字幕在线播放 | av不卡免费在线观看 | 91福利在线免费观看 | 日本少妇网站 | 亚洲免费黄色 | 欧洲毛片| 久久婷五月天 | 一级黄色片看看 | 欧美日韩一区二区三区在线 | 日韩av一卡 | 香蕉视频一级片 | 成人欧美一区二区三区黑人一 | 天天操夜夜爽 | 性爱免费在线视频 | 四虎毛片 | 又黄又爽又色视频 | 久久免费毛片 | 精品视频在线播放 | 天堂在线中文 | 久久橹| 狠狠gao| 成年免费视频黄网站在线观看 | 日色网站 | 涩涩网站入口 | 免费看的av | 色88久久久久高潮综合影院 | 国产精品视频专区 | 欧洲视频一区 | 国产剧情av在线 | 豆花av| 人妻互换免费中文字幕 | 日韩欧美精品中文字幕 | 521av在线 | 欧美1区| 岛国中文字幕 | 中文字幕av专区dvd | 色av色| 国产激情久久久久久熟女老人av | 亚洲视频手机在线观看 | 在线观看欧美一区 | 欧美性猛交xxxx乱大交 | 国产日比视频 | 日韩性xxx| 激情 亚洲 | 波多野结衣人妻 | 精品熟妇一区二区三区 | 制服丝袜中文字幕在线 | 亚洲一道本 | 丰满岳乱妇一区二区三区 | 日日夜夜精品免费视频 |