全部博文(147)
分类: Oracle
2009-09-18 14:07:18
Vmware 下 LINUX虚拟机增加硬盘空间
及ORACLE在线文件迁移
一、 VMWARE下LINUX虚拟机增加硬盘空间:
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、 创建mount点mkdir /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.