Chinaunix首页 | 论坛 | 博客
  • 博客访问: 687921
  • 博文数量: 147
  • 博客积分: 5347
  • 博客等级: 大校
  • 技术积分: 1453
  • 用 户 组: 普通用户
  • 注册时间: 2005-06-06 11:11
文章分类

全部博文(147)

文章存档

2014年(4)

2012年(9)

2011年(5)

2010年(28)

2009年(21)

2008年(29)

2007年(15)

2006年(17)

2005年(19)

我的朋友

分类: Oracle

2009-09-18 14:07:18

Vmware LINUX虚拟机增加硬盘空间

ORACLE在线文件迁移

 

一、           VMWARELINUX虚拟机增加硬盘空间:

1、  关闭运行的LINUX虚拟机;

2、  选中VMWARE物理机—configuration---storage----选中需要扩充的盘---属性---add extend;

3、  选中LINUX虚拟机---setting---硬盘设置----编辑可用硬盘空间;

4、  启动LINUX虚拟机----FDISK –L 查看现有分区---FDISK /dev/sda(前一步骤中出现的设备名称)----M(显示帮助)---p(显示工作菜单)---n(新建一个分区,在随后出现的菜单中选e(扩展分区)或p(主分区)---然后选相应的分区号码)---W(存盘退出)

5、  Reboot linux 虚拟机----格式化新创建的分区 mkfs.ext3 /dev/sda?

6、  创建mountmkdir /ora_data----编辑/etc/fstab设置成自动启动模式:

/dev/sda?    /ora_data   defaults  1 3

7、  Reboot linux 虚拟机---启动完毕后df -m ----显示出新创建的分区---在此分区上写删文

件测试完成硬盘空间的增加。

 

二、           ORACLE数据文件从原有分区迁移到新创建的分区:

   1、查看现有表空间、数据文件分布情况及大小:

   select b.name,a.name,a.status,bytes/1024/1024 from v$datafile a,v$tablespace b

        where a.ts#=b.ts#

2、从步骤一中选择需要迁移的表空间,记录表名称及文件名称;

3、将要迁移的表空间 offline;

   alter tablespace ts_name offline;

   通过步骤一查看是否已经正确offline;

   4、将offline的表空间对应的数据文件通过操作系统COPY到新的目的地:

5、修改数据库中表空间、数据文件对应关系

    alter   database   rename  file 'D:\DATA\NNC_DATA01.ORA' to 'D:\new\NNC_DATA01.ORA';

   通过查看步骤一来确认是否已经更改完毕

   6、将offline的表空间online

   alter  tablespace ts_name online;

   通过查看步骤一来确认是否已经更改完毕

7、  迁移完毕后,重启数据库,将原目录下的对应文件删除

 

注:

具体的迁移脚本:

1\ OFFINE TABLESAPCE:

alter tablespace DCLSBT_0905 offline;

alter tablespace DCLSBT_0906 offline;

alter tablespace DCLSBT_0906 offline;

 

2\ COPY DATAFILE TO NEW DIRECTORY:

CP /oracle/oradata/crmii/DCLSBT_0907.ORA      /ora_data/DCLSBT_0907.ORA

CP /oracle/oradata/crmii/DCLSBT_0907_01.ORA   /ora_data/DCLSBT_0907_01.ORA

CP /oracle/oradata/crmii/DCLSBT_0906.ORA      /ora_data/DCLSBT_0906.ORA

CP /oracle/oradata/crmii/DCLSBT_0906_01.ORA   /ora_data/DCLSBT_0906_01.ORA

CP /oracle/oradata/crmii/DCLSBT_0905.ORA      /ora_data/DCLSBT_0905.ORA

 

3\ RENAME DATAFILE IN DATABASE:

--rename partion 09-07

alter   database   rename  file '/oracle/oradata/crmii/DCLSBT_0907.ORA' to '/ora_data/DCLSBT_0907.ORA';

alter   database   rename  file '/oracle/oradata/crmii/DCLSBT_0907_01.ORA' to '/ora_data/DCLSBT_0907_01.ORA';

--rename partion 09-06

alter   database   rename  file '/oracle/oradata/crmii/DCLSBT_0906.ORA' to '/ora_data/DCLSBT_0906.ORA';

alter   database   rename  file '/oracle/oradata/crmii/DCLSBT_0906_01.ORA' to '/ora_data/DCLSBT_0906_01.ORA';

--rename partion 09-05

alter   database   rename  file '/oracle/oradata/crmii/DCLSBT_0905.ORA' to '/ora_data/DCLSBT_0905.ORA';

 

4\ ONLINE DATABASE:

alter tablespace DCLSBT_0905 online;

alter tablespace DCLSBT_0906 online;

alter tablespace DCLSBT_0906 online;

 

5\ restart DB:

shutdown immediate;

 

6\ delete datafile in old directory.

阅读(1797) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~