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

简介: 目录目录软件环境前言安装Oracle监听程序启动停止监听程序创建数据库数据库名db_name数据库实例名instance_name数据库名与实例名的关系操作系统环境变量ORACLE_SID软件环境操作系统 RHEL 6.1软件环境 Oracle10gr2前言在上一篇 RHEL6.1 安装 Oracle10gr2 (图文、解析) 中记录了如何成功的在RHEL6.1安装Oracle10gr2,但是在安装的过程中没有创建数据库,本篇主要记录了如果创建数据库和监听程序。

目录

软件环境

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

前言

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

安装Oracle监听程序

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

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

[oracle@jmilk database]$ netca

选择配置监听程序
这里写图片描述

添加一个监听程序
这里写图片描述

设定一个监听程序的名称
这里写图片描述

选择监听程序的协议
这里写图片描述

选择监听程序的端口
这里写图片描述

还需要创建别的监听程序吗?
这里写图片描述

创建完成
这里写图片描述

点击Finsh
这里写图片描述

配置完成后的Output

Configuring Listener:LISTENER
Default local naming configuration complete.
Listener configuration complete.
Oracle Net Listener Startup:
Running Listener Control:
/u01/oracle/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Oracle Net Services configuration successful. The exit code is 0

测试

[root@jmilk bin]# pwd
/u01/oracle/bin
[root@jmilk bin]# ./lsnrctl status

启动、停止监听程序

lsnrctl start   #启动 
lsnrctl stop    #停止 
lsnrctl status  #查看状态 

netca的执行文件

[root@jmilk bin]# pwd
/u01/oracle/bin
[root@jmilk bin]# vim netca

创建数据库

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

[oracle@jmilk database]$ dbca

创建数据库欢迎页面
这里写图片描述

选择创建一个数据库
这里写图片描述

选择创建一个通用数据库
这里写图片描述

输入要创建的数据库的名称
这里写图片描述

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

这里写图片描述

输入系统用户的全局密码,也可以单独的为每一个系统用户编辑不同的密码。
All Account:system、sys、sysdba
这里写图片描述

选择存储数据库的方式,这里选择存储在OS的File system中
这里写图片描述

选择创建数据库文件的位置,这里选择从数据库模板创建
这里写图片描述

指定数据库的快速恢复区域
这里写图片描述

这里写图片描述

选择数据库的字符集为UTF8,更好的支持中文
这里写图片描述

这里写图片描述

创建数据库,可以选择生产数据库创建脚本
这里写图片描述

这里写图片描述

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

[oracle@jmilk database]$ cd $ORACLE_HOME/bin
[oracle@jmilk bin]$ mv oracle oracle.bin

vim oracle

#!/bin/bash
export DISABLE_HUGETLBFS=1
exec $ORACLE_HOME/bin/oracle.bin $@
EOF
[oracle@jmilk bin]$ chmod a+x oracle
[oracle@jmilk bin]$ id oracle
uid=501(oracle) gid=502(oinstall) groups=502(oinstall),503(dba)
[oracle@test bin]$ more /proc/sys/vm/hugetlb_shm_group
0
[oracle@test bin]$ su - root
Password:
[root@test ~]# echo "503" > /proc/sys/vm/hugetlb_shm_group
#将dba的gid写入hugetlb_shm_group

这里写图片描述

等待创建数据库完成
这里写图片描述

这里写图片描述

点击Password Management可以对系统用户进行配置,可以解锁、锁定一个用户,也可以为用户设定一个密码。
其中的SCOTT用户是Oracle公司的创始人之一,一般我们用这个用户来进行学习,他的默认的密码为tiger这个密码是SCOTT家中的一只猫的名字。
这里写图片描述

这里写图片描述

点击Exit完成数据库的创建
这里写图片描述

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

[oracle@jmilk ~]$ sqlplus system/fanguiju

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jun 2 18:10:04 2016

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL> 

数据库名db_name

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

数据库参数文件:

[oracle@jmilk pfile]$ pwd
/u01/admin/demo/pfile
[oracle@jmilk pfile]$ vim init.ora.425201695953 

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

[oracle@jmilk demo]$ pwd
/u01/oradata/demo

查询当前数据名
方法一:

select name from v$database;

方法二:

show parameter db

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

db_name=demo

数据库实例名instance_name

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

  db_name="demo"  # 一般不允许修改   
  db_domain=""   
  instance_name=demo # 可以修改,可以与db_name相同也可不同      

数据库名与实例名的关系

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

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

select instance_name from v$instance;

方法二:

show parameter instance

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

操作系统环境变量ORACLE_SID

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

  (OS<---------------->  ORACLE  Database<--------(Instance_name(实例名))  

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

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

$ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora
#或  
/u01/admin/demo/pfile/init.ora.425201695953 

定义方法:

export   ORACLE_SID=demo
相关文章
|
2月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
337 93
|
1月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
176 0
|
2月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
276 8
|
4月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—服务器异常断电导致Oracle数据库报错的数据恢复案例
Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库没有备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并验证恢复的数据库文件。
|
4月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
4月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
239 11
|
4月前
|
存储 Oracle 关系型数据库
【赵渝强老师】Oracle RMAN的目录数据库
Oracle RMAN默认将备份元信息存储在控制文件中,但控制文件损坏或丢失会导致恢复失败,且备份增多会使控制文件无限增长。为解决这些问题,Oracle引入了RMAN目录数据库(Catalog Database),专门用于存储RMAN备份的元信息。使用目录数据库可提升备份管理效率,支持多数据库共享、长期备份历史记录存储,并可保存RMAN脚本。本文详细介绍了如何创建目录数据库、注册目标数据库及其操作步骤。
123 0
|
7月前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
1506 28
|
5月前
|
存储 Oracle 关系型数据库
oracle数据恢复—oracle数据库执行错误truncate命令的数据恢复案例
oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况,例如数据库备份无法使用或者还原报错等。下面和大家分享一例oracle数据库误执行truncate命令导致数据丢失的数据库数据恢复过程。

热门文章

最新文章

推荐镜像

更多