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


版权声明:转载请注明出处 JmilkFan_范桂飓:http://blog.csdn.net/jmilk
目录
软件环境
- 操作系统
- 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
- 1
选择配置监听程序
添加一个监听程序
设定一个监听程序的名称
选择监听程序的协议
选择监听程序的端口
还需要创建别的监听程序吗?
创建完成
点击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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
测试:
[root@jmilk bin]# pwd
/u01/oracle/bin
[root@jmilk bin]# ./lsnrctl status
- 1
- 2
- 3
启动、停止监听程序
lsnrctl start #启动
lsnrctl stop #停止
lsnrctl status #查看状态
- 1
- 2
- 3
netca的执行文件:
[root@jmilk bin]# pwd
/u01/oracle/bin
[root@jmilk bin]# vim netca
- 1
- 2
- 3
创建数据库
DBCA程序可以执行创建数据库、删除数据库、管理数据库模板、配置现有数据库中的数据库选件
配置Database Configuration Assistant
[oracle@jmilk database]$ dbca
- 1
创建数据库欢迎页面
选择创建一个数据库
选择创建一个通用数据库
输入要创建的数据库的名称
配置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
- 1
- 2
vim oracle
#!/bin/bash
export DISABLE_HUGETLBFS=1
exec $ORACLE_HOME/bin/oracle.bin $@
EOF
- 1
- 2
- 3
- 4
[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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
等待创建数据库完成
点击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>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
数据库名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
- 1
- 2
- 3
数据库名的作用
数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。
有很多Oracle安装文件目录是与数据库名相关的
Example:
[oracle@jmilk demo]$ pwd
/u01/oradata/demo
- 1
- 2
查询当前数据名
方法一:
select name from v$database;
- 1
方法二:
show parameter db
- 1
方法三:查看参数文件。
vi init.ora.425201695953
db_name=demo
- 1
数据库实例名instance_name
数据库实例名用于Oracle与OS之间的联系和用于Oracle Server与外部连接时使用,可以和数据库名一样,也可以不一样。该参数为instance_name
,若OS要与数据库取得交互,必须使用数据库实例名。
Example:**Client要和某一个Oracle Server连接,就必须知道其数据库实例名,只知道数据库名是没有用的,与数据库名不同,在数据库安装或创建数据库之后,实例名可以被修改。数据库安装完成后,该实例名被写入数据库参数文件**pfile中,格式如下:
db_name="demo" # 一般不允许修改
db_domain=""
instance_name=demo # 可以修改,可以与db_name相同也可不同
- 1
- 2
- 3
数据库名与实例名的关系
在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。数据库名和实例名共同确定一个数据库,一个数据库中可以有多个实例,相互运行不受影响。
查询当前数据库实例名
方法一:
select instance_name from v$instance;
- 1
方法二:
show parameter instance
- 1
方法三:在参数文件中查询
操作系统环境变量ORACLE_SID
在实际中,对于数据库实例名的描述有时使用实例名instance_name
参数,有时使用ORACLE_SID
参数。
这两个都是数据库实例名,它们有什么区别呢?
实例名instance_name、ORACLE_SID、Database、OS之间的关系:
(OS<----------------> ORACLE Database<--------(Instance_name(实例名))
- 1
虽然这里列出的两个参数都是数据库实例名,但:
instance_name
参数是ORACLE数据库的参数,此参数可以在参数文件中查询到。
而ORACLE_SID
参数则是操作系统环境变量。
操作系统环境变量ORACLE_SID
用于和操作系统交互,也就是说,从操作系统的角度访问实例,必须通过ORACLE_SID
。ORACLE_SID
必须与instance_name
的值一致,否则,你将会收到一个错误,在LinuxOS中是ORACLE not available,在winntOS中是TNS:协议适配器错误。此参数与ORACLE_BASE
、ORACLE_HOME
等用法相同。在数据库安装之后,ORACLE_SID
被用于定义数据库参数文件的名称。
Example:
$ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora
#或
/u01/admin/demo/pfile/init.ora.425201695953
- 1
- 2
- 3
定义方法:
export ORACLE_SID=demo
创建Oracle数据库、数据库名与实例名与SID之间的关系(图文详解)的更多相关文章
- 全网最详细的Windows系统里Oracle 11g R2 Client(64bit)的下载与安装(图文详解)
不多说,直接上干货! 环境: windows10系统(64位) 最好先安装jre或jdk(此软件用来打开oracle自带的可视化操作界面,不装也没关系:可以安装plsql,或者直接用命令行操作) Or ...
- 全网最详细的Windows系统里Oracle 11g R2 Client客户端(64bit)安装后的初步使用(图文详解)
不多说,直接上干货! 前期博客 全网最详细的Windows系统里Oracle 11g R2 Client(64bit)的下载与安装(图文详解) 命令行方式测试安装是否成功 1) 打开服务(cmd— ...
- 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)安装后的初步使用(图文详解)
不多说,直接上干货! 前期博客 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的下载与安装(图文详解) 命令行方式测试安装是否成功 1) 打开服务(cm ...
- 全网最详细的PLSQL Developer + Oracle client的客户端 或者 PLSQL Developer + Oracle server服务端的下载与安装过程(图文详解)
不多说,直接上干货! 环境说明: 本地没有安装Oracle服务端,oracle服务端64位,是远程连接,因此本地配置PLSQL Developer64位. Oracle database使用在本机部署 ...
- PLSQL Developer概念学习系列之如何正确登录连接上Oracle(图文详解)
不多说,直接上干货! 进入PLSQL Developer 1.双击 2.得到 比如,我这里安装的是 全网最详细的Windows系统里Oracle 11g R2 Database服务器端(64bit)的 ...
- 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的完全卸载(图文详解)
不多说,直接上干货! 前期博客 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的下载与安装(图文详解) 若你不想用了,则可安全卸载. 完全卸载Oracle ...
- 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库
数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...
- Oracle数据库名、实例名、数据库域名、全局数据库名、服务名之间的区别
数据库名.实例名.数据库域名.全局数据库名.服务名 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数据库 ...
- 查询oracle数据库的数据库名、实例名、ORACLE_SID
数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...
随机推荐
- Linux学习-额外(单一)核心模块编译
编译前注意事项 由于我们的核心原本就有提供很多的核心工具给硬件开发商来使用, 而硬件开发商也需要针对核心 所提供的功能来设计他们的驱动程序模块,因此, 我们如果想要自行使用硬件开发商所提供的模块 来进 ...
- Numpy+Pandas读取数据
1.为什么使用Numpy+Pandas 在使用Numpy读取csv文件时,文件中含有字符串时,会出现ValueError错误 2.Pandas读取csv文件:
- ghost模板总结
ghost模板的二次开发相对容易,附文档: http://themes.ghost.org/v0.6.0/docs/meta_title 这里有各行变量的说明. {{#is "home&qu ...
- sql server 学习分享
http://www.cnblogs.com/liu-chao-feng/p/6144872.html
- Python开启进程的2中方式
知识点一:进程的理论 进程:正在进行的一个程序或者说一个任务,而负责执行任务的则是CPU 进程运行的的三种状态: 1.运行:(由CPU来执行,越多越好,可提高效率) 2.阻塞:(遇到了IQ,3个里面可 ...
- PTA 10-排序6 Sort with Swap(0, i) (25分)
题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/678 5-16 Sort with Swap(0, i) (25分) Given a ...
- BZOJ3990 [SDOI2015]排序 【搜索】
题目 小A有一个1-2^N的排列A[1..2^N],他希望将A数组从小到大排序,小A可以执行的操作有N种,每种操作最多可以执行一次,对于所有的i(1<=i<=N),第i中操作为将序列从左到 ...
- 使用 SOAPUI 测试Web Service
原文地址:https://www.ibm.com/developerworks/cn/webservices/1106_webservicessecurity/index.html(里面内容比较多不用 ...
- Windows server 2008 R2 + IIS7.5,ASP网站设置
Windows server 2008 R2 + IIS7.5,ASP网站设置 1. 让IIS7支持ASP Win2008 IIS7 默认不安装ASP,如果需要ASP 的支持,需要将这个角色服务选上. ...
- 树上的路径 BZOJ 3784
树上的路径 [问题描述] 给定一个N个结点的树,结点用正整数1..N编号.每条边有一个正整数权值.用d(a,b)表示从结点a到结点b路边上经过边的权值.其中要求a<b.将这n*(n-1)/2个距 ...