在线重定义数据文件:
在oracle 12c R1之前的版本中,如果在线移动数据文件需要将表空间或者数据文件离线,然后操作系统mv,recover后online数据文件或者表空间,在oracle 12c R1后可以直接在线重定义数据文件,这个过程用户可以进行查询、DML以及DDL的任务,另外数据文件也可以直接在存储设备间迁移,比如ASM到文件系统的相互迁移。
SQL> select name from v$datafile;
NAME
-----------------------------------------------------------------------------------------------------------------------------------------
/oracle12c/app/oracle12/oradata/oracle12c/system01.dbf
/oracle12c/app/oracle12/oradata/oracle12c/sysaux01.dbf
/oracle12c/app/oracle12/oradata/oracle12c/undotbs01.dbf
/oracle12c/app/oracle12/oradata/oracle12c/undotbs02.dbf
/oracle12c/app/oracle12/oradata/oracle12c/users01.dbf
在线移动数据文件
SQL> alter database move datafile '/oracle12c/app/oracle12/oradata/oracle12c/users01.dbf' to '/oracle12c/app/oracle12/oradata/oracle12c/users02.dbf';
Database altered.
SQL> !ls -l /oracle12c/app/oracle12/oradata/oracle12c/
total 2258588
-rw-r-----. 1 oracle12 oinstall 10141696 Dec 16 23:31 control01.ctl
-rw-r-----. 1 oracle12 oinstall 52429312 Dec 16 23:30 redo01.log
-rw-r-----. 1 oracle12 oinstall 52429312 Dec 16 22:00 redo02.log
-rw-r-----. 1 oracle12 oinstall 52429312 Dec 16 23:13 redo03.log
-rw-r-----. 1 oracle12 oinstall 880812032 Dec 16 23:28 sysaux01.dbf
-rw-r-----. 1 oracle12 oinstall 1006641152 Dec 16 23:30 system01.dbf
-rw-r-----. 1 oracle12 oinstall 62922752 Dec 16 23:23 temp01.dbf
-rw-r-----. 1 oracle12 oinstall 68165632 Dec 16 23:28 undotbs01.dbf
-rw-r-----. 1 oracle12 oinstall 1056768 Dec 16 23:18 undotbs02.dbf
-rw-r-----. 1 oracle12 oinstall 149430272 Dec 16 23:22 users02.dbf
在线移动数据文件并且保留之前的数据文件位置
SQL> alter database move datafile '/oracle12c/app/oracle12/oradata/oracle12c/users02.dbf' to '/oracle12c/app/oracle12/oradata/oracle12c/users01.dbf' keep;
Database altered.
SQL> !ls -l /oracle12c/app/oracle12/oradata/oracle12c/
total 3185324
-rw-r-----. 1 oracle12 oinstall 10141696 Dec 16 23:40 control01.ctl
-rw-r-----. 1 oracle12 oinstall 52429312 Dec 16 23:40 redo01.log
-rw-r-----. 1 oracle12 oinstall 52429312 Dec 16 23:40 redo02.log
-rw-r-----. 1 oracle12 oinstall 52429312 Dec 16 23:40 redo03.log
-rw-r-----. 1 oracle12 oinstall 880812032 Dec 16 23:40 sysaux01.dbf
-rw-r-----. 1 oracle12 oinstall 1006641152 Dec 16 23:40 system01.dbf
-rw-r-----. 1 oracle12 oinstall 62922752 Dec 16 23:23 temp01.dbf
-rw-r-----. 1 oracle12 oinstall 68165632 Dec 16 23:40 undotbs01.dbf
-rw-r-----. 1 oracle12 oinstall 1056768 Dec 16 23:40 undotbs02.dbf
-rw-r-----. 1 oracle12 oinstall 549199872 Dec 16 23:40 users01.dbf
-rw-r-----. 1 oracle12 oinstall 549199872 Dec 16 23:40 users02.dbf
在线迁移表分区或者子分区:
SQL> CREATE TABLE t_part
(
id NUMBER,
name VARCHAR2(100)
)
partition BY range
(
id
)
(
partition p1 VALUES less than(1000) TABLESPACE users,
partition pmax VALUES less than(maxvalue) TABLESPACE test
)
SQL> show user;
USER is "SYS"
SQL> alter table t_part move partition p1 tablespace test;
Table altered.
SQL> alter table t_part move partition p1 tablespace test online;
alter table t_part move partition p1 tablespace test online
*
ERROR at line 1:
ORA-14809: ONLINE MOVE PARTITION not supported for this schem
这里需要注意在线迁移表分区或者子分区的特性只对非SYS用户使用,SYS用户不支持这个特性
SQL> conn xiaoyu/xiaoyu
Connected.
SQL> alter table t_part move partition p1 tablespace test update indexes online;
Table altered.
这里的在线迁移并不会影响该表的DML操作,为了满足在线迁移的特性,oracle需要引入锁机制,这个会导致下降并且产生大量的redo,影响程度取决于表分区或者子分区的大小,当然oracle推出的新特性可能也会存在一定的隐患,这个需要dba多去关注mos上的文章。
电神魔傀2街机免费版 官方版v1.2.1
下载三国战纪2手游腾讯渠道服 安卓版v2.41.0.0
下载三国战纪2手游抖音渠道服 安卓版v2.41.0.0
下载三国战纪2折扣服 安卓版v2.41.0.0
下载叫我大掌柜小米版 安卓版v7.4.4
叫我大掌柜小米版是这款模拟经营类手游的渠道服版本,在此版本中
cooking fever正版 安卓最新版v23.0.2
cooking fever正版是一款非常好玩的模拟经营类手游
咖啡厅的生活故事 最新版v1.7
咖啡厅的生活故事是一款模拟经营游戏,玩家们在游戏中可以经营一
迅猛龙模拟器金币不减反增版 v1.1.8
迅猛龙模拟器无限金币版是一款动物模拟类游戏,玩家们将在游戏中
泽塔奥特曼升华器免广告版 v1.4
泽塔奥特曼升华器去广告版是游戏的破解版本,在该版本中为玩家去