12C新功能:在线移动数据文件 (Doc ID 1566797.1)

12C New Feature : Move a Datafile Online (Doc ID 1566797.1)

APPLIES TO:

Oracle Database - Enterprise Edition - Version 12.1.0.1 and later
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Information in this document applies to any platform.

GOAL

In this release, a data file can now be moved online while it is open and being accessed, even for data files in system tablespace.  在此版本中,数据文件可以在线(online)联机移动,即使对于系统表空间中的数据文件也是如此。
Being able to move a data file online means that many maintenance operations, such as moving data to another storage device or moving databases into Oracle Automatic Storage Management (Oracle ASM), can be performed while users are accessing the system. This ensures that continuity of service and service-level agreements (SLA) on uptime can be met.    能够在线移动数据文件意味着可以在用户访问系统时执行许多维护操作,例如将数据移动到另一个存储设备或将数据库移动到Oracle自动存储管理(Oracle ASM)。这确保了服务时间和服务水平协议(SLA)在正常运行时间方面的连续性。

SOLUTION

With Oracle 12C, you can now do the following operations while the datafile is online and being accessed:   使用Oracle 12C,您现在可以在数据文件处于联机状态且正在访问时执行以下操作:

1. Renaming an Online Data File       重命名在线数据文件2. Relocating an Online Data File     更改在线数据文件的位置3. Copying an Online Data File        复制在线数据文件4. Relocating an Online Data File and Overwriting an Existing File   更改在线数据文件的位置并覆盖现有文件5. Relocating an Online Data File to Oracle ASM    更改在线数据文件的位置到Oracle ASM

The following is an example of how each operation is done:  下面是每个操作如何完成的示例

Renaming an Online Data File:  重命名在线数据文件===============================
SQL> CREATE TABLESPACE test DATAFILE ‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test.dbf‘ SIZE 50M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;

Tablespace created.

SQL> select file_name, status, online_status from dba_data_files;

FILE_NAME                                                                          STATUS    ONLINE_
------------------------------------------------------------------------------- --------- ----------
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/system01.dbf    AVAILABLE SYSTEM
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/sysaux01.dbf    AVAILABLE ONLINE
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/undotbs01.dbf   AVAILABLE ONLINE
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/users01.dbf     AVAILABLE ONLINE
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test.dbf        AVAILABLE ONLINE

SQL> ALTER DATABASE MOVE DATAFILE ‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test.dbf‘
TO ‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf‘;

Database altered.

SQL> select file_name, status, online_status from dba_data_files where file_name=‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf‘;

FILE_NAME                                                                           STATUS    ONLINE_
-------------------------------------------------------------------------------- --------- ----------
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf AVAILABLE ONLINE
2. Relocating an Online Data File:   更改在线数据文件的位置===================================
SQL> ALTER DATABASE MOVE DATAFILE ‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf‘
TO ‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/test_renamed.dbf‘;

Database altered.

SQL> select file_name, status, online_status from dba_data_files where file_name=‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf‘;

no rows selected

SQL> select file_name, status, online_status from dba_data_files;

FILE_NAME                                                                          STATUS    ONLINE_
------------------------------------------------------------------------------- --------- ----------
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/system01.dbf    AVAILABLE SYSTEM
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/sysaux01.dbf    AVAILABLE ONLINE
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/undotbs01.dbf   AVAILABLE ONLINE
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/users01.dbf     AVAILABLE ONLINE
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/test_renamed.dbf       AVAILABLE ONLINE
3. Copying an Online Data File:   复制在线数据文件=================================
SQL> ALTER DATABASE MOVE DATAFILE ‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf‘
TO ‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/test_renamed.dbf‘ keep;

Database altered.

SQL> select file_name, status, online_status from dba_data_files where file_name=‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf‘;

no rows selected

SQL> select file_name, status, online_status from dba_data_files;

FILE_NAME                                                                          STATUS    ONLINE_
------------------------------------------------------------------------------- --------- ----------
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/system01.dbf    AVAILABLE SYSTEM
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/sysaux01.dbf    AVAILABLE ONLINE
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/undotbs01.dbf   AVAILABLE ONLINE
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/users01.dbf     AVAILABLE ONLINE
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/test_renamed.dbf       AVAILABLE ONLINE

-- expect to see the entry:
-- /bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf
-- AVAILABLE ONLINE

-- However, when i try to move the datafile to the location /bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3 i get the following error
-- which verifies that the datafile was indeed copied and kept available in the old location:

SQL> ALTER DATABASE MOVE DATAFILE ‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/test_renamed.dbf‘
TO ‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf‘;   2
ALTER DATABASE MOVE DATAFILE ‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/test_renamed.dbf‘
*
ERROR at line 1:
ORA-01119: error in creating database file
‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf‘
ORA-27038: created file already exists
Additional information: 1
4. Example of relocating an Online Data File and Overwriting an Existing File: 更改在线数据文件的位置并覆盖现有文件=====================================================================
SQL> ALTER DATABASE MOVE DATAFILE ‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/test_renamed.dbf‘
TO ‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf‘ REUSE;

Database altered.

SQL> select file_name, status, online_status from dba_data_files where file_name=‘/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf‘;

FILE_NAME                                                                           STATUS    ONLINE_
-------------------------------------------------------------------------------- --------- ----------
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf AVAILABLE ONLINE

SQL> select file_name, status, online_status from dba_data_files;

FILE_NAME                                                                           STATUS    ONLINE_
-------------------------------------------------------------------------------- --------- ----------
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/system01.dbf     AVAILABLE SYSTEM
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/sysaux01.dbf     AVAILABLE ONLINE
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/undotbs01.dbf    AVAILABLE ONLINE
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/users01.dbf      AVAILABLE ONLINE
/bugmnt17/em/celclnx14/SR3.5377673271/app/oracle/oradata/T12cB3/test_renamed.dbf AVAILABLE ONLINE
5. Relocate an Online Data File to Oracle ASM:    更改在线数据文件的位置到Oracle ASM================================================
This example moves the data file user1.dbf from the /u01/oracle/rbdb1/ directory to an Oracle ASM location.

ALTER DATABASE MOVE DATAFILE ‘/u01/oracle/rbdb1/user1.dbf‘
  TO ‘+dgroup_01/data/orcl/datafile/user1.dbf‘;

This example moves the data file from one Oracle ASM location to another Oracle ASM location.
ALTER DATABASE MOVE DATAFILE ‘+dgroup_01/data/orcl/datafile/user1.dbf‘
  TO ‘+dgroup_02/data/orcl/datafile/user1.dbf‘;

For more information about moving a datafile online, please refer to: http://docs.oracle.com/cd/E16655_01/server.121/e17636/dfiles.htm#ADMIN13837

原文地址:https://www.cnblogs.com/zylong-sys/p/12043745.html

时间: 2024-11-07 21:59:55

12C新功能:在线移动数据文件 (Doc ID 1566797.1)的相关文章

[20181031]12c 在线移动数据文件.txt

--//12c以前,移动或者改名数据文件是一项比较麻烦的事情,至少要停一下业务.而12c支持在线移动或者改名数据文件,并且有点不可思议--//的是这个操作可以在非归档模式下完成.链接有人问这个安全性的问题,链接http://www.itpub.net/thread-2106077-1-1.html,自己也测试看看.--//没有在linux下安装12c,而且linux下有许多分析工具strace,gdb等等.windows下使用systeminternals的Procmon.exe跟踪看看,直接-

12c新特性 在线操作数据文件

我们都知道,oracle pre-12c之前,若是想要把一个数据文件改名或者迁移, 必须在归档模式下先把这个数据文件offline之后, 然后进行OS上的copy或者rename 操作, 最后在sqlplus里面进行alter database rename file x to Y; 如果不是archivelog模式在offline数据文件的时候就会遇到ORA-01145 SQL> alter database datafile 8 offline; alter database datafil

12C新功能:在线移动分区 (Doc ID 1584032.1)

12C New Feature: Online Move Partition (Doc ID 1584032.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 12.1.0.1 and laterOracle Database Cloud Schema Service - Version N/A and laterOracle Database Exadata Express Cloud Service - Version

Oracle 12c RAC 移动MGMTDB 数据库 数据文件方法

注:本文谢绝转载! 在之前的Blog里介绍了Oracle12c RAC 中的MGMTDB的概念,参考: Oracle 12cRAC MGMTDB 说明 http://blog.csdn.net/tianlesoftware/article/details/41804553 而在默认情况下,MGMTDB 的数据文件是存放在OCR voting disk的磁盘组里的,为了节省OCR 磁盘组空间,我们也可以把MGMTDB 转移走. 当然,这里的移动位置,也是从一个共享位置移动到另一个共享位置. 具体

即将到来的Autodesk 主要产品2015版 产品和API新功能在线培训(免费)

一年一度的Autodesk主要产品和API在线培训课程在5月份即将開始.我们呈献给大家5个课程. 1. Revit 2015 产品新功能及API 概览 2. Vault 2015产品新功能及API 概要 3. AutoCAD 2015产品新功能及API 概要 4. Civil3D 2015产品新功能及API 概要 5. Inventor 2015产品新功能及API 概要 报名參加请到这个页面去了解具体信息,请登记报名.课程免费參加,仅仅要有网络就能够參加. Revit API课程在5月16日下午

Xcode7.3 beta 新功能 https://developer.apple.com/go/?id=xcode-7.3-rn

Xcode7.3 beta 新功能html, body {overflow-x: initial !important;}html { font-size: 14px; } body { margin: 0px; padding: 0px; height: auto; bottom: 0px; top: 0px; left: 0px; right: 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-siz

12C新特性 -- 共享asm口令文件

12C中,ASM口令文件,可以提供本地.远程登录asm的验证.当然,要想使用asm口令文件验证,必须为每个asm创建一个口令文件. 如果是使用asm存储,asmca在配置asm磁盘组的会后,会自动为asm创建口令文件,包含初始的用户sys和asmsnmp.要想增加其他用户,需要使用create user和授权. 如果不是使用asmca配置asm实例,必须手动创建一个口令文件,并授予sys用户sysasm特权. 集群中,可以共享口令文件.存放口令的asm磁盘,compatible.asm的值至少要

Oracle电子商务套件版本12.1.3自述文件 (Doc ID 1534411.1)

文档内容 用途 适用范围 详细信息   应用版本更新包   更新后的步骤   包含的修补程序列表   变更记录   文档可访问性 参考 适用于: Oracle Applications DBA - 版本 12.1.3 到 12.1.3 [发行版 12.1] 本文档所含信息适用于所有平台 用途 Oracle电子商务套件版本12.1.3将Oracle电子商务套件版本12.1之后发布的所有补丁整合成一个高质量的,经过完全测试的版本升级补丁包. 注意: 应用Oracle电子商务套件12.1.3版本补丁包

在线移动oracle 数据文件位置

    在线移动oracle 数据文件 Oracle数据文件可以在数据库OPEN的时候被重命名或移动,但此时表空间必须为只读,这将允许用户从表中查询,但禁止他们这样做的插入,更新和删除,在表空间至于只读状态的时候,冻结数据文件块头.阻止更新数据文件块头,此时才能在线拷贝数据文件 <注:system表空间除外,system 表空间无法offline> 本测试以TEST表空间为例 SQL> select * from v$version; BANNER -------------------