[转帖]oracle 9i 日常维护之切换临时表空间操作_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3767 | 回复: 0   主题: [转帖]oracle 9i 日常维护之切换临时表空间操作        下一篇 
white
注册用户
等级:少校
经验:1327
发帖:305
精华:0
注册:2011-7-21
状态:离线
发送短消息息给white 加好友    发送短消息息给white 发消息
发表于: IP:您无权察看 2011-8-2 9:14:27 | [全部帖] [楼主帖] 楼主

oracle 9i 日常维护之切换临时表空间操作


由于oracle数据文件所在的磁盘空间紧张,为了避免突然的磁盘空间不足,

其原因还是temp临时表空间太大造成的。

今天决定将临时表空间切换到另外一个分区中,这样空间节省出来了,

磁盘读取压力也分散开来,提高了性能

切换过程:

首先创建一个临时表空间

使用 sysdba 登录系统

create temporary tablespace tempt tempfile '/usr/oracle/oradata/prod/tempt.dbf'
size 2048M autoextend on;


创建完新的临时表空间之后,准备切换,在切换之前先查看一下系统用户现在使用的临时表空间文件

select username, temporary_tablespace from dba_users;


确认后,没有问题切换开始:

alter database default temporary tablespace tempt;


OK  没问题,下一步:

在此确认是否切换成功?

select username, temporary_tablespace from dba_users;


下面删除不再使用的临时表空间:

注意在这里出现了问题:

drop tablesoace temp including contents and datafile;


由于数据文件比较大,光标这这闪了好长时间,觉得不对劲,在大的文件也该删掉了,

怎么还是一直在进行呢?

执行了 ctrl+c 取消了该操作(注意:这种操作不能轻易取消,否则会有意想不到的后果!)

ORA-1013 signalled during: drop tablespace tempts...  (警告日志中的ORA错误)


推出sqlp*plus 回到ROOT用户 使用lsof | grep oracle  结果有进程在访问 tempts 的数据文件

在此登录sql*plus

执行 alter database tempfile  '/usr/oracle/oradata/prod/tempts.dbf' offline ;

OK 没问题!

再次执行  drop tablesoace temp;  

这次保险点儿,只将数据字典的tempts 删除然后再手工删除物理的数据文件

临时表空间切换��成.

在之前做了测试 直接删除是没有问题的,可是在生产库上直接删除就不行,

应该是原来的进程在访问那个临时表空间,所以先将其脱机是比较好的方式。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论