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关键字 ...
随机推荐
- 如何设置ubuntu自己主动的睡眠时间
我相信很多在学习linux的过程中.总会遇到,不时系统会冬眠自己主动,因此,即使再次输入password.么重要的内容怕别人看 另外假设你常常使用像Putty这样子的远程登录软件的话,假设你的linu ...
- JTextArea Demo
在往JTextArea中填充数据时,JTextArea上的滚动条也可以拖动.解决办法:主线程放在EDT中,fill JTextArea的操作放在另外一个线程中,这样fill操作与GUI上的操作就分离了 ...
- Linux进程管理(-)
一.进程的类型 能够将执行在Linux系统中的进程分为三种不同的类型: 交互进程:由一个Shell启动的进程.交互进程既能够在前台执行,也能够在后台 执行. 批处理进程:不与特定的终端相关联,提交 ...
- python 2.x 与3.x的区别
下载了点python的电子书,有基于3.x的有基于2.x的让我不知道看哪些好,BD一下差别着实很大有木有?print语句变成了函数有木有?之后都得加括号了有木有? 别人整理的成果,我就无耻地搬来借用啦 ...
- Cocos3d-x 发布第一版
从去年开始11一月,我开始一个又一个人cocos3d的C++改写版本号.现在见效.所有cocos3d的OC代码改写成了C++. 在正常Android和Windows在执行.上周,正式发布了第一个版本. ...
- Visual Studio Team Services使用教程--默认团队checkin权限修改
- 推荐2一个在Java编码过程中得心应手的工具
推荐2在编码过程中的减小不仅编码的量,挺easy工具上手:可适用Java反思与单探头Assert. 1 Mirror:Java反思 简单介绍 官网:http://projetos.vidageek.n ...
- Python中国的学习方式处理问题
a = '你们' 至 str 物 a = u'你们' 至 unicode 物 1. >>> print 'u' + '你们' >>> u欢 输出乱码 2. > ...
- C++ 内部排序(一)
先讲两个概念,所谓内部排序,指待排序的节点均存储在内存中.所谓排序的稳定性,指排序后,值相等的两个元素原来相对的位置是否发生变化了.举个例子. 待排序列:3(1),1,5,3(2) 稳定排序:1,3 ...
- Linux进程的状态转换图
http://blog.csdn.net/mu0206mu/article/details/7348618 ◆运行状态(TASK_RUNNING) 当进程正在被CPU执行,或已经准备就绪随时可由调度程 ...