ORACLE 中极易混淆的几个 NAME 的分析和总结
DB_DOMAIN:
GLOBAL_NAME:
DATABASE RENAME GLOBAL_NAME TO <db_name.db_domain>命令进行改动,然后改动对应參数。
SERVICE_NAME:
Db_domain,即等于Global_name。一个数据库能够相应多个Service_name,以便实现更灵活的配置。该參数与SID没有直接关系,即Service name不必与SID一样。
例如说我能够在环境变量设置的时候,设置ORACLE_SID=zlm,那么这个时候SID就是zlm,而在tnsnames.ora中,我能够把SERVICE_NAME改成zlm_SN
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.91)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = zlm_SN)
##SERVICE_NAME为zlm_SN,与SID为zlm不同
)
)
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = zlm_SN)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(SID_NAME = zlm)
)
)
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "zlm_SN" has 1 instance(s).## 表示对应的SERVICE_NAME为zlm_SN
Instance "zlm", status
UNKNOWN, has 1 handler(s) for this service... ##表示对应的INSTANCE_NAME为zlm,也即SID和ORACLE_SID
The command completed successfully
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.91)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "zlm" has 1 instance(s).
Instance "zlm", status
READY, has 1 handler(s) for this service...
Service "zlmXDB" has 1 instance(s).
Instance "zlm", status READY, has 1 handler(s) for this service...
Service "zlm_SN" has 1 instance(s).
Instance "zlm", status UNKNOWN, has 1 handler(s) for this service...
Service "zlm_XPT" has 1 instance(s).
Instance "zlm", status
READY, has 1 handler(s) for this service...
The command completed successfully
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.92)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "ZLMDG" has 1 instance(s).
Instance "zlm", status
READY, has 1 handler(s) for this service...
Service "ZLMDG_XPT" has 1 instance(s).
Instance "zlm", status
READY, has 1 handler(s) for this service...
Service "zlmXDB" has 1 instance(s).
Instance "zlm", status READY, has 1 handler(s) for this service...
Service "zlm_SN1" has 1 instance(s).
Instance "zlm", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
NET SERVICE NAME:
'connect_string'这里connect_string事实上就是NET SERVICE NAME。
SERVICE NAME,我的环境中是ZLM10G,如:
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.91)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = zlm_SN)
)
)
[oracle@10dg1 ~]$ sqlplus system/oracle@zlm
SQL*Plus: Release 10.2.0.5.0 - Production on Tue Jul 29 14:48:39 2014
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
ERROR:
ORA-12560: TNS:protocol adapter error
Enter user-name:
[oracle@10dg1 ~]$ sqlplus system/oracle@zlm10g
SQL*Plus: Release 10.2.0.5.0 - Production on Tue Jul 29 14:48:50 2014
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
SQL*Plus: Release 10.2.0.5.0 - Production on Tue Jul 29 14:46:16 2014
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Enter user-name:
[oracle@10dg1 ~]$
数据库(相应DB_NAME或GLOBAL_NAME),就是实际的磁盘上的文件(数据文件、日志文件、控制文件等),负责保存数据,但由相应的实例来操作它的数据
服务名(相应SERVICE_NAME),就是对外发布的名称,为网络监听服务
事实上,在我们传统的概念里,数据库是一个统称,在Oracle中,你能够把“数据库”理解成一个大概念,也要把它理解成一个小概念
1、一个Oracle数据库系统中能够同一时候安装多个数据库,每个数据库相应一个唯一的实例(1:1),可是OPS系统除外,能够多个实例同一时候对一个数据库操作,称为并行server(1:N),还有RAC架构,也是多个实例为一个数据库实例服务(1:N),另外还有ASM磁盘组实例,用于管理ASM这样的OMF存储结构而诞生的实例,这些都是非常easy混淆的概念。
,而是写成SID=(zlm),都是能够的
conn / as sysdba连接,如,SET ORACLE_SID=XXX,由于这里用到了默认的实例名。
2.INSTANCE_NAME:
"zlm",status READY信息。
3.DB_NAME:
4.SERVICE_NAME和GLOBAL_DBNAME:
这两个參数之所以放在一起讲,是由于他们往往是成对出现的。SERVICE_NAME出如今tnsnames.ora文件里,是client要请求的服务名。
scope=both来改动。
二者相应,实现了listerner.ora/tnsnames.ora的重要功能——监听、请求与验证。
首先,nomount状态,系统接收到startup命令,立马採取行动,取得环境变量ORACLE_SID的值,開始分配SGA内存,启动第一阶段--实例创建。系统依据找到的參数文件启动ORACLE数据库实例,实例启动后,一切由实例接管:注冊INSTANCE_NAME,往往INSTANCE_NAME就是来自ORACLE_SID,接着向监听器动态注冊实例自己,并将INSTANCE_NAME写入系统数据字典表。
接下来,mount状态,实例进一步读取參数文件,取得DB_NAME、控制文件、检查点等信息,进入第二阶段--挂载数据库。实例从控制文件里取得DB_NAME,并取得数据文件、日志文件等信息,进行DB_NAME的一致性检验、文件的存在性推断等工作之后,实例将挂载数据库,挂载的数据库就是DB_NAME指定的数据库。
最后,open状态,实例进入第三阶段--启动数据库。这一阶段,实例进行了两项检查:检查点和更改点检查,之后启动数据库。
SERVICE NAME,DB_NAME,GLOBAL_DBNAME这些名字,都能够设置成zlm,DB_DOMAIN能不用就尽量不设置,除非生产环境中有非常多库,为了惟一标识,假设设置了,那么GLOBAL_NAME就不再是DB_NAME了,而是DB_NAME.DB_DOMAIN,而当使用DBLINK的时候,LINK的名字也必须使用DB_NAME.DB_DOMAIN了,会带来不小麻烦。
ORACLE 中极易混淆的几个 NAME 的分析和总结的更多相关文章
- css常见的易混淆属性和值的区别(一)
css的属性很多,每一个属性的值也很多,组合起来便有成千上万种.不同属性之间的相互组合也可以产生不同的样式,css真是一种优美的样式设计语言.下面对工作中常见的易混淆的属性和值进行总结: 1. lin ...
- C#中一些易混淆概念总结
C#中一些易混淆概念 这几天一直在复习C#基础知识,过程中也发现了自己以前理解不清楚和混淆的概念.现在给大家分享出来我的笔记: 一,.NET平台的重要组成部分都是有哪些 1)FCL (所谓的.NET框 ...
- C#中易混淆的知识点
C#中易混淆的知识点 一.引言 今天在论坛中看到一位朋友提出这样的一个问题,问题大致(问题的链接为:http://social.msdn.microsoft.com/Forums/zh-CN/52e6 ...
- a链接易混淆与form表单简易验证用法详解
链接可以说遍布互联网,比如你想提供一个可以跳转到百度首页的链接给网友,那么代码如下: <a href="http://www.baidu.com">百度一下,你就知道& ...
- lua中易混淆函数
lua中易混淆的函数 ipairs和pairs: ipairs只能顺序遍历table,遇到key不是数字就会退出 pairs可以遍历table中所有元素 ----------------------- ...
- JavaScript中易混淆的DOM属性及方法对比
JavaScript中易混淆的DOM属性及方法对比 ParentNode.children VS Node.prototype.childNodes ParentNode.children:该属性继承 ...
- [Swift-2019力扣杯春季初赛]1. 易混淆数
给定一个数字 N,当它满足以下条件的时候返回 true: 把原数字旋转180°以后得到新的数字. 如 0, 1, 6, 8, 9 旋转 180° 以后,得到了新的数字 0, 1, 9, 8, 6 . ...
- PHP易混淆函数的区别及用法汇总
本文实例分析了PHP易混淆函数的区别及用法.分享给大家供大家参考.具体分析如下: 1.echo和print的区别PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.ech ...
- 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
随机推荐
- oracle设备
# Oracle Environment export ORACLE_BASE=/opt/oracle export ORACLE_HOME=/opt/oracle/product/11gR2/db ...
- 在java代码中获取JVM参数(转)
近日关注性能调优,关注JMX,发现java.lang.management.*之强大.同时查阅了资料,整合一版关于JVM参数获取的note,仅供参考: MemoryMXBean memorymbean ...
- 自己写CPU第九阶段(3)——加载存储指令说明2(swl、swr)
我们会继续上传新书<q=%E8%87%AA%E5%B7%B1%E5%8A%A8%E6%89%8B%E5%86%99CPU&ie=utf-8&src=se_lighten_quot ...
- 【本·伍德Lua专栏】补充的基础09:使用table.concat将一个大的字符串
近期2天都没有写新的文章了.主要是近期的内容没有特别有意思的. 之前的协同程序也临时没有感觉到特别适用的地方.今天在看数据结构的部分,也是没多大意思(不代表没用). 但是突然发现了一个有意思的地方,那 ...
- Windows PHone 8 获取硬件信息
/// <summary> /// 获取系统信息 /// </summary> private string GetDeviceInfo() { StringBuilder s ...
- CCBValue
#ifndef __CCB_VALUE_H__ #define __CCB_VALUE_H__ #include "cocos2d.h" #include "Extens ...
- java实现生产者消费者问题(转)
引言 生产者和消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间,如下图所示,生产者向空间里存放数据,而消费者取用数据,如果不加以协调可能会出现以下情况: 生产者消费者图 ...
- 有趣 IOS 开展 - block 使用具体解释
Block 它是iOS于4.0新的程序语法之后,于iOS SDK 4.0之后,block应用几乎无处不在. 在其他语言中也有类似的概念,称为闭包(closure),实例object C兄弟swift ...
- Down to the TLP: How PCI express devices talk (Part II)
http://xillybus.com/tutorials/pci-express-tlp-pcie-primer-tutorial-guide-2 Data Link Layer Packets A ...
- Unity3D移动端内存优化(NGUI方面)
Unity3D引擎技术交流QQ群:[21568554] 做3d移动端内存一直是人们头疼的问题,载入的资源释放了,还有其它的须要释放.比方ngui释放,事实上主要是NGUI的Texture和Spr ...