Oracle数据库临时表空间问题

              笔者在日常系统检查时,通过oracle Enterprise Manager Console检查数据库表空间使用情况,发现系统表空间使用率100% ,而且每个用户所对应临时表空间为系统表空间。发现此情况后,为了不影响系统正常运行对此问题进行检查。
               1、通过sql查看数据库临时表空间、用户对应的临时表空间、系统默认临时表空间
                   select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;   autoextensible  自动扩展列
                   select username,default_tablespace,temporary_tablespace from dba_users where username = 'SYSTEM';
                   select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE'
                   SELECT temp_used.tablespace_name,
                    total - used as "Free",
                     total as "Total",
                    round(nvl(total - used, 0) * 100 / total, 3) "Free percent"
                     FROM (SELECT tablespace_name, SUM(bytes_used) / 1024 / 1024 used
                     FROM GV$TEMP_SPACE_HEADER
                     GROUP BY tablespace_name) temp_used,
                     (SELECT tablespace_name, SUM(bytes) / 1024 / 1024 total
                     FROM dba_temp_files
                    GROUP BY tablespace_name) temp_total
                    WHERE temp_used.tablespace_name = temp_total.tablespace_name
               2、 为每个用户创建临时表空间
                   create temporary tablespace oastemp tempfile ‘/dev/vgoracle/rdboastemp.dbf’ size 1024M;
                   create temporary tablespace eletemp tempfile ‘/dev/vgoracle/rdbeletemp.dbf’ size 500M; 
                   create temporary tablespace tcmtemp tempfile ‘/dev/vgoracle/rdbtcmtemp.dbf’ size 500M;
                   并且指定对应的用户。
               3、创建系统默认表空间                 
                   //建立一个中转临时表空间:
                   (1)>create temporary tablespace temp2
                   tempfile 'D:\oracle\oradata\test\temp2.dbf' size 512M
                   reuse autoextend on next 100M maxsize 2048M;
                   (2) >alter database default temporary tablespace temp2;
                   (3) >drop tablespace temp including contents and datafiles;

                   //重新建立一个新的临时表空间:
                  (1)>create temporary tablespace temp
                   tempfile 'D:\oracle\oradata\test\temp01.dbf' size 512M
                   reuse autoextend on next 100M maxsize 1024M;
                  (2) >alter database default temporary tablespace temp;//修改用户对应的表空间
                  (3) >drop tablespace temp2 including contents and datafiles;
          

           对以上操作最好做下控制文件备份方法如下:

                    1、将控制文件备份为二进制文件

                   SQL>alter database backup controlfile to 'i:\oracle\backup\control.bkp';

                    2、将控制文件备份为文本文件(备份到oracle\base\admin\sid\udump目录下的跟踪文件中,将在跟踪文件中生成一个SQL脚本)

                    SQL>alter database backup controlfile to trace;

                    3、通过spfile生成pfile文件备份控制文件

                     SQL>create pfile='/pfile_backup.ora' from spfile='/home/oracle/product/10.2.0/db_1/dbs/spfileSID.ora';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值