Oracle数据库包括两个部分数据库和数据库实例
olsnodes,这个命令用来显示集群点列表(grid即oracle rac的第三个安装包内的软件,可找到)
- //集群名称
[grid@shdb02 ~]$ olsnodes -c
shfpdb-cluster
- //集群有两个节点
[grid@shdb01 network-scripts]$ olsnodes
shdb01
shdb02
//集群的编号
[grid@fpdb02 ~]$ olsnodes -n
shdb01 1
shdb02 2
[grid@shdb02 ~]$ srvctl config asm
ASM home: /u01/app/11.2.0/grid
ASM listener: LISTENER
[grid@shdb02 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): shdb02,shfpdb01
[grid@shdb02 ~]$ srvctl status instance -d fpmai -i fpmai1,fpmai2
Instance fpmai1 is running on node shdb01
Instance fpmai2 is running on node shdb02
[grid@shdb02 ~]$ crs_stat -t|grep lsnr
ora....ER.lsnr ora....er.type ONLINE ONLINE shdb01
ora....N1.lsnr ora....er.type ONLINE ONLINE shdb02
ora....01.lsnr application ONLINE ONLINE shdb01
ora....02.lsnr application ONLINE ONLINE shdb02
[grid@shdb02 ~]$ srvctl config nodeapps -n shdb01 -a
-n <node_name> option has been deprecated.
Network exists: 1/10.128.51.0/255.255.255.0/eth0, type static
VIP exists: /shfpdb01-vip/10.128.51.23/10.128.51.0/255.255.255.0/eth0, hosting node shdb01
//查看集群的状态
- [grid@shdb01 ~]$ crsctl status res -t
- --------------------------------------------------------------------------------
- NAME TARGET STATE SERVER(节点) STATE_DETAILS
- --------------------------------------------------------------------------------
- Local Resources
- --------------------------------------------------------------------------------
- ora.ARCH.dg
- ONLINE ONLINE shdb01
- ONLINE ONLINE shdb02
- .....
- ora.asm
- ONLINE ONLINE shdb01 Started
- ONLINE ONLINE shdb02 Started
- ora.gsd
- OFFLINE OFFLINE shdb01
- OFFLINE OFFLINE shdb02
- ...
- ora.registry.acfs
- ONLINE ONLINE shdb01
- ONLINE ONLINE shdb02
- --------------------------------------------------------------------------------
- Cluster Resources
- --------------------------------------------------------------------------------
- ora.LISTENER_SCAN1.lsnr
- 1 ONLINE ONLINE shdb02
- ora.cvu
- 1 ONLINE ONLINE shdb02
- ora.fp.db
- 1 ONLINE ONLINE shdb01 Open //已打开
- 2 ONLINE ONLINE shdb02 Open //已打开
- ora.htc.db
- 1 OFFLINE OFFLINE Instance Shutdown
- 2 OFFLINE OFFLINE Instance Shutdown
- ora.hts.db
- 1 ONLINE ONLINE shdb01 Open
- 2 ONLINE ONLINE shdb02 Open
- ora.oc4j
- 1 ONLINE ONLINE shdb01
- ora.scan1.vip
- 1 ONLINE ONLINE shdb02
- ora.shdb01.vip
- 1 ONLINE ONLINE shdb01
- ora.shdb02.vip
- 1 ONLINE ONLINE shdb02
网络层由各个节点的网络组件组成
- [grid@shdb01 network-scripts]$ oifcfg iflist
- eth0 10.128.51.0
- eth1 10.128.53.0
- eth1 169.254.0.0
[grid@shdb01 network-scripts]$ oifcfg getif
eth0 10.128.51.0 global public
eth1 10.128.53.0 global cluster_interconnect
[grid@shdb01 network-scripts]$ oifcfg getif -type public
eth0 10.128.51.0 global public
查看数据库,查看当前节点信息
- [grid@shdb01 network-scripts]$ hostname
shdb01
[grid@shdb01 network-scripts]$ srvctl config database -d fp -a- Database unique name: fp
- Database name: fp
- Oracle home: /u01/app/oracle/product/11.2.0/db_1
- Oracle user: oracle
- Spfile: +DATA/fp/spfilefp.ora //用的是asm
- Domain:
- Start options: open
- Stop options: immediate
- Database role: PRIMARY
- Management policy: AUTOMATIC
- Server pools: fp
- Database instances: fp1,fp2 //有两个实例
- Disk Groups: DATA
- Mount point paths:
- Services:
- Type: RAC
- Database is enabled
- Database is administrator managed
//解读信息,数据库名为fpmai , 他有两个数据库实例 fpmai1,fpmai2
综合以上信息,我们调研情况为
1、集群有2个节点 shdb01,shdb02
2、集群中有一个数据库名为fpmai
3、fp数据库有2个实例.
现在我们在来讲可能就比较容易理解一些oarcle数据库服务器主要有两部分组成:物理数据库和数据库管理系统
1、实例
数据库管理系统是用户和物理数据库之间的一个中间层,是软件层。这个软件层具有一定的结构,这个结构又被称为实例结构。
在启动数据库时,oracle首先要在内存中获取、划分、保留各种用途的区域,运行各种用途的后台进程,即创建一个实例(instance),
然后由该实例装载、打开数据库,最后由这个实例来访问和控制数据库的各种物理结构。
数据库至少由一个oracle实例引用,该实例由oracle系统标识符(system identity)唯一标识,用于区别此计算机上的任何其他实例。
- 登录某实例
[grid@shdb01 network-scripts]$ export ORACLE_SID=fp1- [grid@shdb01 network-scripts]$ echo $ORACLE_SID
- fpmai1
[grid@shdb02 ~]$ srvctl status instance -d fp -i fp1
Instance fp1 is running on node shdb01 //实例fpmai1运行在shfpdb01节点
[grid@shdb02 ~]$ srvctl status instance -d fp -i fp2
Instance fp1 is running on node shdb02 //实例fpmai2运行在shfpdb02节点
[grid@shdb01 network-scripts]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 10 19:47:11 2022
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance. //已经连接到某
2、通过实例来连接、使用数据库。
- 在启动数据库并使用数据库的时候,实际上是连接到该数据库的实例.
- 所以实例是用户和数据库之间的一个中间层。(客户端---》实例---》数据库)
- 实例是由操作系统的内存结构和一系列进程所组成的,可以启动和关闭。
3、每个实例都要用称为SID的符号来区分
- 一台计算机上可以创建多个oracle数据库,当同时要使用这些数据库时,就要创建多个实例。
- 为了不使这些实例相互混淆,每个实例都要用称为SID的符号来区分,即创建这些数据库时填写的数据库SID。
- 数据库实例是用户访问数据库的中间层,是使用数据库的手段,它为用户访问数据库提供了必要的内存空间和多个工作进程,它是动态的、临时的,
- 简单的说,Oracle实例就是由内存空间和工作进程两部分组成。 我们只能通过实例操作数据库,
- 同一时间,一个实例只能打开一个数据库,也就是一个实例只能操作或管理一个数据库,但一个数据库可以被多个是实例打开。
- 实例可以在没有数据文件的情况下单独启动,(startup nomount)但这通常是没有意义的,
- 一个实例在生成期内只能装载(alter database mount)和打开(alter database open)数据库。
4、ORACLE实例有两种类型:单进程实例 和 多进程实例。
- 单进程ORACLE(又称单用ORACLE)是一种数据库系统,一个进程执行全部ORACLE代码。由于ORACLE部分和客户应用程序不能分别以进程执行,
所以ORACLE的代码和用户的数据库应用是单个进程执行。在单进程环境下的ORACLE 实例,仅允许一个用户可存取。例如在MS-DOS上运行ORACLE 。- 多进程ORACLE实例(又称多用户ORACLE)使用多个进程来执行ORACLE的不同部分 ,对于每一个连接的用户都有一个进程。
- 在多进程系统中,进程分为两类:用户进程 和ORACLE进程。当一用户运行一应用程序,如PRO*C程序或一个ORACLE工具(如SQL*PLUS),为用户运行的应用建立一个用户进程。
Oracle系统的进程包括三种类型
- ①用户进程
- ②服务进程
- ③后台进程
5、实例名(instance_name)
- 数据库实例名(instance_name)用于对外部连接。在操作系统中要取得与数据库的联系,必须使用数据库实例名。
- 例如,要去连接一个数据库服务器,就必须知道其数据库实例名。
- 查询当前数据库实例名
- 方法一:select instance_name from v$instance;
- 方法二:show parameter instance_name
- 方法三:在参数文件中查询。
6、服务名(Service_name)
- 该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。
为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name.
Db_domain,即等于Global_name。
一个数据库可以对应多Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样。
如果数据库有域名,则数据库服务名就是全局数据库名,否则,数据库服务名与数据库名相同。- 查询当前数据库服务名
- 方法一:select value from v$parameter where name = ‘service_name’;
- 方法二:show parameter service_name
- 方法三:select instance_namefrom v$instance;
- 方法四:在参数文件中查询。
- 注意:方法三:select instance_namefrom v$instance; 的值是来自操作系统的oracle_sid,oracle_sid是操作系统的环境变量。
Oracle数据库包括两个部分数据库和数据库实例的更多相关文章
- ORACLE如何比较两个数据库的差异
ORACLE怎么比较两个数据库的差异 方法1:使用PL-SQL工具 点击 工具->比较用户对象
- .Net 中读写Oracle数据库常用两种方式
.net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ...
- oracle使用DataBase Configuration Assistant创建、删除数据库
可以使用DataBase Configuration Assistant来创建一个心得数据库.Database Configuration Assistant简称是DBCA,是创建.配置以及管理数据库 ...
- [转]oracle学习入门系列之五内存结构、数据库结构、进程
原文地址:http://www.2cto.com/database/201505/399285.html 1 Oracle数据库结构 关于这个话题,网上一搜绝对一大把,更别提书籍上出现的了,还有很多大 ...
- Gartner 2018 数据库系列报告发布 巨杉数据库连续两年入选
近期,Gartner陆续发布了2018年的数据库系列报告,包括<数据库魔力象限><数据库核心能力>以及<数据库推荐报告>.其中,SequoiaDB巨杉数据库作为业界 ...
- ADOdb 支持的数据库包括哪些?
ADOdb 支持的数据库包括 MySQL, PostgreSQL,Interbase,Firebird,Informix,Oracle,MS SQL 7,Foxpro,Access,ADO,Sybas ...
- 基于Oracle的SQL优化(社区万众期待 数据库优化扛鼎巨著)
基于Oracle的SQL优化(社区万众期待数据库优化扛鼎巨著) 崔华 编 ISBN 978-7-121-21758-6 2014年1月出版 定价:128.00元 856页 16开 编辑推荐 本土O ...
- oracle数据库使用心得之与SQL serve数据库的差异
网上对于SQL数据库的使用比较详细,但是对于Oracle的使用比较少,本文特别适合学过SQL数据库但是工程需要使用Oracle数据的编程人员查看, 时间匆忙,文章可能写得不够详细,希望有人指出错误或者 ...
- C++连接mysql数据库的两种方法
本文主要介绍了C++连接mysql数据库的两种方法,希望通过本文,能对你有所帮助,一起来看. 现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用a ...
随机推荐
- 2.4 C++STL deque容器详解
文章目录 2.4.1 引入 2.4.2 代码示例 2.4.3 代码运行结果 2.4.4 具体案例 总结 2.4.1 引入 deque容器类比vector容器来学习. deque为双向开口容器,见下图. ...
- SpringBoot整合RabbitMQ-5.7-课堂笔记-02
- mq消息堆积处理
1.大量消息在mq里积压 场景:几千万条数据在MQ里积压了七八个小时,从下午4点多,积压到了晚上很晚,10点多,11点多.线上故障了,这个时候要不然就是修复consumer的问题,让他恢复消费速度,然 ...
- rsync同步文件到远程机器,卡住10多秒--问题解决过程
背景 以前大体介绍过,我们这边是做运维平台的.如果要形象化理解,那么,比如jenkins这种喜闻乐见的软件大致了解吧,jenkins就经常需要同步文件/版本包到远程机器上,jenkins怎么实现的,没 ...
- 部署YUM源仓库与NFS共享存储服务
镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 一.YUM YUM (Yellow dog Updater Modified) ●基于RPM包构建的软件更新机制 ●可以自动解决依赖关系 ●所有 ...
- kubernetes如何强制删除namespace
K8S如何强制删除namespace 先运行kubectl get namespace ingress-nginx -o json > nginx.json,拿到当前namespace描述,然后 ...
- 7月2日 Django注册页面的form组件
forms.py里注册页面的form组件 # Create your views here. class RegForm(forms.Form): username = forms.CharField ...
- 使用ipmitool工具来使用串口连接远程主机
https://www.ibm.com/developerworks/cn/linux/l-ipmi/index.html ipmitool -H 9.13.2.213 -U root -P xxxx ...
- sql中数据统计
今天来说一下使用sql统计数据. 用的H2数据库,用的是DBeaver连接工具.有三表,打印表PRINT_JOB,复印表COPY_JOB和扫描表SCANNER_JOB (这段可以忽略)任务是要统计相同 ...
- vue2.x版本中computed和watch的使用入门详解-watch篇
前言 watch顾名思义,属于vue2.x版本中,监听和观察组件状态变化的钩子函数,常见的应用场景有监听路由变化,以及父组件传递给子组件的props数据的变化等 基本使用 在使用watch的时候,需要 ...