Chinaunix首页 | 论坛 | 博客
  • 博客访问: 229379
  • 博文数量: 57
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 674
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-30 22:48
个人简介

2014,换个角度,希望接下来的事情值得期待。

文章分类

全部博文(57)

文章存档

2015年(1)

2014年(55)

2013年(1)

我的朋友

分类: Oracle

2014-02-21 13:13:08

一、从数据文件层次移动
1.offline datafile
alter database datafile 'd:\oracle\xxx.dbf' offline;
2.移动数据文件到新位置
3.命名新文件,使数据文件名称指向新地址文件名
alter database rename file 'xxx.dbf' to 'd:\aaa.dbf';
4介质恢复,offline数据文件,需要media recovery.
recover datafile 'd:\aaa.dbf';
5.online数据文件
alter database datafile 'd:\aaa.dbf' online;
二、从表空间层次移动
1、将表空间offline
alter tablespace jerry offline;
2、移动数据文件到新的位置
3、命名新文件,使数据文件名称指向新地址文件名
alter tablespace jerry rename datafile 'd:\aaa.dbf' to 'd:\oracle\xxx.dbf';
4.ONLINE表空间
alter tablespace jerry online;
测试
1.先备份数据库,以防测试失败恢复
C:\Users\jerry>rman target /
恢复管理器: Release 11.2.0.1.0 - Production on 星期五 2月 21 12:53:13 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到目标数据库: ORCL (DBID=1342507489)
RMAN> backup database;
启动 backup 于 21-2月 -14
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=133 设备类型=DISK
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00001 名称=D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件: 文件号=00002 名称=D:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件: 文件号=00006 名称=D:\ORACLE\ORADATA\ORCL\JERRY.DBF
输入数据文件: 文件号=00003 名称=D:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件: 文件号=00005 名称=D:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF
输入数据文件: 文件号=00004 名称=D:\ORACLE\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 21-2月 -14
通道 ORA_DISK_1: 已完成段 1 于 21-2月 -14
段句柄=D:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_02_21\O1_MF_NNNDF_TAG20140221T125325_9JFPY6XD_.BKP 标记=TAG20140221T125325 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:45
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 21-2月 -14
通道 ORA_DISK_1: 已完成段 1 于 21-2月 -14
段句柄=D:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_02_21\O1_MF_NCSNF_TAG20140221T125325_9JFPZNYR_.BKP 标记=TAG20140221T125325 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 21-2月 -14
2、查看数据库是否处理归档模式。
C:\Users\jerry>sqlplus / as sysdba;


SQL*Plus: Release 11.2.0.1.0 Production on 星期五 2月 21 12:54:44 2014


Copyright (c) 1982, 2010, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> SELECT T.NAME, T.LOG_MODE,T.OPEN_RESETLOGS FROM V$DATABASE T ;


NAME      LOG_MODE     OPEN_RESETL
--------- ------------ -----------
ORCL      ARCHIVELOG   NOT ALLOWED


3.创建测试表空间和表,
SQL> create tablespace test datafile 'D:\ORACLE\ORADATA\ORCL\test01.dbf' size 20m;


表空间已创建。
SQL> create table test01(id number) tablespace test;
表已创建。
SQL> insert into test01 values(1);
已创建 1 行。
SQL> insert into test01 values(2);
已创建 1 行。
SQL> insert into test01 values(3);
已创建 1 行。
SQL> commit;
提交完成。


4.移动数据文件(从数据文件层面)
4.1 offline datafile
SQL> alter database datafile 'D:\ORACLE\ORADATA\ORCL\TEST01.DBF' offline;


数据库已更改。


4.2 手工剪切数据库文件D:\ORACLE\ORADATA\ORCL\TEST01.DBF到D盘根目录。


4.3重新指向
SQL> alter database rename file 'D:\ORACLE\ORADATA\ORCL\TEST01.DBF' to 'D:\TEST01.DBF';


数据库已更改。


4.4介质恢复
SQL> recover datafile  'D:\TEST01.DBF';
完成介质恢复。
4.5 online数据文件。
SQL> alter database datafile  'D:\TEST01.DBF' online;


数据库已更改。


SQL> select * from test01;


        ID
----------
         1
         2
         3


二、从表空间层面移动


SQL> select file_name from dba_data_files;


FILE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\ORADATA\ORCL\USERS01.DBF
D:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
D:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
D:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF
D:\TEST01.DBF
D:\ORACLE\ORADATA\ORCL\JERRY.DBF


已选择7行。
2.2offline 表空间
SQL> alter tablespace test offline;


表空间已更改。


2.3 手工剪切数据文件到D:\ORACLE\ORADATA\ORCL\


2.3 使表空间中数据文件名指向新的数据文件名称。
SQL> alter tablespace test rename datafile 'D:\TEST01.DBF' to 'D:\ORACLE\ORADATA\ORCL\TEST01.DBF';


表空间已更改。


2.4查看现在的数据文件地址。
SQL> select file_name from dba_data_files;


FILE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\ORADATA\ORCL\USERS01.DBF
D:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
D:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
D:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF
D:\ORACLE\ORADATA\ORCL\TEST01.DBF
D:\ORACLE\ORADATA\ORCL\JERRY.DBF


已选择7行。
2.5 online表空间
SQL> alter tablespace test online;


表空间已更改。


SQL> select * from test01;


        ID
----------
         1
         2
         3
阅读(1982) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~