`

Oracle dbf(database datafile)不断增大为题解决方案

 
阅读更多

Oracle 安装在系统盘了,最近越来越庞大,以至于系统处于崩溃的边缘,仔细找了找,发现有个临时文件占了很大的空间,解决方法如下:
 
第一步:
alter database tempfile 'F:\oracle\product\10.1.0\oradata\orcl\TEMP01.DBF' drop;
第二步:
alter tablespace temp add tempfile  'F:\oracle\product\10.1.0\oradata\orcl\TEMP01.DBF'  size 2048M reuse autoextend on next 100M;
第三步:
select d.file_name, d.file_id, d.tablespace_name, d.bytes  from dba_temp_files d;
第四步:
alter database tempfile 'F:\oracle\product\10.1.0\oradata\orcl\TEMP01.DBF' autoextend off;
(只是为了解决小问题,不深究。)
 
正常来说,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段a的。但有些有侯我们则会遇到临时段没有被释放,TEMP表空间几乎满的状况,甚至是我们重启了数据库仍没有解决问题。

----------------------------------------------------------------------------------------------------------------------------------------
在检查aix5.3系统的磁盘空间时,发现临时表空间所在临时数据文件已经达到20G,已经占用了100%。

因为是正式数据库服务器,不能随便重启数据库。

以下的操作是用数据库的sys超级用户操作

刚开始打算把临时表空间的数据文件重新缩小就好了

执行:

SQL> alter database tempfile

2 '/oracle/oms/oradata/temp/temp01.dbf' resize 10240M;

数据库报错,重新设置的空间大小不能满足需要。

看来需要重新建立新的临时表空间替换当前的表空间了

1、首先查看当前的数据库默认表空间:

SQL>select * from database_properties  where property_name='DEFAULT_TEMP_TABLESPACE';

确认当前的临时表空间为TEMP

2、查看目前临时表空间的大小:

SQL>select file_name,tablespace_name,bytes/1024/1024 "MB",autoextensible from dba_temp_files;

3、创建新的临时表空间:(先在其他的磁盘空间借用一下空间)
SQL> create temporary tablespace temp02 tempfile '/oracle/oms/oradata/undo/temp02.dbf'  size 512M;

4、把新建的临时表空间却换成数据库的默认临时表空间
SQL> alter database default temporary tablespace temp02;

5、确认目前数据库的默认临时表空间

SQL>select * from database_properties  where property_name='DEFAULT_TEMP_TABLESPACE';

确认temp02为当前的数据库默认表空间

6、在删除temp临时表空间之前,先把运行在temp临时表空间的sql语句kill掉,这样的sql语句多为排序的语句

SQL>Select se.username,se.sid,se.serial#,su.extents,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
where p.name='db_block_size' and su.session_addr=se.saddr and s.hash_value=su.sqlhash
and s.address=su.sqladdr
order by se.username,se.sid;

查询出来之后,kill掉这些sql语句:

SQL>alter system kill session '524,778'; (假如某一条运行的sql语句的SID为524,serial#为778)

确认在temp临时表空间中没有运行的sql语句之后,则可以删除temp临时表空间数据文件了

7、删除temp临时表空间

SQL> drop tablespace temp including contents and datafiles;

这样很快就可以删除了临时表空间的数据文件

8、现在temp02临时表空间占据了别人的磁盘空间,需要重新把临时表空间建立在原来的位置,重新建立temp临时表空间

SQL> create temporary tablespace temp2 tempfile '/oracle/oms/oradata/temp/temp01.dbf'

size 512M autoextend on maxsize 15G;
新建一个512M的自动扩展临时表空间,最大的扩展为15G。

查看新建的temp临时表空间是否正确:
SQL>select file_name,tablespace_name,bytes/1024/1024,maxbytes/1024/1024,autoextensible from dba_temp_files;

9、把新建的temp临时表空间却换成数据库的默认临时表空间
SQL> alter database default temporary tablespace temp;

10、确认目前数据库的默认临时表空间
SQL>select * from database_properties
where property_name='DEFAULT_TEMP_TABLESPACE';
确认temp为当前的数据库默认表空间

11、目前把原来的temp临时表空间变成了512M,把剩余的磁盘空间空了出来,temp02临时表空间就没有用了,删除temp02临时表空间
SQL> drop tablespace temp02 including contents and datafiles;

分享到:
评论

相关推荐

    oracle - answer

    ALTER DATABASE DATAFILE ‘D:\ORACLE\ORADATA\ORCL\userdata03.dbf’ AUTOEXTEND ON NEXT 5M MAXSIZE 100M; (4) ALTER DATABASE DATAFILE ‘D:\ORACLE\ORADATA\ORCL\example02.dbf’ RESIZE 40M; (5) ...

    Oracle数据库创建和授权

    DATAFILE 'E:\DataBase\Oracle\ELWY_DATA.DBF' SIZE 100m AUTOEXTEND ON NEXT 50m MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL; -- 删除用户 DROP USER ELWY CASCADE; -- 创建用户 CREATE USER ELWY ...

    最全的oracle常用命令大全.txt

    su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp" 累计备份的SH文件:exp_cumu.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager full=y inctype=...

    ORACLE分区

    alter database datafile 'full_path\undotbs01.dbf' autoextend off; 2.-- 创建一个新的小空间的undo tablespace create undo tablespace undotBS2 datafile 'full_path\UNDOTBS02.DBF' size 100m;

    linux系统给oracle数据库增加新的实例.pdf

    chmod 777 createdb.sql CREATE DATABASE exchange MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 DATAFILE '/u01/app/oracle/oradata/exchange/system01.dbf' size 100m reuse ...

    oracle实验报告

    undo tablespace UNDOTBS1 datafile 'E:\app\oracle\oradata\mydb\undotbs1.dbf' size 10m character set ZHS16GBK national character set AL16UTF16 7、创建额外表空间 alter user system temporary ...

    oracle_dba_code_examples201012.pdf

    实用的Oracle DBA 常用的实际操作文档 Document Parts Part 1 Oracle DBA Fundamentals _______________________ 36 Part 2 Oracle Database ...data file has this format: /u20/oradata/prod/system01.dbf

    RMAN测试演练即讲解

    (4) DataFile tbs_apollo_backup.dbf异常了,先解决下 alter database datafile ‘datafile_name’ offline; recover datafile ‘datafile_name’ alter database datafile ‘datafile_name’ online; alter ...

    linux系统给oracle数据库增加新的实例(1).pdf

    chmod 777 createdb.sql CREATE DATABASE exchange MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 DATAFILE '/u01/app/oracle/oradata/exchange/system01.dbf' size 100m reuse ...

    oracle增加表空间大小两种实现方法

    两种方法,一种是为表空间增加数据文件: 代码如下: alter tablespace users add datafile ‘/opt/oracle/oradata/esop/so_data02.dbf’ size 200M; 另一种方法是增加表空间原有数据文件尺寸: 代码如下: alter ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    C:\Program file\Oracle目录。 ORACLE_BASE目录。 C:\Documents and Settings\系统用户名、LocalSettings\Temp目录下的临时文件。 七、 oracle中的数据库 八、 常用的工具  Sql Plus  Sql Developer  ...

    Oracle12c图形化&静默安装踩坑的方法步骤

    1 安装规划 ORACLE安装到新磁盘上,磁盘挂载到u01,d01和d02是符号连接,实际目录在u01下 参数 值 ...Oracle base /d01/app/oracle ...Global database name gorcl12c SID orcl12c 2 挂载磁盘 fdi

    Database.Tour.Pro.v.6.5.4.1201

    exporting data from open table or query to large number of file formats like text, CSV, HTML, XLS, XML, RTF, DBF, or to any of supported database formats; automation of the most often used database ...

    Oracle数据库的冷备份及冷备份异地恢复方法

     以oracle10g为例。  coldbak脚本: –connect database connect sys/你设定的密码 as sysdba; –shutdown database shutdown immediate; –Copy Data file Host xcopy d:Oracleproduct10.2.0...

    Oracle事例

    sql> alter index xay_id allocate extent(size 200k datafile \'c:/oracle/index.dbf\'); <8>.alter index xay_id deallocate unused; 、查看索引 SQL>select index_name,index_type,table_name from user...

    DBA数据库PPT_1

    创建数据库时创建CREATE DATABASE 命令 CREATE DATABASE db01 ...UNDO TABLESPACE undo1 DATAFILE 'undo1db01.dbf' SIZE 20M AUTOEXTEND ON 《oracle 专家精解》后面还有很多的。。。自己需要就来下了哈

    orcale常用命令

    1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 ...su - oracle -c "exp system/manager full=y inctype=cumulative file=/oracle/export/db_cumu$rq.dmp...

    破解版mdbdriver.jar

    最近刚好有个项目要连接ACCESS的MDB数据并导入到ORACLE中,使用 Java代码 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String strurl="jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};DBQ=E:\\\\db.mdb...

    Geotools Java API 开发gis的参考资料

    org.geotools.data.shapefile.dbf org.geotools.data.shapefile.indexed org.geotools.data.shapefile.indexed.attribute org.geotools.data.shapefile.prj org.geotools.data.shapefile.shp org.geotools.data...

Global site tag (gtag.js) - Google Analytics