zoukankan      html  css  js  c++  java
  • 自动完成行迁移和行链接分析和统计脚本

    accept owner prompt " Enter the schema name to check for Row Chaining (RETURN for All): "
    promptpromptaccept table prompt " Enter the table name to check (RETURN for All tables owned by &owner): "
    promptpromptset head off serverout on term on feed off veri off echo off
    !clear
    promptdeclare
    v_owner varchar2(30);
    v_table varchar2(30);
    v_chains number;
    v_rows number;
    v_count number := 0;
    sql_stmt varchar2(100);
    dynamicCursor INTEGER;
    dummy INTEGER;
    cursor chains is
    select count(*) from chained_rows;
    cursor analyze is
    select owner, table_name
    from sys.dba_tables
    where owner like upper('%&owner%')
    and table_name like upper('%&table%')
    order by table_name;
    begin
    dbms_output.enable(64000);
    open analyze;
    fetch analyze into v_owner, v_table;
    while analyze%FOUND loop
    dynamicCursor := dbms_sql.open_cursor;
    sql_stmt := 'analyze table '||v_owner||'.'||v_table||' list chained rows into chained_rows';
    dbms_sql.parse(dynamicCursor, sql_stmt, dbms_sql.native);
    dummy := dbms_sql.execute(dynamicCursor);
    dbms_sql.close_cursor(dynamicCursor);
    open chains;
    fetch chains into v_chains;
    if (v_chains != 0) then
    if (v_count = 0) then
    dbms_output.put_line(CHR(9)||CHR(9)||CHR(9)||'<<<<< Chained Rows Found >>>>>');
    v_count := 1;
    end if;
    dynamicCursor := dbms_sql.open_cursor;
    sql_stmt := 'Select count(*) v_rows'||' From '||v_owner||'.'||v_table;
    dbms_sql.parse(dynamicCursor, sql_stmt, dbms_sql.native);
    dbms_sql.DEFINE_COLUMN(dynamicCursor, 1, v_rows);
    dummy := dbms_sql.execute(dynamicCursor);
    dummy := dbms_sql.fetch_rows(dynamicCursor);
    dbms_sql.COLUMN_VALUE(dynamicCursor, 1, v_rows);
    dbms_sql.close_cursor(dynamicCursor);
    dbms_output.put_line(v_owner||'.'||v_table);
    dbms_output.put_line(CHR(9)||'---> Has '||v_chains||' Chained Rows and '||v_rows||' Num_Rows
    in it!');
    dynamicCursor := dbms_sql.open_cursor;
    sql_stmt := 'truncate table chained_rows';
    dbms_sql.parse(dynamicCursor, sql_stmt, dbms_sql.native);
    dummy := dbms_sql.execute(dynamicCursor);
    dbms_sql.close_cursor(dynamicCursor);
    v_chains := 0;
    end if;
    close chains;
    fetch analyze into v_owner, v_table;
    end loop;
    if (v_count = 0) then
    dbms_output.put_line('No Chained Rows found in the '||v_owner||' owned Tables!');
    end if;
    close analyze;
    end;
    /
    set feed on head on
    prompt

  • 相关阅读:
    把office文档转换为html过程中的一些坑
    Win10内置应用恢复初始状态
    HTTP 错误 500.23
    关于Application.Lock和Lock(obj) 转 http://www.cnblogs.com/yeagen/archive/2012/03/01/2375610.html
    正则表达式 细节
    Python常用内置函数总结
    将Python脚本封装成exe可执行文件 转
    爬虫技能
    python之map、filter、reduce、lambda函数 转
    小细节
  • 原文地址:https://www.cnblogs.com/wcwen1990/p/6660444.html
Copyright © 2011-2022 走看看