oracle 更改数据库名的方法

以下是详细讲解“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日

相关文章

  • Spring boot 添加Redis管理

    1.application.properties spring.redis-dev.database=1 spring.redis.host=172.16.50.107spring.redis.port=6379spring.redis.password=spring.redis.testOnBorrow=false # 连接池最大连接数(使用负值表示没有限…

    Redis 2023年4月12日
    00
  • MySQL数据库事务与锁深入分析

    MySQL数据库事务与锁深入分析 什么是事务 事务是指为了保证数据的一致性,在数据库中执行的一组操作单元,要么全部执行,要么全部不执行。事务通常包括以下四个特性(RDBMS中称作ACID): 原子性(Atomicity):一个事务内的所有操作,要么全部提交成功,要么全部失败回滚。 一致性(Consistency):事务执行前后,数据总量及数据约束关系保持一致…

    database 2023年5月21日
    00
  • MySQL数据类型DECIMAL用法

    MySQL DECIMAL数据类型用于在数据库中存储精确的数值。我们经常将DECIMAL数据类型用于保留准确精确度的列,例如会计系统中的货币数据。 要定义数据类型为DECIMAL的列,请使用以下语法: 1 column_name  DECIMAL(P,D); 在上面的语法中: P是表示有效数字数的精度。 P范围为1〜65。 D是表示小数点后的位数。 D的范围…

    MySQL 2023年4月13日
    00
  • 使用正则表达式匹配tsql注释语句

    使用正则表达式匹配T-SQL注释语句的完整攻略如下: 步骤一:理解T-SQL注释语句的格式 T-SQL中有两种注释语句的方式,单行注释和多行注释。 单行注释: 使用–或//表示单行注释,直到行末为止。 例如: SELECT * FROM Sales — WHERE YEAR(OrderDate) = ‘2022’; 这里使用了–注释掉了一行WHERE子…

    database 2023年5月21日
    00
  • Linux(CentOS)下PHP扩展PDO编译安装的方法

    以下是“Linux(CentOS)下PHP扩展PDO编译安装的方法”的完整攻略: 1. 确认PDO扩展需要的依赖 在编译安装PDO扩展之前,我们需要确认系统中已安装以下依赖库: PHP开发包 libxml2开发包 libcurl开发包 libpq开发包(如果需要连接PostgreSQL数据库) 可以通过以下命令检查是否已经安装了这些库: rpm -qa|gr…

    database 2023年5月22日
    00
  • Laravel如何使用数据库事务及捕获事务失败后的异常详解

    Laravel如何使用数据库事务及捕获事务失败后的异常详解 什么是数据库事务 在数据库中,事务是一组操作的集合,这组操作要么全部执行成功,要么全部失败回滚,保证数据的一致性和完整性。在涉及到多个操作需要保证原子性,即全部执行或者全部不执行的情况下使用事务处理是非常必要的。 Laravel中的数据库事务 Laravel中提供了很多对事务处理的支持,我们可以很容…

    database 2023年5月21日
    00
  • 只有mdf文件的数据库附加失败的修复方法分享(置疑、只读)

    这里为大家详细介绍“只有mdf文件的数据库附加失败的修复方法分享(置疑、只读)”。 问题描述 当我们在 SQL Server 管理器中尝试附加一个数据库时,有时会出现以下错误: Msg 5172, Level 16, State 15, Line 1 无法恢复附加数据库,因为该数据库副本与现有数据库冲突。选择的回滚操作无法执行。原因是,在包含初始快照的设备上…

    database 2023年5月21日
    00
  • SQL – DELETE 语句

    下面是SQL-DELETE语句的详细攻略: 基本语法 SQL中DELETE语句用于从表中删除记录(行)。基本语法如下: DELETE FROM 表名 WHERE 条件; 其中,表名指定要删除记录的表名称,WHERE子句指定要满足的条件,只有满足条件的记录会被删除。如果不指定WHERE子句,则会删除表中所有记录。 实例一:删除指定条件的记录 假设有一个学生信息…

    database 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部