oracle数据库还原段和TEMP表空间满了各对业务会有什么影响?

oracle数据库还原段和TEMP表空间满了各对业务会有什么影响?,第1张

1、undo 是什么作用,undo是事物的一致性读的作用,是重写的。影响不是很大,但是如果闪回查询可能会报 snap to old 的错误。

2、转自http://hi.baidu.com/ktwmldupqtbhwzd/item/159b8d481b0943efa4c0662c

ORACLE临时段表空间不足,因为ORACLE总是尽量分配连续空间,一但没有足够的可分配空间或者分配不连续就会出现上述的现象。

解决方法:知道由于ORACLE将表空间作为逻辑结构-单元,而表空间的物理结构是数据文件,数据文件在磁盘上物理地创建,表空间的所有对象也存在于磁盘上,为了给表空间增加空间,就必须增加数据文件。先查看一下指定表空间的可用空间,使用视图SYS.DBA_FREE_SPACE,视图中每条记录代表可用空间的碎片大小

首先,undo表空间满是正常的,oracle自然会重用或者扩展它,一般不用管它。

然后,现在要解决的话,需要先把undo

tablespace设置成手动,启动数据库,创建新的undo

tablespace。把新的设置成默认的。

假设你的库现在是mounted状态

1

创建PFILE(如果已有就是更新)

SQL>create

pfile

from

spfile

2

关闭数据库

SQL>shutdown

immediate

3

在你的$ORACLE_HOME/dbs目录下面找个叫做

init<数据库>.ora的文件,把其中有undo_management=AUTO的一行改成

undo_management=MANUAL

如果没有就在文件末尾填一行

4

以sysdba身份连接数据库

SQL>connect

"/

as

sysdba"

用刚才改过的文件启动数据库

SQL>

startup

pfile=<刚才的文件全路径和名字>

这步是最关键的,如果成功,后面就没问题了

5

drop掉原来的表空间

SQL>

drop

tablespace

<原来的undo表空间名字>

including

contents

6

创建新的undo表空间

SQL>

create

UNDO

tablespace

undotbs2

datafile

'/u01/app/oracle/oradata/orcl/undotbs02.dbf'

size

100M

autoextend

on

7

关闭数据库,

SQL>shutdown

immediate

在开始那个init文件里设置UNDO_MANAGEMENT=AUTO

UNDO_TABLESPACE=UNDOTBS2

8

再做一次第四步

9

更新spfile

SQL>create

spfile

from

pfile

10

关闭数据库,正常重新启动

SQL>shutdown

immediate

SQL>startup

11

去网上教你删undo那个地方骂它。非常想当然的做法。没有任何理由这么做

12

让你的工程师去学oracle

培训

以上步骤的中的第5步可能会出问题。我不确认。。。

但是即使第5步不成功,问题应该也不大


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6754414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存