代码改变世界

将数据文件从普通文件系统移动到ASM

  abce  阅读(720)  评论(2编辑  收藏  举报

场景一:数据库可以关闭
1.关闭并mount数据库

1
2
3
$ sqlplus '/as sysdba'
SQL> shutdown immediate
SQL> startup mount;

2.确保ASM系统的空间大小够用

1
2
3
4
5
6
7
8
SQL> select file#,name,bytes/1024/1024 file_size_mb from v$datafile;
  
     FILE# NAME                                                         FILE_SIZE_MB
---------- ------------------------------------------------------------ ------------
         1 +DATA/test/datafile/system.285.914350599                             790
         2 +DATA/test/datafile/sysaux.276.914350599                            2140
         3 +DATA/test/datafile/undotbs1.280.914350599                           130
         4 +DATA/test/datafile/users.284.914350599                             2140

3.连接到RMAN并copy数据文件

1
2
$ rman target /
RMAN> copy datafile 4 to '+test';

4.更新控制文件中的信息

1
2
$ rman target /
RMAN> switch datafile 4 to copy;

5.查看结果

1
SQL> select file#,name from v$datafile;

6.打开数据库

 

 

场景二:数据库不可以关闭
1.将表空间offline

1
2
3
4
5
6
7
8
SQL> select tablespace_name, file_name from dba_data_files where file_id=4;
 
 TABLESPACE_NAME    FILE_NAME
 ------------------ ------------------------------
 USERS              /oradata/test/users01.dbf
 
 
SQL> alter tablespace USERS offline;

2.确保ASM系统的空间大小够用

1
2
3
4
5
6
7
8
SQL> select file#,name,bytes/1024/1024 file_size_mb from v$datafile;
  
     FILE# NAME                                                         FILE_SIZE_MB
---------- ------------------------------------------------------------ ------------
         1 +DATA/test/datafile/system.285.914350599                             790
         2 +DATA/test/datafile/sysaux.276.914350599                            2140
         3 +DATA/test/datafile/undotbs1.280.914350599                           130
         4 +DATA/test/datafile/users.284.914350599                             2140

3.连接到RMAN并copy数据文件

1
2
$ rman target /
RMAN> copy datafile 4 to '+test';

4.更新控制文件中的信息

1
2
$ rman target /
RMAN> switch datafile 4 to copy;

5.查看结果

1
SQL> select file#,name from v$datafile;

6.将表空间online

1
SQL> alter tablespace users online;

  

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2015-08-15 RHEL7 -- Linux搭建FTP虚拟用户
点击右上角即可分享
微信分享提示