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 ...
随机推荐
- 使用Geth 构建以太坊区块链并模拟挖矿过程
使用Geth 构建以太坊区块链并模拟挖矿过程 Go-ethereum 是以太坊官方的一个Golang 实现,我们可以使用Geth 工具来创建创世区块并启动区块链,使用Clef 实现以太坊钱包的功能,以 ...
- 前面顺序表的补充(复杂度,未实现的算法,空间扩展)(基于c语言)
0.对于顺序表中的n个元素,如果在下标i的位置之前插入一个元素,则需要将后面n-i个元素向后移动一位:如果是删除下标为i处的元素,则是则需要将后面n-i-1个元素向前移动一位.如果说在i的位置插入和删 ...
- Ubuntu系统中防火墙的使用和开放端口
目录 Ubuntu系统 防火墙的使用和开放端口 1.安装防火墙 2.查看防火墙状态 3.开启.重启.关闭防火墙 4.Ubuntu添加开放.关闭端口 5.开放规定协议的端口 6.关闭指定协议端口 7.开 ...
- [SPDK/NVMe存储技术分析]015 - 理解内存注册(Memory Registration)
使用RDMA, 必然关系到内存区域(Memory Region)的注册问题.在本文中,我们将以mlx5 HCA卡为例回答如下几个问题: 为什么需要注册内存区域? 注册内存区域有嘛好处? 注册内存区域的 ...
- iscsi挂载
iscsi挂载 1.server端: (1) yum -y ...
- javascript函数 (二 定义函数的三种方法)
javascript定义函数(声明函数)可以有三种方法:正常方法.构造函数.函数直接量 <html><head></head><body> <sc ...
- luoguP6622 [省选联考 2020 A/B 卷] 信号传递(状压dp)
luoguP6622 [省选联考 2020 A/B 卷] 信号传递(状压dp) Luogu 题外话: 我可能是傻逼, 但不管我是不是傻逼, 我永远单挑出题人. 题解时间 看数据范围可以确定状压dp. ...
- 重磅!Vertica集成Apache Hudi指南
1. 摘要 本文演示了使用外部表集成 Vertica 和 Apache Hudi. 在演示中我们使用 Spark 上的 Apache Hudi 将数据摄取到 S3 中,并使用 Vertica 外部表访 ...
- POI Excel索引是从0还是1开始??
this.workbook.getSheetAt(1).getFirstRowNum() // == 0 this.workbook.getSheetAt(1).getLastRowNum() // ...
- 简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面) ?
索引是一种特殊的文件(InnoDB 数据表上的索引是表空间的一个组成部分),它们 包含着对数据表里所有记录的引用指针. 普通索引(由关键字 KEY 或 INDEX 定义的索引)的唯一任务是加快对数据的 ...