查看表空间大小

合集下载

【总结】Oracle数据库查看表空间和增加表空间

【总结】Oracle数据库查看表空间和增加表空间

【总结】Oracle数据库查看表空间和增加表空间⼀、Oracle查看表空间的名称及其⼤⼩查看表空间的名称及其⼤⼩的SQL语句:select t1.tablespace_name,round(sum(bytes/(1024*1024)),0) tablespace_Size_MBfrom dba_tablespaces t1, dba_data_files t2where t1.tablespace_name = t2.tablespace_namegroup by t1.tablespace_name;查询结果:TABLESPACE_NAME TABLESPACE_SIZE_MB------------------------------ ------------------DLOTTEY 276480SYSAUX 48450UNDOTBS1 20000INDEXMT 10240USERS 1041SYSTEM 10240UNDOTBS2 20000MMLOTTERY 2150408 rows selected.⼆、Oracle查看表空间的具体使⽤情况⽅法1:(未排序)select a.tablespace_name "tablespace_name",totalspace "totalspaceM",freespace "freespaceM",round((1-freespace/totalspace)*100,2) "round%"from(select tablespace_name,round(sum(bytes)/1024/1024) totalspace from dba_data_files group by tablespace_name) a,(select tablespace_name,round(sum(bytes)/1024/1024) freespace from dba_free_space group by tablespace_name) bwhere a.tablespace_name=b.tablespace_name;查询结果:tablespace_name totalspaceM freespaceM round%------------------------ ----------- ---------- ----------DLOTTEY 276480 232415 15.94SYSAUX 48450 9683 80.01UNDOTBS1 20000 19741 1.3INDEXMT 10240 10024 2.11USERS 1041 138 86.74SYSTEM 10240 4344 57.58UNDOTBS2 20000 19601 2MMLOTTERY 215040 36279 83.138 rows selected.⽅法⼆:(查询结果排序) select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"from(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) bwhere a.tablespace_name=b.tablespace_nameorder by ((a.bytes-b.bytes)/a.bytes) desc;查询结果:TABLESPACE_NAME Sum MB used MB free MB percent_used---------------------- ---------- ---------- ---------- ------------USERS 1041.25 903.375 137.875 86.76MMLOTTERY 215040 178761 36279 83.13SYSAUX 48450 38767 9683 80.01SYSTEM 10240 5896.125 4343.875 57.58DLOTTEY 276480 44065.4375 232414.563 15.94INDEXMT 10240 215.625 10024.375 2.11UNDOTBS2 20000 399.3125 19600.6875 2UNDOTBS1 20000 257.5 19742.5 1.298 rows selected.三、Oracle查看表空间物理⽂件的名称及⼤⼩set lines 150;col tablespace_name for a20;col file_name for a60;1、查询所有的表空间SQL语句:select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space_MBfrom dba_data_filesorder by tablespace_name;2、查询指定的表空间SQL语句:select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space_MBfrom dba_data_fileswhere tablespace_name = 'MMLOTTERY'order by tablespace_name;查询结果:TABLESPACE_NAME FILE_ID FILE_NAME TOTAL_SPACE_MB------------------- ---------- ------------------------------------------- --------------MMLOTTERY 18 +DATA/ora11g/datafile/mmlottery01.dbf 30720MMLOTTERY 19 +DATA/ora11g/datafile/mmlottery02.dbf 30720MMLOTTERY 20 +DATA/ora11g/datafile/mmlottery03.dbf 30720MMLOTTERY 22 +DATA/ora11g/datafile/mmlottery04.dbf 30720MMLOTTERY 23 +DATA/ora11g/datafile/mmlottery05.dbf 30720MMLOTTERY 26 +DATA/ora11g/datafile/mmlottery06.dbf 30720MMLOTTERY 27 +DATA/ora11g/datafile/mmlottery07.dbf 307207 rows selected.四、Oracle查看表真实占⽤的空间SQL语句:select t.owner,t.segment_name,t.segment_type,sum(t.bytes/1024/1024) used_MBfrom dba_segments twhere owner = 'MMLOTTERY'group by owner,segment_name,segment_typeorder by used_MB desc;查询结果:OWNER SEGMENT_NAME SEGMENT_TYPE USED_MB------------------- -------------------------------- ------------------ ----------MMLOTTERY TB_ORIGINAL_ORDERDETAILS TABLE 1792MMLOTTERY TB_LOTTERY_SALEDETAIL TABLE 1472MMLOTTERY TB_LOTTERYSCHEMEINFO_ADD TABLE 1280MMLOTTERY TEST_007 TABLE 1152MMLOTTERY TB_ACCOUNT_OPERATE_DETAIL TABLE 808MMLOTTERY PK14 INDEX 377MMLOTTERY PK14_11 INDEX 312MMLOTTERY PK14_13 INDEX 200MMLOTTERY PK14_12 INDEX 160MMLOTTERY TB_BONUS_ORDERDETAILS TABLE 160MMLOTTERY TB_WINBONUS_DETAIL TABLE 14411 rows selected.五、Oracle 增加表空间语法:alter tablespace {表空间名字} add datafile '物理数据⽂件路径' SIZE 『初始⼤⼩M』 AUTOEXTEND ON NEXT 『⾃动扩展⼤⼩M』例⼦:alter tablespace MMLOTTERY add datafile '+DATA/ora11g/datafile/mmlottery08.dbf' size 30720m autoextend on next 200m;注意:如果添加表空间的⽂件名重复,那么会报错,如下:SQL> alter tablespace MMLOTTERY add datafile '+DATA/ora11g/datafile/mmlottery08.dbf' size 30720m autoextend on next 200m;alter tablespace MMLOTTERY add datafile '+DATA/ora11g/datafile/mmlottery08.dbf' size 30720m autoextend on next 200m*ERROR at line 1:ORA-01537: cannot add file'+DATA/ora11g/datafile/mmlottery08.dbf' - file already part of database若 datafile 加错到表空间,则执⾏删除操作。

mysql查询表的数据大小

mysql查询表的数据大小

mysql查询表的数据⼤⼩在需要备份数据库⾥⾯的数据时,我们需要知道数据库占⽤了多少磁盘⼤⼩,可以通过⼀些sql语句查询到整个数据库的容量,也可以单独查看表所占容量。

1、要查询表所占的容量,就是把表的数据和索引加起来就可以了select sum(DATA_LENGTH)+sum(INDEX_LENGTH) from information_schema.tableswhere table_schema='数据库名'; 上⾯获取的结果是以字节为单位的,可以通过%1024在%1024的到M为单位的结果。

2、查询所有的数据⼤⼩select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from tables; -- 查询所有的数据⼤⼩ 3、查询某个表的数据select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from tables where table_schema=’数据库名’ AND table_name=’表名’;在mysql中有⼀个information_schema数据库,这个数据库中装的是mysql的元数据,包括数据库信息、数据库中表的信息等。

所以要想查询数据库占⽤磁盘的空间⼤⼩可以通 过对information_schema数据库进⾏操作。

information_schema中的表主要有: schemata表:这个表⾥⾯主要是存储在mysql中的所有的数据库的信息 tables表:这个表⾥存储了所有数据库中的表的信息,包括每个表有多少个列等信息。

columns表:这个表存储了所有表中的表字段信息。

statistics表:存储了表中索引的信息。

user_privileges表:存储了⽤户的权限信息。

schema_privileges表:存储了数据库权限。

Oracle中查询表的大小、表的占用情况和表空间的大小

Oracle中查询表的大小、表的占用情况和表空间的大小

Oracle中查询表的⼤⼩、表的占⽤情况和表空间的⼤⼩有两种含义的表⼤⼩。

⼀种是分配给⼀个表的物理空间数量,⽽不管空间是否被使⽤。

可以这样查询获得字节数:select segment_name, bytesfrom user_segmentswhere segment_type = 'TABLE';或者Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name另⼀种表实际使⽤的空间。

这样查询:analyze table emp compute statistics;select num_rows * avg_row_lenfrom user_tableswhere table_name = 'EMP';查看每个表空间的⼤⼩Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name1.查看剩余表空间⼤⼩SELECT tablespace_name 表空间,sum(blocks*8192/1000000) 剩余空间M FROM dba_free_space GROUP BY tablespace_name;2.检查系统中所有表空间总体空间select ,sum(a.bytes/1000000)总空间 from v$datafile a,v$tablespace b where a.ts#=b.ts# group by ; 1、查看Oracle数据库中表空间信息的⼯具⽅法: 使⽤oracle enterprise manager console⼯具,这是oracle的客户端⼯具,当安装oracle服务器或客户端时会⾃动安装此⼯具,在windows操作系统上完成oracle安装后,通过下⾯的⽅法登录该⼯具:开始菜单——程序——Oracle-OraHome92——Enterprise Manager Console(单击)——oracle enterprise manager console登录——选择‘独⽴启动’单选框——‘确定’ —— ‘oracle enterprise manager console,独⽴’ ——选择要登录的‘实例名’ ——弹出‘数据库连接信息’ ——输⼊’⽤户名/⼝令’ (⼀般使⽤sys⽤户),’连接⾝份’选择选择SYSDBA——‘确定’,这时已经成功登录该⼯具,选择‘存储’ ——表空间,会看到如下的界⾯,该界⾯显⽰了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间⼤⼩,已使⽤的表空间⼤⼩及表空间利⽤率。

查询用户所在的表空间的命令

查询用户所在的表空间的命令

查询用户所在的表空间的命令
在Oracle数据库中,要查询用户所在的表空间,可以使用以下SQL命令:
sql.
SELECT username, default_tablespace.
FROM dba_users.
WHERE username = 'your_username';
上面的命令将会返回指定用户名的默认表空间。

你可以将
`your_username`替换为你要查询的用户名。

这个命令将会从`dba_users`视图中检索出指定用户名的默认表空间。

在Oracle数据库中,每个用户都有一个默认的表空间,用于存储其创建的对象,如表、索引等。

通过这个命令,你可以轻松地找到指定用户所在的表空间。

通过这个简单的SQL命令,你可以方便地查询到用户所在的表空间,从而更好地管理和监控数据库中的存储空间分配情况。

Oracle查看表空间使用情况

Oracle查看表空间使用情况
--
1.查看表空间已经使用的百分比
select a.tablespace_name,
a.bytes / 1024 / 1024 "Sum MB",
(a.bytes - b.bytes) / 1024 / 1024 "used MB",
据文件,每个数据文件是否自动扩展,可以自动扩展的最大值。
select file_name,tablespace_name,bytes/1024/1024 "bytes MB",maxbytes/1024/1024 "maxbytes MB" from dba_data_files
b.bytes / 1024 / 1024 "free MB",
round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "percent_used"
from (select tablespace_name, sum(bytes) bytes
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
order by ((a.bytes - b.bytes) / a.bytes) desc
“Sum MB”表示表空间所有的数据文件总共在操作系统占用磁盘空间的大小
from dba_data_files
group by tablespace_name) a,
(select tablespace_name, sum(bytes) bytes, max(bytes) largest

查看Oracle表空间使用情况

查看Oracle表空间使用情况
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
用操作系统UNIX、Linux中的df -g命令(查看下可以使用的磁盘空间大小)
获取创建表空间的语句:
select dbms_metadata.get_ddl('TABLESPACE','MLOG_NORM_SPACE') from dual;
4.确认磁盘空间足够,增加一个数据文件
alter tablespace MLOG_NORM_SPACE
add datafile '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'
size 10M autoextend on maxsize 20G
SU.BLOCKS * TO_NUMBER(RTRIM(P.VALUE)) AS SPACE,
TABLESPACE,
SEGTYPE,
SQL_TEXT
FROM V$SORT_USAGE SU, V$PARAMETER P, V$SESSION SE, V$SQL S
“userd MB”表示表空间已经使用了多少
“free MB”表示表空间剩余多少
“percent_user”表示已经使用的百分比
2.比如从1中查看到MLOG_NORM_SPACE表空间已使用百分比达到90%以上,可以查看该表空间总共有几个数

查看Oracle数据库表空间大小的方法

查看Oracle数据库表空间大小的方法

INITIALEXTENT
NEXTEXTENT
MAX_EXTENTS
CUREXTENT
1
SYSTEM
SYSTEM
ONLINE
112
56
32765
1
2
_SYSSMU1$
UNDOTBS1
ONLINE
128
64
32765
4
3
查看Oracle数据库表空间大小的方法
2013-07-30 00:58:06| 分类: Oracle数据库 | 标签:表空间 oracle |举报|字号 订阅
1.查看所表空间大小
SQL>select tablespace_name,sum(bytes)/1024/1024 from dba_data_files
MEMBER
-------------------------------------------
/zxindata/oracle/data/redolog/redo01.dbf
/zxindata/oracle/data/redolog/redo02.dbf
/zxindata/oracle/data/redolog/redo03.dbf
FILE_ID
FILE_NAME
TABLESPACE_NAME
AUTOEXTENSIBLE
INCREMENT_BY
1
9
/zxindata/oracle/data/zxuma2_data
ZXUMA2_DATA
YES
16384
2
8
/zxindata/oracle/data/zxdbp_156

0021-Oracle释放表及表空间大小

0021-Oracle释放表及表空间大小

Oracle释放表及表空间大小1.查看一个表所占的空间大小:SELECT bytes/1024/1024 ||'MB' TABLE_SIZE ,u.* FROM USER_SEGMENTS U WHERE U.SEGMENT_NAME='JK_TEST';2.查看一个表空间所占的实际大小:SELECT SUM(BYTES) / 1024 / 1024 ||'MB' FROM USER_SEGMENTS U WHERE TABLESPACE_NAME = 'DATA01';3.查看一个表空间对应的数据文件:SELECT * FROM DBA_DATA_FILES D WHERE D.TABLESPACE_NAME = 'DATA01';4.查看表空间的使用情况:SELECT A.TABLESPACE_NAME,FILENUM,TOTAL "TOTAL (MB)",F.FREE "FREE (MB)",TO_CHAR(ROUND(FREE * 100 / TOTAL, 2), '990.00') "FREE%",TO_CHAR(ROUND((TOTAL - FREE) * 100 / TOTAL, 2), '990.00') "USED%",ROUND(MAXSIZES, 2) "MAX (MB)"FROM (SELECT TABLESPACE_NAME,COUNT(FILE_ID) FILENUM,SUM(BYTES / (1024 * 1024)) TOTAL,SUM(MAXBYTES) / 1024 / 1024 MAXSIZESFROM DBA_DATA_FILESGROUP BY TABLESPACE_NAME) A,(SELECT TABLESPACE_NAME, ROUND(SUM(BYTES / (1024 * 1024))) FREEFROM DBA_FREE_SPACEGROUP BY TABLESPACE_NAME) FWHERE A.TABLESPACE_NAME = F.TABLESPACE_NAME5.查看数据文件的实际使用情况:SELECT CEIL(MAX_BLOCK * BLOCK_SIZE / 1024)FROM (SELECT MAX(BLOCK_ID) MAX_BLOCKFROM DBA_EXTENTSWHERE FILE_ID IN (SELECT FILE_IDFROM DBA_DATA_FILES DWHERE D.TABLESPACE_NAME = 'USERS')) M,(SELECT VALUE / 1024 BLOCK_SIZEFROM V$PARAMETERWHERE NAME = 'db_block_size') B一、创建一个有十万条记录的测试表jk_test ,查看其所占空间大小3873Mdelete jk_test。

表空间创建及查看

表空间创建及查看
select tablespace_name,sum(bytes),sum(free),sum(free)*100/sum(bytes) from (select b.file_id file_ID, b.tablespace_name tablespace_name, b.bytes Bytes, (b.bytes-sum(nvl(a.bytes,0))) used, sum(nvl(a.bytes,0)) free, sum(nvl(a.bytes,0))/(b.bytes)*100 Percent from dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_id,b.bytes order by b.file_id) group by tablespace_name order by sum(free)*100/sum(bytes);
12,创建一个用户:
CREATE USER username IDENTIFIED BY password OR IDENTIFIED EXETERNALLYOR IDENTIFIED GLOBALLY AS ‘CN=user’[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE temptablespace][QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace[PROFILES profile_name][PASSWORD EXPIRE][ACCOUNT LOCK or ACCOUNT UNLOCK];

查看Oracle表空间SQL语句

查看Oracle表空间SQL语句

查看Oracle表空间SQL语句查看Oracle表空间SQL语句1.查看所有表空间大小SELECTTABLESPACE_NAME,SUM(BYTES)/1024/1024tablespacesize_M FROM DBA_DATA_FILESGROUP BY TABLESPACE_NAME;2.未使用的表空间大小SELECTTABLESPACE_NAME,SUM(BYTES)/1024/1024TABSPACE_FREE_SIZ E_M FROM DBA_FREE_SPACEgroup by TABLESPACE_NAME;3.所有使用空间可以这样计算SELECT a.tablespace_name,a.total,b.free,a.total-b.free used from(SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024TOTAL FROM DBA_DATA_FILESGROUP BY TABLESPACE_NAME)A,(SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024FREE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME)B where a.tablespace_name=b.tablespace_name;4.下面这条语句查看所有段的大小select segment_nam,sum(bytes)/1024/1024from USER_EXTENTS GROUP BY segment_name;5.在命令行情况下如何将结果放到一个文件里用到了telnetSET TRIMSPOOL ONSET LINESIZE2000SET PAGESIZE2000SET NEWPAGE1SET HEADING OFFSET TERM OFFSPOOL D:\EXP.TXTSELECT*FROM V$DATABASE;spool off6.查看当前正在使用的临时表空间大小SELECT/doc/0814759463.html,ERNAME,SE.SID,SU.BLO CKS*TO_NUMBER(RTRIM(P.VALUE))ASSPACE,tablespace,segtype,sql_textFROM V$SORT_USAGE SU,V$PARAMETER P,V$SESSION SE,V$SQL SWHERE/doc/0814759463.html,='db_block_size' AND SU.SESSION_ADDR=SE.SADDRAND S.HASH_VALUE=SU.SQLHASHAND S.ADDRESS=SU.SQLADDRorder by /doc/0814759463.html,ername,se.sid;7.查询所有的表空间SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;8.查看表空间中分布的用户信息SELECT TABLESPACE_NAME,OWNER,SUM(BYTES)FROM DBA_SEGMENTSGROUP BY TABLESPACE_NAME,OWNER;9.查看表空间已经使用的百分比SELECT A.TABLESPACE_NAME,A.BYTES/1024/1024"Sum MB",(A.BYTES-B.BYTES)/1024/1024"usedMB",B.BYTES/1024/1024"free MB", round(((a.bytes-b.bytes)/a.bytes)*100,2)"percent_used"FROM(SELECT TABLESPACE_NAME,SUM(BYTES)BYTES FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME)A,(SELECTTABLESPACE_NAME,SUM(BYTES)BYTES,MAX(BYTES)LARGEST FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME)B WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAMEORDER BY((A.BYTES-B.BYTES)/A.BYTES)DESC;--"Sum MB"表示表空间所有的数据文件总共在操作系统占用磁盘空间的大小--比如:test表空间有2个数据文件,datafile1为300MB,datafile2为400MB,那么test表空间的“Sum MB"就是700MB--"userd MB"表示表空间已经使用了多少--"free MB"表示表空间剩余多少--”percent_user"表示已经使用的百分比10.比如从9中查看到MLOG_NORM_SPACE表空间已使用百分比达到90%以上,可以查看该表空间总共有几个数据文件--每个数据文件是否自动扩展,可以自动扩展的最大值SELECTFILE_NAME,TABLESPACE_NAME,BYTES/1024/1024"byte MB",MAXBYTES/1024/1024"maxbytes MB"FROM DBA_DATA_FILESwhere tablespace_name='EXAMPLE';11.查看xxx表空间是否为自动扩展SELECTFILE_ID,FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE,IN CREMENT_BY FROM DBA_DATA_FILESorder by file_id desc;12.比如MLOG_NORM_SAPCE表空间目前的大小为19G,但是最大每个数据文件只能为20GB,数据文件快要写满,--可以境加表空间的数据文件,用操作系统unix,linux中的df-g 命令--获取创建表空间的语句SELECTDBMS_METADATA.GET_DDL('TABLESPACE','EXAMPLE')from dual;13.确认磁盘空间足够,增加一个数据文件ALTER TABLESPACE MLOG_NORM_SPACEADD DATAFILE'/orace/Mlog_Norm_data001.dbf'SIZE10M AUTOEXTEND ON MAXSIZE20G;14.验证已经增加的数据文件SELECT FILE_NAME,FILE_ID,TABLESPACE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME='MLOG_NORM_SPACE';15.删除表空间数据文件ALTER TABLESPACE MLOG_NORM_SPACEdrop datafile'/orace/Mlog_Norm_data001.dbf';16.确定控制文件的名称与大小select name,block_size*file_size_blks bytes from v$controlfile;17.确定联机重做日志文件成员的名称和大小select member,bytes from v$log join v$logfile using(group#);18.确定数据文件和临时文件的名称和大小SELECT NAME,BYTES FROM V$DATAFILEUNION ALLselect name,bytes from V$TEMPFILE;。

Oracle查看表空间及大小

Oracle查看表空间及大小

Oracle查看表空间及⼤⼩--1、查看表空间的名称及⼤⼩SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_sizeFROM dba_tablespaces t, dba_data_files dWHERE t.tablespace_name = d.tablespace_nameGROUP BY t.tablespace_name;--2、查看表空间物理⽂件的名称及⼤⼩SELECT tablespace_name,file_id,file_name,round(bytes / (1024 * 1024), 0) total_spaceFROM dba_data_filesORDER BY tablespace_name;--3、查看回滚段名称及⼤⼩SELECT segment_name,tablespace_name,r.status,(initial_extent / 1024) initialextent,(next_extent / 1024) nextextent,max_extents,v.curext curextentFROM dba_rollback_segs r, v$rollstat vWHERE r.segment_id = n(+)ORDER BY segment_name;--4、查看控制⽂件SELECT NAME FROM v$controlfile;--5、查看⽇志⽂件SELECT MEMBER FROM v$logfile;--6、查看表空间的使⽤情况SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_nameFROM dba_free_spaceGROUP BY tablespace_name;SELECT a.tablespace_name,a.bytes total,b.bytes used,c.bytes free,(b.bytes * 100) / a.bytes "% USED ",(c.bytes * 100) / a.bytes "% FREE "FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free cWHERE a.tablespace_name = b.tablespace_nameAND a.tablespace_name = c.tablespace_name;--7、查看数据库库对象SELECT owner, object_type, status, COUNT(*) count#FROM all_objectsGROUP BY owner, object_type, status;--8、查看数据库的版本 SELECT versionFROM product_component_versionWHERE substr(product, 1, 6) = 'Oracle';--9、查看数据库的创建⽇期和归档⽅式SELECT created, log_mode, log_mode FROM v$database;--1G=1024MB--1M=1024KB--1K=1024Bytes--1M=11048576Bytes--1G=1024*11048576Bytes=11313741824BytesSELECT a.tablespace_name "表空间名",total "表空间⼤⼩",free "表空间剩余⼤⼩",(total - free) "表空间使⽤⼤⼩",total / (1024 * 1024 * 1024) "表空间⼤⼩(G)",free / (1024 * 1024 * 1024) "表空间剩余⼤⼩(G)",(total - free) / (1024 * 1024 * 1024) "表空间使⽤⼤⼩(G)",round((total - free) / total, 4) * 100 "使⽤率 %"FROM (SELECT tablespace_name, SUM(bytes) freeFROM dba_free_spaceGROUP BY tablespace_name) a,(SELECT tablespace_name, SUM(bytes) totalFROM dba_data_filesGROUP BY tablespace_name) bWHERE a.tablespace_name = b.tablespace_name。

postgresql查看数据库,表,索引,表空间以及大小

postgresql查看数据库,表,索引,表空间以及大小

postgresql查看数据库,表,索引,表空间以及⼤⼩1,查看数据库playboy=> \l //\加上字母l,相当于mysql的,mysql> show databases;List of databasesName | Owner | Encoding-----------+----------+----------playboy | postgres | UTF8postgres | postgres | UTF8template0 | postgres | UTF8template1 | postgres | UTF8playboy=>select pg_database_size('playboy'); //查看playboy数据库的⼤⼩pg_database_size------------------3637896(1 row)playboy=>select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database; //查看所有数据库的⼤⼩datname | size-----------+---------postgres |3621512playboy |3637896template1 |3563524template0 |3563524(4 rows)playboy=>select pg_size_pretty(pg_database_size('playboy')); //以KB,MB,GB的⽅式来查看数据库⼤⼩pg_size_pretty----------------3553 kB(1 row)2,查看多表playboy=> \dt //相当于mysql的,mysql> show tables;List of relationsSchema| Name | Type | Owner--------+------+-------+---------public| test |table| playboy(1 row)3,查看单表playboy=> \d test; //相当于mysql的,mysql>desc test;Table "public.test"Column| Type | Modifiers--------+-----------------------+-----------id |integer|not nullname |character varying(32) |Indexes: "playboy_id_pk" PRIMARY KEY, btree (id)playboy=>select pg_relation_size('test'); //查看表⼤⼩pg_relation_size------------------(1 row)playboy=>select pg_size_pretty(pg_relation_size('test')); //以KB,MB,GB的⽅式来查看表⼤⼩pg_size_pretty----------------0 bytes(1 row)playboy=>select pg_size_pretty(pg_total_relation_size('test')); //查看表的总⼤⼩,包括索引⼤⼩pg_size_pretty----------------8192 bytes(1 row)4,查看索引playboy=> \di //相当于mysql的,mysql> show index from test;List of relationsSchema| Name | Type | Owner |Table--------+---------------+-------+---------+-------public| playboy_id_pk |index| playboy | test(1 row)playboy=>select pg_size_pretty(pg_relation_size('playboy_id_pk')); //查看索⼤⼩pg_size_pretty----------------8192 bytes(1 row)5,查看表空间,以及⼤⼩playboy=>select spcname from pg_tablespace; //查看所有表空间spcname------------pg_defaultpg_global(2 rows)playboy=>select pg_size_pretty(pg_tablespace_size('pg_default')); //查看表空间⼤⼩pg_size_pretty----------------14 MB(1 row)6 统计数据库中各表占⽤磁盘⼤⼩:SELECT table_schema ||'.'|| table_name AS table_full_name, pg_size_pretty(pg_total_relation_size('"'|| table_schema ||'"."'|| table_name ||'"')) AS size FROM information_schema.tablesORDER BY pg_total_relation_size('"'|| table_schema ||'"."'|| table_name ||'"') DESC limit 20;7.统计各数据库占⽤磁盘⼤⼩:SELECT d.datname AS Name, pg_catalog.pg_get_userbyid(d.datdba) AS Owner,CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname))ELSE'No Access'END AS SIZEFROM pg_catalog.pg_database dORDER BYCASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')THEN pg_catalog.pg_database_size(d.datname)ELSE NULLEND DESC-- nulls firstLIMIT 20。

查看表、表空间实际大小

查看表、表空间实际大小

查看指定表空间下最大的前10个表Select * from (select SEGMENT_NAME,SEGMENT_TYPE,bytes/1024/1024 total from dba_segments where TABLESPACE_NAME='SMS_DATA' order by bytes/1024/1024 desc ) where rownum <20;查看自动增长SELECT FILE_NAME, TABLESPACE_NAME, AUTOEXTENSIBLE FROM DBA_DATA_FILES where TABLESPACE_NAME='SYSTEM';查看所有表空间大小Select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;未使用的表空间大小Select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;查看所有表空间对应的文件select file_name,tablespace_name,bytes from dba_data_files where tablespace_name='SMS_DATA';select file_name,tablespace_name||','||bytes from dba_data_filesOracle中有两种含义的表大小一种是分配给一个表的物理空间数量,而不管空间是否被使用。

可以这样查询获得字节数:select segment_name, bytesfrom user_segmentswhere segment_type = TABLE;效果如下:或者Select Segment_Name,Sum(bytes)/1024/1024 from User_Extents Group By Segment_Name;效果如下:【这个查询速度慢】上两图结果所示,查询均为10896M分配给表的大小下图查询出该表当前占用的实际空间大小另一种表实际使用的空间。

Oracle查询表空间与表大小

Oracle查询表空间与表大小

Oracle查询表空间与表⼤⼩转⾃:数据表的⼤⼩由段和区组成当前⽤户下的可以使⽤下⾯SQL分别显⽰段和区信息:select US.segment_name,us.bytes from user_segments us order by us.bytes desc;select * from user_extents ue order by ue.bytes desc;如果在DBA中查询某表空间(如CONFIG表空间)的表段和区的组成信息,使⽤SQL显⽰:select ds.segment_name,ds.bytes from dba_segments ds where ds.tablespace_name='config' order by ds.bytes desc; select * from dba_extents de where de.tablespace_name='config' order by de.bytes desc;如果查询单个表记录:select us.segment_name,us.bytes from user_segments us where us.segment_name='test_table'order by us.bytes desc;查看每个表空间的⼤⼩SQL:select tablespace_name,sum(bytes)/1024/1024 from dba_segments group by tablespace_name;查看整个系统的表空间⼤⼩SQL:select upper(f.tablespace_name) "表空间名",d.tot_grootte_mb "表空间⼤⼩(M)",d.tot_grootte_mb-f.total_bytes "已使⽤空间(M)",to_char(round((d.tot_grootte_mb - f.total_bytes)/d.tot_grootte_mb*100,2),'990.99')||'%' "使⽤⽐",f.total_bytes "空闲空间(M)", f.max_bytes "最⼤块(M)"from (select tablespace_name,round(sum(bytes)/(1024*1024),2) total_bytes,round(max(bytes)/(1024*1024),2) max_bytesfrom sys.dba_free_spacegroup by tablespace_name) f,(select dd.tablespace_name,round(sum(dd.bytes)/(1024*1024),2) tot_grootte_mbfrom sys.dba_data_files ddgroup by dd.tablespace_name) dwhere d.tablespace_name=f.tablespace_nameorder by 1;。

oracle10g数据库的表空间查看和修改

oracle10g数据库的表空间查看和修改

oracle数据库表空间大小的查看、修改1、通过oracle客户端连接到oracle数据库a)安装好oracle客户端后,通过net manager工具配置本地net服务名,依次点击开始,程序,Oracle - OraClient10g_home1,配置和移植工具,Net Manager。

b)进入Net Manager配置窗口。

c)依次点击本地,服务命名。

d)可以看到左侧的号变成绿色,此时可以点击该,弹出net服务名的配置窗口e)这里的网络服务名是指的oracle客户端所在机器的本地服务名,随便设置个名字,例如sbzw,点击下一步。

f)默认设置,点击下一步。

g)在主机名后的输入框中输入oracle数据库所在的服务器的ip地址,例如:,点击下一步。

h)在服务名后的输入框中输入oracle数据库的全局服务名,例如tjsb,点击下一步。

i)此处不要点击完成,先点击测试查看连接是否正常。

j)在连接测试窗口中显示的应该是测试没有成功,此时请点击更改登录。

k)修改了用户名和密码后,点击确定,然后再次点击“测试”,提示连接成功后,关闭连接测试窗口,点击完成,至此本地net服务名配置完成。

2、通过oracle客户端的企业管理器修改数据库的表空间大小a)依次点击开始,程序,Oracle - OraClient10g_home1,EnterpriseManager Console(企业管理器)。

b)进入了oracle的企业管理器c)依次点击数据库,sbzw,弹出登录窗口,d)对于修改表空间而言,这里的用户名必须是sys用户,连接身份为SYSDBA。

e)输入完成后,点击确定,可以看到左侧sbzw的菜单已经打开。

f)依次选择存储,表空间,则页面左侧会显示当前的表空间的使用情况。

g)对于需要增大的表空间,双击该表空间,例如这里的TS_FZ4_DATA,弹出该表空间的编辑窗口。

h)对于表空间的修改,有两种办法:i.一种是直接修改单个数据文件的大小值,也就是直接修改上图中的大小里面的数值,单位是MB,修改完成后点击确定即可。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档