首页 > 其他分享 >使用11G的方式修改12C数据文件路径

使用11G的方式修改12C数据文件路径

时间:2023-02-13 09:57:08浏览次数:46  
标签:11G 12C 数据文件 pdb02 app datafile dbf oradata slnngk

环境:

OS:Centos 7

DB:12.2.0.1

从12C之后我们可以使用如下方式在线迁移数据文件
alter database move datafile '/path/A' to '/path/B'
但是使用原11G之前的方法迁移也是可以的,迁移例子如下,system文件比较特殊,需要关闭pdb,其他的数据文件offline即可

 

1.迁移系统文件system01

##查看数据文件

SQL> select file#,name from v$datafile;
 
        18 /u01/app/oracle/oradata/slnngk/pdb02/SLNNGK/F4536337D4BF5829E055CEFFD4D56E1F/datafile/o1_mf_system_kycz8o2p_.dbf
        19 /u01/app/oracle/oradata/slnngk/pdb02/SLNNGK/F4536337D4BF5829E055CEFFD4D56E1F/datafile/o1_mf_sysaux_kycz8o2s_.dbf
        20 /u01/app/oracle/oradata/slnngk/pdb02/SLNNGK/F4536337D4BF5829E055CEFFD4D56E1F/datafile/o1_mf_undotbs1_kycz8o2s_.dbf

 

##关闭pdb
SQL> alter session set container=pdb02;
SQL> shutdown immediate
Pluggable Database closed.

 

##拷贝文件到新目录
RMAN>copy datafile 18 to '/u01/app/oracle/oradata/slnngk/pdb02/system01.dbf';

 

##更新控制文件(sql模式下执行)
SQL> alter database rename file '/u01/app/oracle/oradata/slnngk/pdb02/SLNNGK/F4536337D4BF5829E055CEFFD4D56E1F/datafile/o1_mf_system_kycz8o2p_.dbf' to '/u01/app/oracle/oradata/slnngk/pdb02/system01.dbf';

 

##恢复文件
RMAN>recover datafile 18;

##启动数据库
SQL> alter session set container=pdb02;
SQL> startup
Pluggable Database opened.

 

2.普通文件sysaux01
##数据文件offline
SQL> alter session set container=pdb02;
SQL> alter database datafile 19 offline;
##拷贝数据文件
RMAN>copy datafile 19 to '/u01/app/oracle/oradata/slnngk/pdb02/sysaux01.dbf';
##这个时候数据库控制文件字典信息还没有修改,需要执行如下命令修改控制文件信息
RMAN> switch datafile 19 to copy;
datafile 19 switched to datafile copy "/u01/app/oracle/oradata/slnngk/pdb02/sysaux01.dbf
##这个时候查询数据字典,发现数据文件已经改变

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

     FILE# NAME
---------- ------------------------------------------------------------------------------------------------------------------------
        18 /u01/app/oracle/oradata/slnngk/pdb02/system01.dbf
        19 /u01/app/oracle/oradata/slnngk/pdb02/sysaux01.dbf
        20 /u01/app/oracle/oradata/slnngk/pdb02/SLNNGK/F4536337D4BF5829E055CEFFD4D56E1F/datafile/o1_mf_undotbs1_kycz8o2s_.dbf

##或者使用rename的方式更新控制文件
SQL> alter database rename file '/u01/app/oracle/oradata/slnngk/pdb02/SLNNGK/F4536337D4BF5829E055CEFFD4D56E1F/datafile/o1_mf_sysaux_kycz8o2s_.dbf' to '/u01/app/oracle/oradata/slnngk/pdb02/sysaux01.dbf';
然后恢复数据文件并online

##恢复数据文件并进行online
RMAN> recover datafile 19;
SQL> alter database datafile 19 online;

 

3.普通文件undotbs1

SQL> alter session set container=pdb02;
SQL> alter database datafile 20 offline;
alter database datafile 20 offline
*
ERROR at line 1:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00376: file 20 cannot be read at this time
ORA-01110: data file 20: '/u01/app/oracle/oradata/slnngk/pdb02/SLNNGK/F4536337D4BF5829E055CEFFD4D56E1F/datafile/o1_mf_undotbs1_kycz8o2s_.dbf'
ORA-00376: file 20 cannot be read at this time
ORA-01110: data file 20: '/u01/app/oracle/oradata/slnngk/pdb02/SLNNGK/F4536337D4BF5829E055CEFFD4D56E1F/datafile/o1_mf_undotbs1_kycz8o2s_.dbf'
ORA-00376: file 20 cannot be read at this time
ORA-01110: data file 20: '/u01/app/oracle/oradata/slnngk/pdb02/SLNNGK/F4536337D4BF5829E055CEFFD4D56E1F/datafile/o1_mf_undotbs1_kycz8o2s_.dbf'
Process ID: 22569
Session ID: 75 Serial number: 27145

这个时候当前会话已经中断了,退出重新登录查看数据文件状态

SQL> alter session set container=pdb02;
SQL> set linesize 1000;
column file# format 99;
column name format a100;
column status format a10;
SQL> select file#,name,status from v$datafile;

     FILE# NAME                                                                                                          STATUS
---------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------
        18 /u01/app/oracle/oradata/slnngk/pdb02/system01.dbf                                                             SYSTEM
        19 /u01/app/oracle/oradata/slnngk/pdb02/sysaux01.dbf                                                             ONLINE
        20 /u01/app/oracle/oradata/slnngk/pdb02/SLNNGK/F4536337D4BF5829E055CEFFD4D56E1F/datafile/o1_mf_undotbs1_kycz8o2s_.dbf                                                                                                                 RECOVER

 

RMAN>copy datafile 20 to '/u01/app/oracle/oradata/slnngk/pdb02/undotbs01.dbf';
这个时候数据库控制文件字典信息还没有修改,需要执行如下命令修改控制文件信息
RMAN> switch datafile 20 to copy;

这个时候查询数据字典,发现数据文件已经改变

 

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

     FILE# NAME
---------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        18 /u01/app/oracle/oradata/slnngk/pdb02/system01.dbf
        19 /u01/app/oracle/oradata/slnngk/pdb02/sysaux01.dbf
        20 /u01/app/oracle/oradata/slnngk/pdb02/undotbs01.dbf

或者
SQL> alter database rename file '/u01/app/oracle/oradata/slnngk/pdb02/SLNNGK/F4536337D4BF5829E055CEFFD4D56E1F/datafile/o1_mf_undotbs1_kycz8o2s_.dbf' to '/u01/app/oracle/oradata/slnngk/pdb02/undotbs01.dbf';
然后恢复数据文件并online
RMAN> recover datafile 20;
SQL> alter database datafile 20 online;

再次查看数据库文件状态

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

FILE# NAME                                                                                                 STATUS
----- ---------------------------------------------------------------------------------------------------- ----------
   18 /u01/app/oracle/oradata/slnngk/pdb02/system01.dbf                                                    SYSTEM
   19 /u01/app/oracle/oradata/slnngk/pdb02/sysaux01.dbf                                                    ONLINE
   20 /u01/app/oracle/oradata/slnngk/pdb02/undotbs01.dbf                                                   ONLINE

 

 

 

-- The End --

 

标签:11G,12C,数据文件,pdb02,app,datafile,dbf,oradata,slnngk
From: https://www.cnblogs.com/hxlasky/p/17115360.html

相关文章

  • 【Docker】部署Oracle11g
    该来的总是要来的,之前已经讲过SQLServer、MySQL的docker部署,接下来总该到Oracle这个主流的数据库了。1.部署镜像这次部署的oracle数据库是11g。为什么要部署11g而不是12c......
  • CentOS7-Oracle11g 安装记录
    1.CentOS7Oracle11g需要安装的依赖包binutils-2.23.52.0.1-12.el7.x86_64compat-libcap1-1.10-3.el7.x86_64compat-libstdc++-33-3.2.3-71.el7.i686compat-libst......
  • CF1511G Chips on a Board
    CF1511GChipsonaBoard比较有启发性的一道题。询问是最简单的nim游戏,不难发现若一列上有两个棋子,那么这两个棋子对于答案是没有贡献的,因此可以令\(c_i\)表示第\(......
  • python创建一个全为1的数据文件
    linux下创建一个全为1的数据文件touchm.pyimportstructcnt=128data=[0xFF]withopen('data','wb+')asfp:whilecnt>0:a=struct.pack(......
  • 备库数据文件存在坏块,运用主库rman备份进行恢复
    文档课题:备库数据文件存在坏块,运用主库rman备份进行恢复.数据库:oracle11.2.0.4主机名:主库leo-oel150备库:leo-oel1511、模拟坏块1.1、备库备份[oracle@leo-oel151~]$rma......
  • weblogic12C修复漏洞(禁用T3+IIOP)
    目录weblogic12C修复漏洞(禁用T3+IIOP)1、禁用T3协议1.1、配置规则1.2、启动2、禁用IIOP协议weblogic12C修复漏洞(禁用T3+IIOP)参考博客:https://blog.csdn.net/m0_716926......
  • 备库恢复数据文件报错ORA-19573、ORA-19870
    问题描述:备库恢复数据文件报错ORA-19573、ORA-19870,如下所示:数据库:oracle11.2.0.4主机名:主库leo-oel150备库leo-oel1511、问题重现--备库检查users表空间,发现存在坏块.RM......
  • 静默安装oracle 12c时报错INS-35178
    问题描述:静默安装oracle12c时报错INS-35178,如下所示:图形界面告警如下:配置文件中数据库内存管理选项如下所示:异常原因:物理内存大于4G不能用AMM,只能使用ASMM.解决方案:将配......
  • SQLSserver数据文件碎片查看
    CREATETABLE#FileSize(dbNameNVARCHAR(128),FileNameNVARCHAR(128),type_descNVARCHAR(128),CurrentSizeMBDECIMAL(10,2),FreeSpaceMBDEC......
  • CentOS7静默安装Oracle11g
    操作系统 安装前的准备修改主机名添加主机名与IP对应记录 安装依赖包yum-yinstallgccgcc-c++makeelfutils-libelf-develelfutils-libelf-devel-static......