注:本文来源于 <腾科OCP培训课堂>。非准许商业活动。

标题:Oracle  相关概念

--->数据库名、实例名、数据库域名、全局数据名、服务名

一:数据库名

1:什么是数据库名

数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME 表示,
如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创
建完成之后,参数DB_NAME 被写入参数文件之中。格式如下:
DB_NAME=myorcl
           在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,
即使要修改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是以二进制型式存
储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改
DB_NAME 的值。但是在Oracle 启动时,由于参数文件中的DB_NAME 与控制文件中的
数据库名不一致,导致数据库启动失败,将返回ORA-01103错误。

二:数据库名的作用

数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备
份与恢复数据库时都需要使用到的。

有很多Oracle 安装文件目录是与数据库名相关的,如:
           winnt: d:/oracle/product/10.1.0/oradata/DB_NAME/...
           Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/...
           pfile:
                     winnt: d:/oracle/product/10.1.0/admin/DB_NAME/pfile/ini.ora
                    Unix: /home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora
       跟踪文件目录:
                winnt: /home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/...
        另外,在创建数据时,careate database 命令中的数据库名也要与参数文件中DB_NAME
参数的值一致,否则将产生错误。
        同样,修改数据库结构的语句alter database, 当然也要指出要修改的数据库的名称。
如果控制文件损坏或丢失,数据库将不能加载,这时要重新创建控制文件,方法是以nomount
方式启动实例,然后以create controlfile 命令创建控制文件,当然这个命令中也是指指
DB_NAME。
还有在备份或恢复数据库时,都需要用到数据库名。

总之,数据库名很重要,要准确理解它的作用。

三:查询当前数据名

  1 1) select name from v$database;
2 2) show parameter db
3 3) 查看参数文件。

四:修改数据库名

  • 前面建议:应在创建数据库时就确定好数据库名,数据库名不应作修改,因为修改数据

    库名是一件比较复杂的事情。那么现在就来说明一下,如何在已创建数据之后,修改数据库

    名。步骤如下:

    1) 关闭数据库。
    2) 修改数据库参数文件中的DB_NAME 参数的值为新的数据库名。
    3) 以NOMOUNT 方式启动实例,修建控制文件(创建控制文件)
    4) 启动数据库

二、数据库实例名

(一)、什么是数据库实例名

数据库实例名是用于和操作系统进行联系的标识,就是说数据库和操作系统之间的交互
用的是数据库实例名。实例名也被写入参数文件中,该参数为instance_name,在winnt
平台中,实例名同时也被写入注册表。
数据库名和实例名可以相同也可以不同。
         在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle 并行服务器架构(即
oracle 实时应用集群)中,数据库名和实例名是一对多的关系。

1. 查询当前数据名

  1 1) select instance_name from v$instance;
2 2) show parameter instance
3 3) 查看参数文件。

2. 数据库实例名与ORACLE_SID

虽然两者都表是oracle 实例,但两者是有区别的。
       instance_name 是oracle 数据库参数。而ORACLE_SID 是操作系统的环境变量。

ORACLD_SID 用于与操作系统交互,也就是说,从操作系统的角度访问实例名,必须
通过ORACLE_SID。在winnt 平台,ORACLE_SID 还需存在于注册表中。
且ORACLE_SID 必须与instance_name 的值一致,否则,你将会收到一个错误,在
unix 平台,是“ORACLE not available”,在winnt 平台,是“TNS:协议适配器错误”。

(二)、数据库实例名与网络连接

数据库实例名除了与操作系统交互外,还用于网络连接的oracle 服务器标识。当你配置
oracle 主机连接串的时候,就需要指定实例名。当然8i 以后版本的网络组件要求使用的是服
务名SERVICE_NAME。这个概念接下来说明。

三、数据库域名

(一)、什么是数据库域名

在分布工数据库系统中,不同版本的数据库服务器之间,不论运行的操作系统是unix
或是windows,各服务器之间都可以通过数据库链路进行远程复制,数据库域名主要用于

oracle 分布式环境中的复制。举例说明如:
全国交通运政系统的分布式数据库,其中:福建节点: fj.jtyz  ;
福建厦门节点: xm.fj.jtyz  ;
江西: jx.jtyz ;
江西上饶:sr.jx.jtyz;
这就是数据库域名。
数据库域名在存在于参数文件中,他的参数是db_domain.

(二). 查询当前数据名

  1 1) select value from v$parameter where name = 'db_domain';
2 2) show parameter domain
3 3) 查看参数文件。

四、全局数据库名

全局数据库名=数据库名+数据库域名,如前述福建节点的全局数据库名是:oradb.fj.jtyz

五、数据库服务名

从oracle9i 版本开始,引入了一个新参数,数据库服务名。参数名是SERVICE_NAME。
如果数据库有域名,则数据库服务名就是全局数据库名;否则,数据库服务名与数据库名相
同。

1. 查询当前数据名

  1 1) select value from v$parameter where name = 'service_name';
2 2) show parameter service_name
3 3) 查看参数文件。

2. 数据库服务名与网络连接

从oracle8i 开如的oracle 网络组件,数据库与客户端的连接主机串使用数据库服务名。
之前用的是ORACLE_SID,即数据库实例名。

Oracle 相关概念的更多相关文章

  1. Oracle 相关概念详解

    一.前言 笔者对于Oracle数据库的理解,很长时间停留在“镜花水月”的状态,你说不懂吧,又会用,一较真起来吧,对一些基本概念又说不出一个道道来~如果想要在编码的路上走得更远,这个必定也是绕不过的坎, ...

  2. 数据库之Oracle的介绍与使用20180620

    /*******************************************************************************************/ 一.orac ...

  3. OCP 相关课程列表

    OCP 相关课程列表 第一天:Linux基础 和 Oracle 11 R2 数据库安装教程图解 1:< VM 安装 linux Enterprise_R5_U4_Server_I386_DVD教 ...

  4. oracle数据库相关概念介绍

    数据库相关概念介绍: 问题: 数据存储:变量(基本类型,引用类型) 基本类型:少量数据 引用类型:保证数据的完整性 数据源: 声明直接赋值 IO流从硬盘中读取 java在处理数据时,需要从硬盘中读取数 ...

  5. Oracle网络相关概念与常用配置文件

    监听器(Listener) 监听器是Oracle基于服务端的一种网络服务,主要用于监听客户端向数据库服务器提出的链接请求. 本地服务名(Tnsname) Oracle客户端与服务器端的链接是通过客户端 ...

  6. Oracle执行计划详解

    Oracle执行计划详解 --- 作者:TTT BLOG 本文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html --- 简介:   ...

  7. ORACLE执行详解

    本文源自TTT BLOG,原文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html 简介:     本文全面详细介绍oracle执行计 ...

  8. Java笔记1-Java相关概念和如何实现跨平台

    一.Java相关概念 1.Java语言的核心特点跨平台面向对象 2.Java的历史版本JDK1.0,JDK1.1,JDK1.2....JDK5.0,JDK6.0,JDK7.0,JDK8.0 注意:JD ...

  9. oracle 执行计划详解

    简介:     本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容.     并有总结和概述,便于理解与记忆! +++ 目录 ---     一.相关的概念    ...

随机推荐

  1. Apache Shiro 用户信息保存在session方案

    描述 在使用shiro的时候,经常会有一种需求: 把登录成功后的用户对象存放到session中,方面其他地方调用.存放到session这个步骤到底应该在哪里去做,有几个地方比较合适: 调用 Subje ...

  2. Java 多线程间通信

    JDK 1.5 以后, 将同步和锁封装成了对象, 并将操作锁的隐式方法定义到了该对象中, 将隐式动作变成了显示动作. Lock 接口 Lock 接口, 位于 java.util.concurrent. ...

  3. springboot的跨域

    https://www.cnblogs.com/520playboy/p/7306008.html 1.对于前后端分离的项目来说,如果前端项目与后端项目部署在两个不同的域下,那么势必会引起跨域问题的出 ...

  4. 目前最全的IT技术问答、社区、科技服务网站合集

    资源网站 推荐一个资源丰富齐全的网站:风云社区(SCOEE),主要特点是提供的是纯净.优质.无广告.无附加东西的资源.资源很丰富,包括各类软件资源(mac.Windows.ios.ipad.安装等软件 ...

  5. ISO七层模型详解

    ISO七层模型详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在我刚刚接触运维这个行业的时候,去面试时总是会做一些面试题,笔试题就是看一个运维工程师的专业技能的掌握情况,这个很 ...

  6. python---ORM之SQLAlchemy(3)外键与relationship的关系

    relationship是为了简化联合查询join等,创建的两个表之间的虚拟关系,这种关系与标的结构时无关的.他与外键十分相似,确实,他必须在外键的基础上才允许使用 不然会报错: sqlalchemy ...

  7. 学习windows编程 day4 之 矩形的操作

    LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...

  8. SparkRDD简介/常用算子/依赖/缓存

    SparkRDD简介/常用算子/依赖/缓存 RDD简介 RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区. ...

  9. python-web开发环境搭建

    一.安装distribute或setuptools,我用的distribute 下载链接:https://pypi.python.org/pypi/distribute [root@yeebian o ...

  10. JAVA迭代器学习--在JAVA中实现线性表的迭代器

    1,迭代器是能够对数据结构如集合(ADT的实现)进行遍历的对象.在遍历过程中,可以查看.修改.添加以及删除元素,这是它与一般的采用循环来遍历集合中的元素不同的地方.因为,通常用循环进行的遍历操作一般是 ...