免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3306 | 回复: 10
打印 上一主题 下一主题

如何将oracle从一个磁盘阵列挪到另外一个磁盘阵列上去? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-21 13:20 |只看该作者 |倒序浏览
oracle 9i
服务器上挂了2个磁盘阵列
/database1   150g
/database2   300g
一开始数据库是装在/database1上的,控制文件,redolog等都在/databse1上。 现在我想将 /database1 做别的用处,需要将所有的文件都挪到/database2上,该怎么做呢?
谢谢!!

论坛徽章:
0
2 [报告]
发表于 2004-04-21 13:58 |只看该作者

如何将oracle从一个磁盘阵列挪到另外一个磁盘阵列上去?

在什么平台上,说清楚.

论坛徽章:
0
3 [报告]
发表于 2004-04-21 14:20 |只看该作者

如何将oracle从一个磁盘阵列挪到另外一个磁盘阵列上去?

把所有要转移的文件拷至/database2上,
在svrmgrl中执行

shutdown immediate;

startup mount;
alter database file  '/database1/file 1' rename to '/database2/file 1';
...

alter database file  '/database1/file n' rename to '/database2/file n';

alter database open;

论坛徽章:
0
4 [报告]
发表于 2004-04-21 15:42 |只看该作者

如何将oracle从一个磁盘阵列挪到另外一个磁盘阵列上去?

原帖由 "zgahj" 发表:
把所有要转移的文件拷至/database2上,
在svrmgrl中执行

shutdown immediate;

startup mount;
alter database file  '/database1/file 1' rename to '/database2/file 1';
...

alter database file  '/d..........


操作系统是solaris,  system表空间的文件也能这样么? 除了移动数据文件还有什么别的要注意的地方么?
谢谢!

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-05-12 06:20:00
5 [报告]
发表于 2004-04-21 19:30 |只看该作者

如何将oracle从一个磁盘阵列挪到另外一个磁盘阵列上去?

直接拷贝文件真的很麻烦

论坛徽章:
0
6 [报告]
发表于 2004-04-21 19:38 |只看该作者

如何将oracle从一个磁盘阵列挪到另外一个磁盘阵列上去?

我有一个想法,就是利用UNIX的MOUNT功能:正常关闭数据库,把/DATABASE1里的文件拷到/DATABASE2,改MNTTAB文件(好象是这个文件吧),把两个阵列的MOUNT点对调(把原来MOUNT到/DATABASE1的设备文件MOUNT 到/DATABASE2上,原来MOUNT到/DATABASE2的设备文件MOUNT 到/DATABASE1上),重启系统。数据库中的文件名不变,而物理上已经到了另一个阵列上了。
如果拷完数据,不改设备的MOUNT点,那就要象上面说的改数据库文件名,首先在初始化文件中改控制文件的名称(也就是改路径),归档日志的存放目录也在初始化文件中改,再在MOUNT状态下用ALTER DATABASE … RENAME TO…命令,包括所有的数据文件和日志文件,SYSTEM表空间的文件也可以改且必须改。

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-05-12 06:20:00
7 [报告]
发表于 2004-04-21 19:44 |只看该作者

如何将oracle从一个磁盘阵列挪到另外一个磁盘阵列上去?

原帖由 "zgahj" 发表:
把所有要转移的文件拷至/database2上,
在svrmgrl中执行

shutdown immediate;

startup mount;
alter database file  '/database1/file 1' rename to '/database2/file 1';
...

alter database file  '/d..........

太简单了吧,我所知道的
1 cp 数据
2  alter database file //    rename to ""
3 修改 initS_ID.ora 中的 contralfile路径
4修改 tnsnames.ora,listener.ora
5   关键还的重建controlfile  这一步青高手补充 alter database file "control file" to ""???
6  startup  mount
7 recover database  
     以上有不完整的请补充 最稳妥的还是 imp  和 exp

论坛徽章:
0
8 [报告]
发表于 2004-04-21 19:47 |只看该作者

如何将oracle从一个磁盘阵列挪到另外一个磁盘阵列上去?

没必要做RECOVER吧,也不用重建控制文件吧。
ALTER DATABASE … RENAME TO…的作用就是修改控制文件的内容。
NOMOUNT状态加载初始化文件,而其中记录了控制文件的名称和归档日志的路径,在MOUNT时就加载初始化文件中设置的控制文件,OPEN时才去读控制文件里记录的数据文件和日志文件。

论坛徽章:
0
9 [报告]
发表于 2004-04-21 22:05 |只看该作者

如何将oracle从一个磁盘阵列挪到另外一个磁盘阵列上去?

谢谢各位,troyzeng 的方法不错,等新的阵列来了再试用一下,目前还不行,因为database2阵列上也有一部分数据文件。
似乎不是很难,我已经把部分表空间的数据文件用转移到database2上了,用的是alter database ......
现在就差system表空间和undo表空间,tmp表空间等几个没有挪了,因为必须要把库shutdown才行。 应不会出什么问题吧 :)

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-05-12 06:20:00
10 [报告]
发表于 2004-04-22 08:10 |只看该作者

如何将oracle从一个磁盘阵列挪到另外一个磁盘阵列上去?

[quote]原帖由 "troyzeng"]我有一个想法,就是利用UNIX的MOUNT功能:正常关闭数据库,把/DATABASE1里的文件拷到/DATABASE2,改MNTTAB文件(好象是这个文件吧),把两个阵列的MOUNT点对调(把原来MOUNT到/DATABASE1的设备文件MOUNT 到/DATABASE..........[/quote 发表:

修改安装点,这招高
至于拷文件你说的对应该不用RECOVER DATABASE 了,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP