Oracle19c重命名CDB

Oracle19c重命名CDB

𝓓𝓸𝓷 Lv6

Oracle12c/19c修改CDB名称

一、备份Spfile
1
2
3
SQL> create pfile='/tmp/pfile.ora' from spfile;

File created.
二、备份控制文件
1
2
3
SQL> alter database backup controlfile to trace as '/tmp/control.ctl';

Database altered.
三、查看控制文件内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
oracle@server01 ~]$ more /tmp/control.ctl

CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/orcl/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/orcl/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/orcl/system01.dbf',
'/u01/app/oracle/oradata/orcl/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/undotbs01.dbf',
'/u01/app/oracle/oradata/orcl/pdbseed/system01.dbf',
'/u01/app/oracle/oradata/orcl/users01.dbf',
'/u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/pdb1/system01.dbf',
'/u01/app/oracle/oradata/orcl/pdb1/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/pdb1/pdb1_users01.dbf'
CHARACTER SET AL32UTF8
;

四、修改控制文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67

SQL> CREATE CONTROLFILE SET DATABASE "PRODCDB" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/orcl/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/orcl/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/orcl/system01.dbf',
'/u01/app/oracle/oradata/orcl/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/undotbs01.dbf',
'/u01/app/oracle/oradata/orcl/pdbseed/system01.dbf',
'/u01/app/oracle/oradata/orcl/users01.dbf',
'/u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/pdb1/system01.dbf',
'/u01/app/oracle/oradata/orcl/pdb1/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/pdb1/pdb1_users01.dbf'
CHARACTER SET AL32UTF8
;

*
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01504: database name 'PRODCDB' does not match parameter db_name 'orcl'


[oracle@server01 ~]$ vim .bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH


export TEMP=/tmp
export TMPDIR=/tmp

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
#export ORACLE_SID=orcl
export ORACLE_SID=prodcdb
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH


umask 022


[oracle@server01 ~]$ source .bash_profile


[oracle@server01 ~]$ vim /tmp/pfile.ora
%s/orcl/prodcdb/g

五、创建相关目录
1
2
3
[oracle@server01 ~]$ mkdir -p /u01/app/oracle/admin/prodcdb/adump
[oracle@server01 ~]$ mkdir -p /u01/app/oracle/fast_recovery_area/prodcdb
[oracle@server01 ~]$ mkdir -p /u01/app/oracle/oradata/prodcdb
六、创建控制文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
[oracle@server01 ~]$ sqlplus / as  sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Tue Nov 8 01:04:30 2022

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup nomount pfile='/tmp/pfile.ora';


[oracle@server01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Tue Nov 8 01:07:00 2022

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup nomount pfile='/tmp/pfile.ora';
ORACLE instance started.

Total System Global Area 1048576000 bytes
Fixed Size 2932336 bytes
Variable Size 369099152 bytes
Database Buffers 671088640 bytes
Redo Buffers 5455872 bytes


SQL> CREATE CONTROLFILE SET DATABASE "PRODCDB" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/orcl/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/orcl/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/orcl/system01.dbf',
'/u01/app/oracle/oradata/orcl/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/undotbs01.dbf',
'/u01/app/oracle/oradata/orcl/pdbseed/system01.dbf',
'/u01/app/oracle/oradata/orcl/users01.dbf',
'/u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/pdb1/system01.dbf',
'/u01/app/oracle/oradata/orcl/pdb1/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/pdb1/pdb1_users01.dbf'
CHARACTER SET AL32UTF8
;

七、启动数据库
1
SQL> alter database open resetlogs;
  • Title: Oracle19c重命名CDB
  • Author: 𝓓𝓸𝓷
  • Created at : 2024-06-06 19:20:35
  • Updated at : 2024-07-20 05:15:41
  • Link: https://www.zhangdong.me/oracle19c-rename-cdb.html
  • License: This work is licensed under CC BY-NC-SA 4.0.
评论