以下是详细讲解“Oracle 更改数据库名的方法”的完整攻略:
1. 准备工作
在更改Oracle数据库名之前,需要确保完成以下准备工作:
- 关闭所有连接到该数据库的会话和乘数,并停止Oracle数据库服务。
- 备份原始数据库,以防意外情况发生。
- 确认更改数据库名的旧名称和新名称。
2. 更改数据库名称
2.1 修改pdb
首先,我们需要修改pluggable database的名称,可以通过以下步骤来实现:
- 使用SID或者service Name连接到数据库(例如: sqlplus / as sysdba)。
- 执行以下SQL脚本:
SQL> alter session set container=<old pdb name>;
SQL> alter pluggable database <old pdb name> close;
SQL> startup mount exclusive;
SQL> alter session set container=<old pdb name>;
SQL> alter pluggable database <old pdb name> rename global_name to <new pdb name>;
SQL> alter pluggable database all open;
SQL> alter session set container=<new pdb name>;
SQL> exit;
2.2 修改需要使用的service name
然后,我们需要修改需要使用的Service Name,可以通过以下步骤来实现:
-
使用新的pdb名来启动数据库。
-
执行以下SQL脚本:
SQL> alter system set service_names=<new service name> scope=both;
2.3 修改管理服务的SID
最后,我们需要修改管理服务的System Identifier(SID)。可以通过以下步骤来实现:
-
关闭数据库。
-
修改监听器配置文件中
SID_LIST_LISTENER
标签中的SID_NAME
属性为新的SID名称。 -
重新启动监听,使用以下Linux命令启动:
$ lsnrctl start
3. 示例说明
以下是两个示例说明:
3.1 更改为小写字母名称
假设我们有一个数据库名为ORCL
的Oracle数据库,我们将其更改为小写字母名称orcl
。我们需要执行以下步骤:
SQL> alter session set container=cdb$root;
SQL> alter pluggable database orcl close;
SQL> startup mount exclusive;
SQL> alter session set container=cdb$root;
SQL> alter pluggable database orcl rename global_name to orcl_new;
SQL> alter pluggable database all open;
SQL> alter session set container=orcl_new;
SQL> exit;
注意,在此示例中我们同时更改了PDB名称和Global名称。
3.2 更改为带下划线的名称
假设我们有一个数据库名为orcl1
的Oracle数据库,我们将其更改为带下划线的名称orcl_1
。我们需要执行以下步骤:
SQL> alter session set container=cdb$root;
SQL> alter pluggable database orcl1 close;
SQL> startup mount exclusive;
SQL> alter session set container=cdb$root;
SQL> alter pluggable database orcl1 rename global_name to orcl_1;
SQL> alter pluggable database all open;
SQL> alter session set container=orcl_1;
SQL> exit;
注意,在此示例中我们只更改了Global名称,而没有更改PDB名称。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:oracle 更改数据库名的方法 - Python技术站