1>用户临时缺省表空间的切换--查询用户缺省临时表空间 SQL> select username,temporary_tablespace from dba_users; USERNAME TEMPORARY_TABLESPACE ------------------------------ ------------------------------ MGMT_VIEW TEMP SYS TEMP SYSTEM TEMP DBSNMP TEMP SYSMAN TEMP SCOTT TEMP HR TEMP OUTLN TEMP MDSYS TEMP ORDSYS TEMP EXFSYS TEMP DMSYS TEMP WMSYS TEMP CTXSYS TEMP ANONYMOUS TEMP XDB TEMP ORDPLUGINS TEMP SI_INFORMTN_SCHEMA TEMP OLAPSYS TEMP TSMSYS TEMP BI TEMP PM TEMP MDDATA TEMP IX TEMP SH TEMP DIP TEMP OE TEMP 27 rows selected. |
--创建新的临时表空间SQL> create temporary tablespace temp2 tempfile "/u02/temp1.dbf" size 10M; Tablespace created.--需要的话--alter tablespace temp add tempfile "/u02/temp2.dbf" 10M; |
--进行切换SQL> alter database default temporary tablespace temp2 ; Database altered.
--查询是否成功切换 SQL> select username,temporary_tablespace from dba_users; USERNAME TEMPORARY_TABLESPACE ------------------------------ ------------------------------ MGMT_VIEW TEMP2 SYS TEMP2 SYSTEM TEMP2 DBSNMP TEMP2 SYSMAN TEMP2 SCOTT TEMP2 HR TEMP2 OUTLN TEMP2 MDSYS TEMP2 ORDSYS TEMP2 EXFSYS TEMP2 DMSYS TEMP2 WMSYS TEMP2 CTXSYS TEMP2 ANONYMOUS TEMP2 XDB TEMP2 ORDPLUGINS TEMP2 SI_INFORMTN_SCHEMA TEMP2 OLAPSYS TEMP2 TSMSYS TEMP2 BI TEMP2 PM TEMP2 MDDATA TEMP2 IX TEMP2 SH TEMP2 DIP TEMP2 OE TEMP2 27 rows selected.
|
2>表空间满方式1:重启数据库方式2:
SQL>alter tablespace temp increase 1;
SQL>alter tablespace temp increase 0; |
方式3: 1,查看谁在用临时段SELECT username,
sid,
serial#,
sql_address,
machine,
program,
tablespace,
segtype,
contents
FROM v$session se,
v$sort_usage su
WHERE se.saddr=su.session_addr
或--显示当前top5临时段的sessionselect * from (select sess.username,sess.SID,sess.serial#,segtype,blocks*8/1024 "MB",sql_textfrom v$sort_usage sort, v$session sess ,v$sql sqlwhere sort.SESSION_ADDR = sess.SADDRand sql.ADDRESS = sort.SQLADDR (+)order by blocks desc) awhere rownum<6;
2,正在使用临时段的进程
SQL>Alter system kill session "sid,serial#";3,把临时表空间回缩下SQL>Alter tablespace TEMP coalesce;
--迅速收缩临时段(适用于临时段表空间收缩很慢的情况)alter tablespace temp default storage(pctincrease 1);alter tablespace temp default storage(pctincrease 0);
方法四:1确定temp表空间ts#
SQL> select ts#, name from sys.ts$ ; TS# NAME ---------- -------------------- 0 SYSTEM 1 UNDOTBS1 2 SYSAUX 3 TEMP 4 USERS 5 UNDOTBS2 6 EXAMPLE 7 TSS 8 TEMP2
|
2执行清理
SQL> alter session set events "immediate trace name DROP_SEGMENTS level 4" ; Session altered. |
temp表空间的TS# 为 3*, So TS#+ 1= 4
SELECT UPPER(F.TABLESPACE_NAME) "tablesacpe name", D.TOT_GROOTTE_MB "tablespace size(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "have used(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),"990.99") "using rate", F.TOTAL_BYTES "free space(M)", F.MAX_BYTES "max block(M)" FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES, ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F, (SELECT DD.TABLESPACE_NAME, ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DD GROUP BY DD.TABLESPACE_NAME) D WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME ORDER BY 4 DESC |
CentOS下Oracle 10g 升级至10.2.0.4Oracle Data Dump 实验小结相关资讯 oracle
- [INS-32052] Oracle基目录和Oracle (07/22/2014 07:41:41)
- Oracle 4个大对象(lobs)数据类型 (02/03/2013 12:33:05)
- Oracle按时间段分组统计 (07/26/2012 10:36:48)
| - [Oracle] dbms_metadata.get_ddl的 (07/12/2013 07:37:30)
- Liferay Portal 配置使用Oracle和 (07/31/2012 20:07:18)
- Concurrent Request:Inactive (07/20/2012 07:44:05)
|
本文评论 查看全部评论 (0)