【ASK_ORACLE】Oracle如何重命名PDB

时间:2022-11-07 18:10:26

实验环境

搭建平台:VMware Workstation

OS:OL 7.5

DB:Oracle 12.2.0.1


PDB重命名步骤

1. 把PDB启动到restricted模式,防止新连接进入

SQL> alter pluggable database PDBTEST close;

SQL> alter pluggable database PDBTEST open restricted;

检查是否成功:

SQL> select name, open_mode, restricted from v$pdbs;

 

2. 重命名PDB

SQL> alter session set container=PDBTEST;  --先连接到PDB

SQL> alter pluggable database rename global_name to PDBNEW;  --重命名为PDBNEW


3. 正常重启PDB( 必须重启!

SQL> alter pluggable database close immediate;

SQL> alter pluggable database open;

再次检查是否关闭restricted模式

SQL> select name, open_mode, restricted from v$pdbs;

 

4. 移动PDB的数据文件到新目录

(1)先创建以新名称命名的PDB目录:

$ mkdir /u01/app/oracle/oradata/CDB/pdbnew

(2)再进行在线move操作:

SQL> alter database move datafile '/u01/app/oracle/oradata/CDB/pdbtest/test01.dbf' to '/u01/app/oracle/oradata/CDB/pdbnew/test01.dbf';

注:

(1) 虽然PDB已经改名,但是对应的目录不会被重命名,如果需要命名统一规范化,就 需要手动创建数据文件目录并move,但 临时表空间需要重建!重建方式:

SQL> alter database tempfile '/u01/app/oracle/oradata/CDB/pdbtest/temp01.dbf' drop including datafiles;

SQL> alter tablespace TEMP add tempfile '/u01/app/oracle/oradata/CDB/pdbnew/temp01.dbf' size 1024M reuse;

 

(2) 如果安装时勾选了OMF管理方式,有两种方式move

1)常用方式

l  关闭数据库

l  在操作系统进行数据文件的mv操作

l  必须启动到mount状态

l  执行rman中常用的rename操作:

   alter database rename file '<oldname>' TO '<newname>';

l  Open数据库

 

2)在表空间层进行move

l  Offline表空间

l  在操作系统进行 数据文件的mv操作

l  执行表空间文件的rename操作:

   alter tablespace <tbsname> rename datafile '<oldname>' TO '<newname>';

l  Online表空间