注:本文来源于 <腾科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. 洛谷 P3951 小凯的疑惑(数学)

    传送门:Problem P3951 https://www.cnblogs.com/violet-acmer/p/9827010.html 参考资料: [1]:http://m.blog.sina.c ...

  2. windows 2003 IIS FTP 530 home directory inaccessible

    在 Windows Server 2003 及更新的版本中,IIS 中的 FTP 可以使用用户隔离了. 隔离有什么好处呢? 看起来更高级.比如 ftp1 用户打开的时候看到的路径是 /,但内容是自己文 ...

  3. 解决Win8.1 IE11兼容性问题的方法

    装了64位win8.1企业版,IE11出现了一些兼容性问题,如个别网银网页兼容问题,还有office.迅雷.adobe reader.旋风等等插件不兼容不能加载的问题. 折腾了一天总算全部解决了,主要 ...

  4. 关于TCP连接状态的解释

    TCP各个状态主要存在于三次握手和四次挥手的过程 1.TCP建立连接时的三次握手: 服务端应用监听端口处于LISTEN状态,等待建立连接. 第一次握手:客户端发送SYN=一个随机数,然后进入SYN_S ...

  5. iptables 代理转发配置

    增加命令 [root@pre /]# iptables -t nat -A PREROUTING -s 39.15.15.15/32 -d 221.11.8.200/32 -p tcp -m tcp ...

  6. 函数和常用模块【day06】:configparser模块(七)

    本节内容 1.简述 2.配置文件格式 3.创建配置文件 4.读取配置文件 5.增删该查语法 一.简述 在很多情况下,我们都需要修改配置文件,但是,有些配置文件,如mysql数据库的配置文件怎么修改呢? ...

  7. JavaSE学习总结(七)—— 集合

    一.为什么需要集合 如果要将100个学生成绩存放到程序中,怎么做? 首先想到是数组 int[] scores=new int[100]; 然而,长度是固定的,比如是101个学生成绩,这个数组就不能用了 ...

  8. 第三节:工厂+反射+配置文件(手写IOC)对缓存进行管理。

    一. 章前小节 在前面的两个章节,我们运用依赖倒置原则,分别对 System.Web.Caching.Cache和 System.Runtime.Cacheing两类缓存进行了封装,并形成了ICach ...

  9. 使用jQuery实现返回顶部功能

    <p id="back-to-top"><a href="#top"><span></span>返回顶部< ...

  10. Linq 中的 in 与 not in 的使用

    接 触 LINQ 也有很长的一段时间了,有些在 SQL 语句中用的很顺手的东西在 Linq 中却不知道如何实现了,最近遇到了一个问题,在 LINQ 的 Where 条件式中要如何使用 IN 与 NOT ...