扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、查看表空间的大小,首先我们要登录到oracle数据库,我们要使用管理员的身份登录,因为管理员的权限要相对的大一些。
为永清等地区用户提供了全套网页设计制作服务,及永清网站建设行业解决方案。主营业务为成都网站建设、网站设计、永清网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
2、登录到数据库之后,我们要在侧边栏找到dataspace这个文件夹,这个文件夹下存放的就是我们管理员可以管理的所有的表空间的名称。
3、根据dataspace文件夹下的内容名称,选择我们想要看的表空间,使用右键点击的方式,选择右键显示中的属性按钮。
4、进入到属性表之后,我们可以看到当前表空间的许多属性,其中有个属性叫做segment space management的选项,当这个选项的值为auto的时候,表示当前表空间是可以自增长的,否则就是固定大小的。
看创建时间吧,可以用一个伪劣来看,ORA_ROWSCN,这个代表记录的变动
select ORA_ROWSCN,t.* from table t
可以用SCN_TO_TIMESTAMP(ora_rowscn)这个函数来看到ora_rowscn所代表的变动点,也就是时间
1、增量,也就是要看整个库增加了多少条数据,
(1)Oracle 查 dba_tables视图,里面有NUM_ROWS , SUM一下,早一次,晚一次,不过这个只是在大概的数据,不是100%准;
(2)SQL Server 查sys.partitions视图,里面有ROWS,比ORACLE准一点。
2、访问量,这个实现不了,访问量是没有数据的,现在都用的连接池,谁知道真正的访问量。
用具有dba权限的用户,执行下面的命令,查询目前表空间的使用率
select
*
from
dba_tablespace_usage_metrics;
可以将这个查询结果每天保存一次,就能观察到表空间的增长状况了。
一、创建一个表
create table A
(
TABLE_NAME VARCHAR2(200),
COUNT_NUM NUMBER
)
二、创建一个存储过程
create or replace procedure tj_data as
-- 当前存储过程用到的变量
v_tableName VARCHAR2(100);
v_sql varchar2(200);
v_count integer;
-- 获取当前数据库中的所有表
CURSOR TABLE_LOOP IS SELECT Table_name FROM User_tables;
begin
-- 打开游标
delete from A;
OPEN TABLE_LOOP;
LOOP
FETCH TABLE_LOOP INTO v_tableName;
EXIT WHEN TABLE_LOOP %NOTFOUND;
v_sql:= 'select count(1) from '||v_tableName;
execute immediate v_sql into v_count;
insert into a values (v_tableName,v_count);
END LOOP;
CLOSE TABLE_LOOP;
end;
三、查出表数据不同的信息
select * from (
select t.table_name,t.num_rows from dba_tab_statistics t where t.owner='表空间' and table_name !='A' and t.table_name in (
SELECT Table_name FROM User_tables)) B,A where a.table_name=b.table_name
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流