创建Oracle数据库、数据库名与实例名与SID之间的关系(图文详解)

目录

  • 目录
  • 软件环境
  • 前言
  • 安装Oracle监听程序
    • 启动停止监听程序
  • 创建数据库
    • 数据库名db_name
    • 数据库实例名instance_name
    • 数据库名与实例名的关系
    • 操作系统环境变量ORACLE_SID

软件环境

  • 操作系统
    • RHEL 6.1
  • 软件环境
    • Oracle10gr2

前言

在上一篇 RHEL6.1 安装 Oracle10gr2 (图文、解析) 中记录了如何成功的在RHEL6.1安装Oracle10gr2,但是在安装的过程中没有创建数据库,本篇主要记录了如果创建数据库和监听程序。

安装Oracle监听程序

Oracle Net Services Configuration:简称netca,也是启动其配置程序的指令名称。主要作用是配置监听程序、命名方法配置、本地net服务配置、目录使用配置。即可以配置一个监听程序和服务名,从而可以使oracle client连接至数据库进行相关操作。
监听的文件存放位置在:
服务名的文件存放位置在:

以oracle用户登录并执行netca指令启动配置程序:

选择配置监听程序

这里写图片描述

设定一个监听程序的名称

这里写图片描述

选择监听程序的端口

这里写图片描述

创建完成

这里写图片描述

配置完成后的Output

测试

启动、停止监听程序

netca的执行文件

创建数据库

DBCA程序可以执行创建数据库、删除数据库、管理数据库模板、配置现有数据库中的数据库选件
配置Database Configuration Assistant

创建数据库欢迎页面

这里写图片描述

选择创建一个通用数据库

这里写图片描述

配置Enterprise Manager
可以配置Enterprise manager警告,警告的内容为:使用database control配置数据库时,要求在当前oracle主目录中配置监听程序,必须运行Netca以配置并启动监听程序,然后才能继续。或者可以选择继续,但是不要使用database control配置。

这里写图片描述

选择存储数据库的方式,这里选择存储在OS的File system中

这里写图片描述

指定数据库的快速恢复区域

这里写图片描述

选择数据库的字符集为UTF8,更好的支持中文

这里写图片描述

创建数据库,可以选择生产数据库创建脚本

这里写图片描述

dbca 建库时报错提示:ORA-27125:unable to create shared memory segment
解决方法

vim oracle

这里写图片描述

这里写图片描述

这里写图片描述

测试:输入 用户名/密码 能够成功登陆表示数据库创建成功。

数据库名db_name

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

数据库参数文件:

数据库名的作用
数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。
有很多Oracle安装文件目录是与数据库名相关的
Example:

查询当前数据名
方法一:

方法二:

方法三:查看参数文件。
vi init.ora.425201695953

数据库实例名instance_name

数据库实例名用于Oracle与OS之间的联系和用于Oracle Server与外部连接时使用,可以和数据库名一样,也可以不一样。该参数为,若OS要与数据库取得交互,必须使用数据库实例名。
Example:**Client要和某一个Oracle Server连接,就必须知道其数据库实例名,只知道数据库名是没有用的,与数据库名不同,在数据库安装或创建数据库之后,实例名可以被修改。数据库安装完成后,该实例名被写入数据库参数文件**pfile中,格式如下:

数据库名与实例名的关系

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

查询当前数据库实例名
方法一:

方法二:

方法三:在参数文件中查询

操作系统环境变量ORACLE_SID

在实际中,对于数据库实例名的描述有时使用实例名参数,有时使用参数。
这两个都是数据库实例名,它们有什么区别呢
实例名instance_name、ORACLE_SID、Database、OS之间的关系

虽然这里列出的两个参数都是数据库实例名,但:
参数是ORACLE数据库的参数,此参数可以在参数文件中查询到。
而参数则是操作系统环境变量。

操作系统环境变量用于和操作系统交互,也就是说,从操作系统的角度访问实例,必须通过。必须与的值一致,否则,你将会收到一个错误,在LinuxOS中是ORACLE not available,在winntOS中是TNS:协议适配器错误。此参数与、等用法相同。在数据库安装之后,被用于定义数据库参数文件的名称。
Example:

定义方法:

文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树使用数据库 创建和删除数据库31863 人正在系统学习中 云物互联

创建Oracle数据库、数据库名与实例名与SID之间的关系(图文详解) 微信公众号 创建Oracle数据库、数据库名与实例名与SID之间的关系(图文详解) 云计算、云原生、5G、边缘计算

来源:范桂飓

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年5月2日
下一篇 2016年5月2日

相关推荐