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 * from (select
a.tablespace_name,
sum(a.bytes)/(1024*1024) total_space_MB,
round(b.free,2) Free_space_MB,
round(b.free/(sum(a.bytes)/(1024*1024))* 100,2) percent_free
from dba_data_files a,
(select tablespace_name,sum(bytes)/(1024*1024) free from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name(+)
group by a.tablespace_name,b.free)
where tablespace_name = 'UNDOTBS1';
查看undo表空间对应的文件路径:
select substr(file_name,1,60) UNDO_FILES from dba_data_files where tablespace_name = 'UNDOTBS1' order by 1;
创建undo表空间:
create undo tablespace undotbs3 datafile '/data1/oradata/undotbs03_1.dbf' size 100M autoextend on next 20M maxsize 500M;
给UNDO表空间增加数据文件:
ALTER TABLESPACE UNDOTBS3 ADD DATAFILE ''/data1/oradata/undotbs03_2.dbf' SIZE 1024M AUTOEXTEND ON NEXT 100M MAXSIZE 2048M;
切换默认UNDO表空间:
alter system set undo_tablespace = UNDOTBS3;
删除undo表空间:
drop tablespace UNDOTBS2 including contents and datafiles;
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;