Oracle查看表空间

1,查看所有表空间

SELECT A.TABLESPACE_NAME,TOTAL_SPACE ,FREE_SPACE
  FROM (SELECT A.TABLESPACE_NAME,
               SUM(A.BYTES)/1024/1024/1024 TOTAL_SPACE
          FROM DBA_DATA_FILES A
         GROUP BY A.TABLESPACE_NAME) A,
       (SELECT A.TABLESPACE_NAME,
               SUM(A.BYTES)/1024/1024/1024 FREE_SPACE
          FROM DBA_FREE_SPACE A
         GROUP BY A.TABLESPACE_NAME) B
 WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME(+);

--增加表空间
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/loyaltydb/LOYALTY.dbf'
RESIZE 51200M;
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/loyaltydb/LOYALTY.dbf'
AUTOEXTEND ON
NEXT 5120M
MAXSIZE 102400M;

2,查看临时表空间

SELECT SUM(BYTES)/1024/1024/1024 "temp size(G)"
  FROM DBA_TEMP_FILES
 WHERE TABLESPACE_NAME = 'TEMP';

3,查看UNDO表空间

SELECT SUM(BYTES)/1024/1024/1024 "CURRENT UNDO SIZE(G)"
  FROM DBA_DATA_FILES
 WHERE TABLESPACE_NAME = 'UNDOTBS1';

4,查询SGA和PGA:
SQL> show parameter sga;
获得sga_max_size和sga_target的值
SQL> show parameter pga;
获得pga_aggregate_target的值
 
参考值:
现场服务器是8G内存,SGA设置为4G,PGA设置为1G
现场服务器是16G内存,SGA设置为10G,PGA设置为2G
现场服务器是32G内存,SGA设置为20G,PGA设置为4G

修改方法:

SQL> alter system set sga_max_size=4G scope=spfile;
SQL> alter system set sga_target=4G scope=spfile;
SQL> alter system set pga_aggregate_target=1G scope=spfile;

猜你喜欢

转载自blog.csdn.net/m0_37253968/article/details/84849944