Chinaunix首页 | 论坛 | 博客
  • 博客访问: 340556
  • 博文数量: 85
  • 博客积分: 1420
  • 博客等级: 上尉
  • 技术积分: 787
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-10 09:02
文章分类

全部博文(85)

文章存档

2011年(5)

2010年(51)

2009年(29)

我的朋友

分类: Oracle

2010-09-30 22:54:12

数据文件存放的位置是在文件系统。

一、移动数据文件

1.alter tablespace tbs read only;

2.alter tablespace tbs offline;

3.offline后拷贝一份原文件,并命名为新文件名

4.alter tablespace tbs rename datafile 'tbs_file_old.dbf' to 'tbs_file_new.dbf';

5.alter tablespace tbs online;

6.alter tablespace tbs read write;

搞定

二、移动undo表空间
方法,采用新建一个新的undo来解决。

1.       创建新的undotbs2表空间 8g
CREATE  UNDO TABLESPACE undotbs2 DATAFILE '/路径/undotbs2_01.dbf' SIZE 8000m AUTOEXTEND;
2.       alter system set undo_tablespace=undotbs2 scope=both;
3.       等待原来undo表空间所有的undo segment offline;
SELECT * FROM v$rollstat t ORDER BY rssize;
不要出现 pending offline
4.       删除原来的undotbs1表空间
drop tablespace undotbs1 including contents;

三、移动在线日志文件
方法:采用新增日志组的方法,然后 删除之前状态是inactive的日志文件
我是用TODA做的,呵呵,感觉 直关。那时原来的日志都是active,由于这时没有数据录入。
做了一个checkpoing后就都inacitve了。
另外:我一直以为日志组的个数据受建库时设定的大小有关。这一次在做实验时,发现这个可以动态增长,不知道是否是这个问题。

四、移动临时表空间文件
未做。
遇到的问题:

这次删除undo及redo文件,没有同时删除在操作系统上的文件。
另外:在这个用os 拷贝文件是我一个数据文件生成一条copy 命令,最后一起复制到SecureCRT中执行。发现两次都批量拷贝都少复制到一个文件,还好后面有检查 。
所以 总结:做完一定要检查检查再检查后再del原来的文件。
阅读(2767) | 评论(0) | 转发(0) |
0

上一篇:oracle for linux

下一篇:UE正则

给主人留下些什么吧!~~