一个统计Oracle中所有应用表记录数的例子
2008-08-07 17:41
555 查看
通常开发人员很少关注表数据量的大小的Impact,但是设计者和DBA就需要实时监测数据的大小对系统的Impact,说到底就是对Oracle DB Instance的负荷量的估算。举个例子,我们在设计的时候需要估算出一定的数据量需要多大的Tablespace,包括Data的Tablespace,Index的Tablespace,Archive Log的Tablespace(这个需要一个有经验的DBA根据实际用户的使用Transaction数据来进行估算),而DBA则需要这些数据来对后续的测试及上线进行监测,有可能需要么动态调整DB Size以满足Performance的要求。那么统计表数据的Utilities就起作用了(有点扯远了,反正就是一个能统计应用级所有表记录数啦)。
create or replace procedure count_table_stat
as
record_number INTEGER;
schema_name varchar2(20);
table_name varchar2(20);
BEGIN
FOR target_table IN (SELECT owner,table_name FROM all_tables where owner not in ('SYS','SYSTEM','CTXSYS','PERFSTAT','WMSYS','EXFSYS','SYSMAN')) LOOP
schema_name := target_table.owner;
table_name := target_table.table_name;
EXECUTE IMMEDIATE 'select count(*) from ' || target_table.owner||'.'||'"'||target_table.table_name||'"' || '' into record_number;
dbms_output.put_line('record number is ' || record_number);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SQLERRM);
RAISE;
commit;
end;
从而可以根据现有的data数量和db size的使用情况做出估算,当数量达到某个极限值的时候,db size多大才能够cater这种情况,这个是Designer和DBA所需要时刻关注的。
create or replace procedure count_table_stat
as
record_number INTEGER;
schema_name varchar2(20);
table_name varchar2(20);
BEGIN
FOR target_table IN (SELECT owner,table_name FROM all_tables where owner not in ('SYS','SYSTEM','CTXSYS','PERFSTAT','WMSYS','EXFSYS','SYSMAN')) LOOP
schema_name := target_table.owner;
table_name := target_table.table_name;
EXECUTE IMMEDIATE 'select count(*) from ' || target_table.owner||'.'||'"'||target_table.table_name||'"' || '' into record_number;
dbms_output.put_line('record number is ' || record_number);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SQLERRM);
RAISE;
commit;
end;
从而可以根据现有的data数量和db size的使用情况做出估算,当数量达到某个极限值的时候,db size多大才能够cater这种情况,这个是Designer和DBA所需要时刻关注的。
相关文章推荐
- oracle中某列连续相同值的记录数统计(一个简单的例子)
- oracle中某列连续相同值的记录数统计(一个简单的例子)
- oracle中某列连续相同值的记录数统计(一个简单的例子)
- 统计一个数据库中所有表的总记录条数
- oracle中所有表记录数统计
- 统计一个数据库中所有表记录的数量
- Oracle中统计所有的表中的记录数
- 统计一个数据库中所有表的总记录条数
- 把数据库中的所有记录以一个特定格式的字符显示出来的一个例子
- Oracle 数据库基础学习 (二) 学习小例子:创建一个表,记录商品买卖的情况
- 一个sql例子,分组,查询,统计等操作,老忘记,记录一下
- 输出Bag中的所有记录为一个json数组---精通android、IOS App应用服务程序开发
- SQL:统计一个数据库中所有表记录的数量
- Oracle统计某用户下所有的表的记录数
- Oracle存储过程,统计Oracle当前用户下所有表中的记录数
- 统计ORACLE当前用户下所有表中的记录数
- 统计Oracle当前用户下所有表中的记录数
- SQL 统计一个数据库中所有表记录的数量
- .Net GridView 应用:Gridview有一个CheckBox列,在用了分页的情况下,如何取出用户选择的所有记录id