百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

Oracle体系结构之数据库相关概念(简述oracle数据库的体系结构)

sinye56 2024-09-16 14:29 4 浏览 0 评论

Oracle 相关概念--数据库名、数据库实例名、 数据库域名、 全局数据库名、 数据库服务名

一、数据库名

(一)、什么是数据库名

数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数 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.orUnix: /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) show parameter db
  • 3) 查看参数文件。

2. 修改数据库名

前面建议:应在创建数据库时就确定好数据库名,数据库名不应作修改,因为修改数据库名是一件比较复杂的事情。那么现在就来说明一下,如何在已创建数据之后,修改数据库名。步骤如下:

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

二、数据库实例名

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

数据库实例名是用于和操作系统进行联系的标识,就是说数据库和操作系统之间的交互用的是数据库实例名。实例名也被写入参数文件中,该参数为 instance_name,在 winnt平台中,实例名同时也被写入注册表。

数据库名和实例名可以相同也可以不同。在一般情况下,数据库名和实例名是一对一的关系,但如果在 oracle 并行服务器架构(即oracle 实时应用集群)中,数据库名和实例名是一对多的关系。

1.查询当前数据实例名

  • 1) select instance_name from v$instance;
  • 2) show parameter instance
  • 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。这个概念接下来说明 。

数据库服务名与网络连接

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

三、数据库域名

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

在分布工数据库系统中,不同版本的数据库服务器之间,不论运行的操作系统是 unix或是 windows,各服务器之间都可以通过数据库链路进行远程复制,数据库域名主要用于 oracle 分布式环境中的复制。举例说明如:全国交通运政系统的分布式数据库,其中:

福建节点: fj.jtyz

福建厦门节点: xm.fj.jtyz

江西: jx.jtyz

江西上饶:sr.jx.jtyz

这就是数据库域名。数据库域名在存在于参数文件中,他的参数是 db_domain.

查询当前数据名

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

四、全局数据库名

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

五、数据库服务名

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

查询当前数据库服务名

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

相关推荐

Linux在线安装JDK1.8

首先在服务器pingwww.baidu.com查看是否可以连网然后就可以在线下载一、下载安装JDK1.81、在下载安装的同时做好一些准备工作...

Linux安装JDK,超详细

1、了解RPMRPM是Red-HatPackageManager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux...

Linux安装jdk1.8(超级详细)

前言最近刚购买了一台阿里云的服务器准备要搭建一个网站,正好将网站的一个完整搭建过程分享给大家!#一、下载jdk1.8首先我们需要去下载linux版本的jdk1.8安装包,我们有两种方式去下载安装...

Linux系统安装JDK教程

下载jdk-8u151-linux-x64.tar.gz下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.ht...

干货|JDK下载安装与环境变量配置图文教程「超详细」

1.JDK介绍1.1什么是JDK?SUN公司提供了一套Java开发环境,简称JDK(JavaDevelopmentKit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Jav...

Linux下安装jdk1.8

一、安装环境操作系统:CentOSLinuxrelease7.6.1810(Core)JDK版本:1.8二、安装步骤1.下载安装包...

Linux上安装JDK

以CentOS为例。检查是否已安装过jdk。yumlist--installed|grepjdk或者...

Linux系统的一些常用目录以及介绍

根目录(/):“/”目录也称为根目录,位于Linux文件系统目录结构的顶层。在很多系统中,“/”目录是系统中的唯一分区。如果还有其他分区,必须挂载到“/”目录下某个位置。整个目录结构呈树形结构,因此也...

Linux系统目录结构

一、系统目录结构几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树...

Linux文件查找

在Linux下通常find不很常用的,因为速度慢(find是直接查找硬盘),通常我们都是先使用whereis或者是locate来检查,如果真的找不到了,才以find来搜寻。为什么...

嵌入式linux基本操作之查找文件

对于很多初学者来说都习惯用windows操作系统,对于这个系统来说查找一个文件简直不在话下。而学习嵌入式开发行业之后,发现所用到的是嵌入式Linux操作系统,本想着跟windows类似,结果在操作的时...

linux系统查看软件安装目录的方法

linux系统下怎么查看软件安装的目录?方法1:whereis软件名以查询nginx为例子...

Linux下如何对目录中的文件进行统计

统计目录中的文件数量...

Linux常见文件目录管理命令

touch用于创建空白文件touch文件名称mkdir用于创建空白目录还可以通过参数-p创建递归的目录...

Linux常用查找文件方法总结

一、前言Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。二、which命令查找类型:二进制文件;...

取消回复欢迎 发表评论: