[20221216]建立修改表字段统计信息modcol.sql脚本.txt --//最近经常要修改表字段统计信息,需要一个修改表字段的统计信息的脚本,建立如下: $ cat modcol.sql set verify off set termout off column v_owner new_value v_owner column v_table new_value v_table select upper(CASE WHEN INSTR('&1','.') > 0 THEN SUBSTR('&1',INSTR('&1','.')+1) ELSE '&1' END ) v_table, nvl(upper(CASE WHEN INSTR('&1','.') > 0 THEN UPPER(SUBSTR('&1',1,INSTR('&1','.')-1)) ELSE user END),user) v_owner from dual; set termout on prompt prompt input argument list : owner.table_name column_name column_stat_attribute value prompt prompt column_stat_attribute = density distcnt nullcnt avgclen prompt prompt @desc_proc sys dbms_stats set_column_stats prompt prompt exec dbms_stats.SET_COLUMN_STATS('&v_owner','&v_table','&2',&3=>&4,NO_INVALIDATE=>false,force=>true);; prompt pause press enter to continue ... exec dbms_stats.SET_COLUMN_STATS('&v_owner','&v_table','&2',&3=>&4,NO_INVALIDATE=>false,force=>true); prompt 1.测试环境: SCOTT@test01p> @ver1 PORT_STRING VERSION BANNER CON_ID ------------------------------ -------------- -------------------------------------------------------------------------------- ---------- IBMPC/WIN_NT64-9.1.0 12.2.0.1.0 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0 2.测试: SCOTT@test01p> @ tab_lh scott empx '' DISPLAY TABLE_NAME OF COLUMN_NAME INFORMATION. INPUT OWNER TABLE_NAME COLUMN SAMPLE : @ TAB_LH TABLE_NAME [COLUMN_NAME] IF NOT INPUT COLUMN_NAME ,USE "" . COLUMN_NAME DATA_TYPE DATA_LENGTH N NUM_DISTINCT DENSITY SAMPLE_SIZE Low_value High_value NUM_NULLS NUM_BUCKETS LAST_ANALYZED HISTOGRAM DATA_DEFAULT ----------- ------------- ----------- - ------------ ---------- ----------- ---------- ----------- --------- ----------- ------------------- --------------- -------------------- EMPNO NUMBER 22 Y 14 .071428571 14 7369 7934 0 1 2022-10-10 20:40:34 NONE ENAME VARCHAR2 10 Y 14 .071428571 14 ADAMS WARD 0 1 2022-10-10 20:40:34 NONE JOB VARCHAR2 9 Y 5 .2 14 ANALYST SALESMAN 0 1 2022-10-10 20:40:34 NONE MGR NUMBER 22 Y 6 .166666667 13 7566 7902 1 1 2022-10-10 20:40:34 NONE HIREDATE TIMESTAMP(6) 11 Y 13 .076923077 14 0 1 2022-10-10 20:40:34 NONE SAL NUMBER 22 Y 12 .083333333 14 800 5000 0 1 2022-10-10 20:40:34 NONE COMM NUMBER 22 Y 4 .25 4 0 1400 10 1 2022-10-10 20:40:34 NONE DEPTNO NUMBER 22 Y 3 .333333333 14 10 30 0 1 2022-10-10 20:40:34 NONE 8 rows selected. SCOTT@test01p> @ modcol scott.empx comm nullcnt 9 input argument list : owner.table_name column_name column_stat_attribute value column_stat_attribute = density distcnt nullcnt avgclen @desc_proc sys dbms_stats set_column_stats exec dbms_stats.SET_COLUMN_STATS('SCOTT','EMPX','comm',nullcnt=>9,NO_INVALIDATE=>false,force=>true); press enter to continue ... PL/SQL procedure successfully completed. SCOTT@test01p> @ modcol scott.empx comm density 0.251 input argument list : owner.table_name column_name column_stat_attribute value column_stat_attribute = density distcnt nullcnt avgclen @desc_proc sys dbms_stats set_column_stats exec dbms_stats.SET_COLUMN_STATS('SCOTT','EMPX','comm',density=>0.251,NO_INVALIDATE=>false,force=>true); press enter to continue ... PL/SQL procedure successfully completed. SCOTT@test01p> @ tab_lh scott empx comm DISPLAY TABLE_NAME OF COLUMN_NAME INFORMATION. INPUT OWNER TABLE_NAME COLUMN SAMPLE : @ TAB_LH TABLE_NAME [COLUMN_NAME] IF NOT INPUT COLUMN_NAME ,USE "" . COLUMN_NAME DATA_TYPE DATA_LENGTH N NUM_DISTINCT DENSITY SAMPLE_SIZE Low_value High_value NUM_NULLS NUM_BUCKETS LAST_ANALYZED HISTOGRAM DATA_DEFAULT ----------- --------- ----------- - ------------ ---------- ----------- --------- -------------------- ----------- ------------------- --------------- -------------------- COMM NUMBER 22 Y 4 .251 4 0 1400 9 1 2023-01-17 21:56:12 NONE --//ok!!
[20221216]建立修改表字段统计信息modcol.sql脚本.txt
来源:这里教程网
时间:2026-03-03 18:20:08
作者:
编辑推荐:
- [20221216]建立修改表字段统计信息modcol.sql脚本.txt03-03
- [20221216]建立修改表统计信息minmaxtab.sql脚本.txt03-03
- [20221216]建立修改表统计信息modtab.sql脚本.txt03-03
- [20221227]19c LISTAGG Enhancements.txt03-03
- [20221222]How to Enable and Disable Database Options in oracle 11g.txt03-03
- [20221227]Adaptive Cursor Sharing & 直方图.txt03-03
- ORACLE数据库降低高水位线方法03-03
- [20221227]a mutating table error without a trigger!.txt03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- LINUX 环境 mysql to oracle OGG安装配置
LINUX 环境 mysql to oracle OGG安装配置
26-03-03 - OGG11G升级至12C文档
OGG11G升级至12C文档
26-03-03 - cursor:pin S wait on X故障诊分析
cursor:pin S wait on X故障诊分析
26-03-03 - OGG12c卸载步骤说明
OGG12c卸载步骤说明
26-03-03 - oracle安装包遇到Error: Package: gcc-4.8.5-11.el7.x86_64 (base)问题
- 收购淘米后,MMV加速走向迪士尼式IP开发之旅
收购淘米后,MMV加速走向迪士尼式IP开发之旅
26-03-03 - 百万国产豪车占坑,比亚迪终于还是忍不住了
百万国产豪车占坑,比亚迪终于还是忍不住了
26-03-03 - 盘点办公中所需的5款电脑软件
盘点办公中所需的5款电脑软件
26-03-03 - oracle 21c创建非OMF文件命名格式的PDB
oracle 21c创建非OMF文件命名格式的PDB
26-03-03 - 【ASK_ORACLE】因process用尽导致的rac重启的解决方法
【ASK_ORACLE】因process用尽导致的rac重启的解决方法
26-03-03
