oracle 更改数据库名的方法

yizhihongxing

以下是详细讲解“Oracle 更改数据库名的方法”的完整攻略:

1. 准备工作

在更改Oracle数据库名之前,需要确保完成以下准备工作:

  1. 关闭所有连接到该数据库的会话和乘数,并停止Oracle数据库服务。
  2. 备份原始数据库,以防意外情况发生。
  3. 确认更改数据库名的旧名称和新名称。

2. 更改数据库名称

2.1 修改pdb

首先,我们需要修改pluggable database的名称,可以通过以下步骤来实现:

  1. 使用SID或者service Name连接到数据库(例如: sqlplus / as sysdba)。
  2. 执行以下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,可以通过以下步骤来实现:

  1. 使用新的pdb名来启动数据库。

  2. 执行以下SQL脚本:

SQL> alter system set service_names=<new service name> scope=both;

2.3 修改管理服务的SID

最后,我们需要修改管理服务的System Identifier(SID)。可以通过以下步骤来实现:

  1. 关闭数据库。

  2. 修改监听器配置文件中SID_LIST_LISTENER标签中的 SID_NAME 属性为新的SID名称。

  3. 重新启动监听,使用以下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技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • C#连接操作 MySQL 数据库实例(使用官方驱动)

    下面是C#连接操作MySQL数据库实例(使用官方驱动)的完整攻略。 1. 安装 MySQL Connector/NET Connector/NET 是 MySQL 官方提供的 C# 驱动,用于与 MySQL 数据库进行连接和操作。安装步骤如下: 打开MySQL Connector/NET官网下载页面,选择对应的操作系统版本,下载最新的 MySQL Conne…

    database 2023年5月21日
    00
  • 详解Mysql两表 join 查询方式

    针对“详解MySQL两表Join查询方式”的问题,我整理了如下的攻略: 一、Join查询的介绍 Join查询是一种在MySQL数据库中用于联接两个或多个表的方法。它通过匹配两个或多个表中的数据列来组合产生一个新的、包含了来自多张表中字段数据的查询结果集。Join查询有很多种类型,包括内连接、左连接、右连接和全连接等。在本次攻略中,我们将会详解Join查询的两…

    database 2023年5月22日
    00
  • mysql中关于Myisam_recover自动修复的使用方法

    当使用 MySQL 中的 MyISAM 存储引擎时,可能会遇到一些表或索引损坏的问题,导致数据丢失或访问数据库时出现异常。这时就需要使用 MyISAM 自带的修复工具 MyISAM-recover 进行修复。下面是关于 MyISAM-recover 的完整攻略。 1. 确认表或索引损坏 在使用 MyISAM-recover 修复 MyISAM 表之前,需要首…

    database 2023年5月22日
    00
  • MySql增加用户、授权、修改密码等语句

    下面是”MySql增加用户、授权、修改密码等语句”的完整攻略。 MySql增加用户 在 MySql 中,我们可以使用 CREATE USER 语句来创建一个新的用户。下面是 CREATE USER 语句的基本语法: CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’; 其中,’usernam…

    database 2023年5月22日
    00
  • Mysql 8.0 实现创建用户,指定用户只能访问指定的数据库中的表

    最近在做公司项目的过程中,出现了这样的需求。第三方系统需要将数据写到我们的业务系统中,由于目前这些数据没有实际的使用场景,在讨论下,为简单快捷,选择第二种方案,即不书写接口,第三方系统通过数据库直接将数据写入到业务系统的数据库中。但是呢又不能将ROOT用户分配给第三方,所以在数据库建立私有用户,指定用户只能访问指定的数据库中的表。 我们的数据库版本 MySQ…

    MySQL 2023年4月11日
    00
  • php简单的分页程序第5/5页

    下面我将为您详细讲解“PHP简单的分页程序第5/5页”的完整攻略,包括分页程序的原理、实现步骤以及具体的代码示例。 分页程序原理 分页程序的原理很简单,就是将数据分为多个页面显示,让用户可以方便的查看和跳转。具体来说,分页程序需要以下几个步骤: 获取总记录数 在使用分页程序之前,需要先获取总的记录数,这样才能确定要分成多少页。通常可以使用SQL语句如下: S…

    database 2023年5月21日
    00
  • Mybatis批量修改联合主键数据的两种方法

    Mybatis批量修改联合主键数据的两种方法 如果我们要批量修改Mybatis中的联合主键数据,那么我们需要采用一些特殊的方法,本文将介绍两种方法。 方法一:使用foreach标签 我们可以使用Mybatis的foreach标签来批量修改联合主键数据。 <update id="updateBatch" parameterType=&…

    database 2023年5月22日
    00
  • Redis删除策略

    Redis中有个设置时间过期的功能,即对存储在redis数据库中的值可以设置一个过期时间。作为一个缓存数据库,这是非常实用的。如我们一般项目中的token或者一些登录信息,尤其是短信验证码都是有时间限制的,按照传统的数据库处理方式,一般都是自己判断过期,这样无疑会严重影响项目性能 set key的时候,都可以给一个expire time,就是过期时间,通过过…

    Redis 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部