当前位置: 首页 > news >正文

Oracle篇—实例中和name相关参数的区别和作用

☘️博主介绍☘️

✨又是一天没白过,我是奈斯,DBA一名✨

✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌️

❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣️❣️❣️


前言:   

    哈喽小伙伴们,今天跟大家介绍一下oracle中和name相关的参数和作用,并且在单机环境、Data Guard(DG)环境和Real Application Clusters(RAC)环境中,这些参数的应用和重要性也有所不同,只有明确这些差异,才能更好地管理和维护数据库,确保其稳定运行。因此,本文将探讨这些参数的配置和应用,帮助大家更好地理解它们在各种环境中的差异和作用。

    Oracle数据库的管理和运维中,名称(name)相关的参数起着至关重要的作用。这些参数包括db_name、db_unique_name、service_names、instance_name和global_names。如果不深入了解这些参数的用途和影响,可能会导致后续的运维工作变得复杂和困难。因此,掌握这些参数的配置时机和作用是至关重要的。

参数db_name(数据库名):

官方文档对db_name的介绍:DB_NAME

参数介绍:数据库名是在创建实例时指定的,不能多于8个字符。

单机环境:创建实例时指定的。

rac环境:每个rac上的实例必须有相同的值。

rac dg环境:每个rac dg上的实例与主库需要保持一致。

是否可以修改:不能修改。

    如果修改参数文件中的db_name,将orcl修改为orcldg,那么在启动数据库时报:ORA-01103: database name 'ORCL' in control file is not 'ORCLDG'。报错含义是控制文件中的数据库名称为“ORCL”,而不是“ORCLDG”。

    如果修改了参数文件,并且也通过重建控制文件修改了db_name,将orcl修改为orcldg,那那么在启动数据库时报:ORA-01161: Database name ORCL in the file header does not match ORCLDG in the DATABASE clause。报错含义是文件头中的数据库名称ORCL与Database子句中的ORCLDG不匹配,也就是说db_name是记录在了数据文件的文件头中的,所以是不能修改的哦。想要变动db_name就只能通过expdp这种逻辑迁移等。

参数db_unique_name(数据库唯一名):

官方文档对db_unique_name的介绍:DB_UNIQUE_NAME

参数介绍:DB_UNIQUE_NAME指定数据库的全局唯一名称,最多可包含30个字符。DG是以db_unique_name作为区分数据库标识的,因此主从库的该参数一定要不同以做区分。

单机环境:默认值为db_name

rac环境:默认值为db_name,并且每个rac上的实例必须有相同的值。

rac dg环境:每个rac dg上的实例与主库不同,用于dg区分数据库名,每个rac dg上的实例需要手动指定,但是每个实例都是一样的db_unique_name,不分db_unique_name+number。

是否可以修改:可以修改,一般不做修改,只有在搭建dg时才会修改,DG是以db_unique_name作为区分数据库标识的

参数service_names(服务名):

官方文档对service_names的介绍:SERVICE_NAMES

参数介绍:提供客户端用于连接到数据库的名称,客户端主要通过服务名连接到数据库。

单机环境:默认值是db_unique_name.db_domain

rac环境:默认值是db_unique_name.db_domain,每个rac上的实例必须有相同的值。

rac dg环境:每个rac dg上的实例与主库不同,便于区分是主库还是dg环境,每个rac dg上的实例需要手动指定,但是每个实例都是一样的service_names,不分service_names+number。

是否可以修改:可以修改。如果修改了,那么就是修改了客户端连接的服务名。

ps:介绍一下db_domain参数,db_domain(数据库域名称)数据库所在域,没有默认值也就是参数默认值为空,不能更改。对应db_domain参数,是为了更好的管理分布式数据库而根据实际情况决定的。

参数instance_name(SID):

官方文档对instance_name的介绍:INSTANCE_NAME

参数介绍:唯一的实例标识。客户机可以通过指定连接到数据库的特定实例来覆盖Oracle的连接负载平衡

单机环境:默认值为db_name

rac环境:每个rac上的实例为db_name+number,用于区分每个实例实现通过通过连接service_names实现负载均衡。

rac dg环境:每个rac dg上的实例与主库不同,便于区分是主库还是dg环境,每个rac dg上的实例需要手动指定db_unique_name+number,用于区分每个实例实现通过连接service_names实现负载均衡。

是否可以修改:可以修改,一般不做修改,只有在搭建dg时才会修改,为了区分。

参数global_names(全局数据库名):

官方文档对global_names的介绍:GLOBAL_NAMES

   GLOBAL_NAMES指定是否需要数据库链接具有与其连接的数据库相同的名称。如果GLOBAL_NAMES是false,则不执行检查。如果使用或计划使用分布式处理,则Oracle建议将此参数设置为true确保在网络环境中对数据库和链接使用一致的命名约定。

    数据库的完整标识符,在创建数据库的时候决定的,默认是db_name.db_domain参数的组合,在以后对参数文件中db_name和db_domain参数的任何修改不影响global_names的值,如果要修改global_names的值,只能用alter database rename global_names to <db_name.db_domain>进行修改,然后修改相应参数。

最后对oracle的name相关参数做个总结:

    db_unique_name、service_names、instance_name随便改,alter system改完之后可以启动实例,这些name都不会涉及在控制文件和数据文件头部中;但db_name不能通过alter system,如果通过参数文件改完之后导致库启动不了(ORA-01103: database name 'ORCL' in control file is not 'ORCLDG'),如果参数文件改了控制文件也重置,那么在效验数据文件时文件的头部也是不能通过的,也会报ORA-01161: Database name ORCL in the file header does not match ORCLDG in the DATABASE clause。

    db_unique_name、service_names、instance_name不会涉及在控制文件里,但db_name会涉及到控制文件和数据文件头部中。所以db_name进行异机迁移,通过rman迁移到FS还是迁移到rac环境,db_name是不能变的。想要变动db_name就只能通过expdp这种逻辑迁移等。

http://www.lryc.cn/news/279381.html

相关文章:

  • python + selenium 初步实现数据驱动
  • 数字孪生+可视化技术 构建智慧新能源汽车充电站监管平台
  • 微信小程序开发学习笔记《11》导航传参
  • BikeDNA(七)外在分析:OSM 与参考数据的比较1
  • KY43 全排列
  • UltraScale 和 UltraScale+ 生成已加密文件和已经过身份验证的文件
  • 2023年全国职业院校技能大赛软件测试赛题—单元测试卷②
  • 极兔单号查快递,极兔快递单号查询,筛选出途经指定城市的单号
  • [redis] redis高可用之持久化
  • 云原生 微服务 restapi devops相关的一些概念说明(持续更新中)
  • 初学unity学习七天,经验收获总结
  • hcip实验2
  • js:使用canvas画一个半圆
  • 1.框架介绍项目环境配置与项目启动!
  • LeetCode算法题解:螺旋矩阵
  • 【Java 设计模式】设计原则之开放封闭原则
  • 数据分析求职-知识脑图
  • SQL-修改数据
  • Rockchip | FIQ-Debugger调试工具
  • 第二百六十三回 给geolocator插件提交问题
  • 分组背包问题
  • WinForm 中Label自动换行 解决方法
  • 【蓝桥杯软件赛 零基础备赛20周】第7周——二叉树
  • SpringBoot+SSM项目实战 苍穹外卖(12) Apache POI
  • Maven 基础总结篇
  • MySQL的导入导出及备份
  • 【机器学习】常见算法详解第2篇:K近邻算法各种距离度量(已分享,附代码)
  • @KafkaListener指定kafka集群
  • 什么是算法的空间复杂度?
  • WebDav协议相关软件@简单配置局域网内的http和WebDav服务器和传输系统