Oracle的sid,实例与,数据库的区别(转载整合)

2023-10-14 23:18

本文主要是介绍Oracle的sid,实例与,数据库的区别(转载整合),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

oracle的数据库、实例、ORACLE_SID、模式、用户的联系和区别
ORACLE的数据库是包括实例和数据库的物理文件。
ORACLE的实例是SGA的分配的内存和一组数据库服务进程的总称。
ORACLE的ORACLE_SID是实例的标识,也是ORACLE的实例服务名称。
模式是数据库下的对象的总称,包括表、视图、索引、函数和存储过程等。
ORACLE的用户是指访问数据库的用户,规定可以访问数据库的那些表,并对这些表做什么操作。
ORACLE数据库服务器中可以建立多个数据库,一个数据库下可以有多个实例,一个数据库下可以有多个用户,每个用户都有自己的使用权限。

补充一下:模式和用户好像没有区别。


Oracle的sid

conn = DriverManager.getConnection(
     "jdbc:oracle:thin:@127.0.0.1:1521:xe",//java一般都是thin;@后加的是地址;xe:指的是数据库sid ;

      "SYSTEM",                                           //数据库用户名;
     "myoracle");                                       //数据库用户密码;

因为在jdbc连接oracle的时候会用到sid;

select instance_name from v$instance;

查看自己Oracle的sid。
 

 

SID是System IDentifier的缩写,而ORACLE_SID就是Oracle System Identifier的缩写,在Oracle系统中, ORACLE_SID以环境变量的形式出现,在特定版本的Oracle软件安装(也就是ORACLE_HOME)下,当Oracle实例启

动时,操作系统上fork的进程必须通过这个SID将实例与其他实例区分开来,这就是SID的作用。
Oracle的实例(instance)是由一块共享内存区域(SGA)和一组后台进程(background processes)共同组成
;而后台进程正是数据库和操作系统进行交互的通道,这些进程的名称就是通过ORACLE_SID决定的。
实例的启动仅需要一个参数文件,而这个参数文件的名称就是由ORACLE_SID决定的。对于init文件,缺省的文件
名称是init<ORACLE_SID>.ora,对于spfile文件,缺省的文件名为spfile<ORACLE_SID>.ora,Oracle依据 ORACLE_SID来决定和寻找参数文件启动实例,参数文件的缺省位置为$ORACLE_HOME/dbs(Windows上为 $ORACLE_HOME/database目录)。
spfile从Oracle 9i开始引入并成为了缺省使用的参数文件,Oracle启动实例时按照以下顺序从缺省目录查找参
数文件:spfile<ORACLE_SID>.ora→spfile.ora →init<ORACLE_SID>.ora。 如果这3个文件都不存在,则Oracle 实例将无法启动。通过这些信息可以知道,在同一个ORACLE_HOME下,Oracle能够根据ORACLE_SID将实例区分开来;但是如果在不 同的ORACLE_HOME下,Oracle将无法屏蔽相同名称的ORACLE_SID,也就是说即使在同一台主机上,Oracle也是能 够创建相同ORACLE_SID的实例的。

 

 

ORACLE实例与ORACLE数据库的区别

刚接触ORACLE的人肯定会对实例和数据库感到困惑,实例到底代表些什么?为什么会有这个概念的出现?
 
ORACLE实例 = 进程 + 进程所使用的内存(SGA)
实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的状态!
 
数据库 = 重做文件 + 控制文件 + 数据文件 + 临时文件
数据库是永久的,是一个文件的集合。
 
ORACLE实例和数据库之间的关系
1.          临时性和永久性
2.          实例可以在没有数据文件的情况下单独启动 startup nomount , 通常没什么意义
3.          一个实例在其生存期内只能装载(alter database mount)和打开(alter database open)一个数据库
4.          一个数据库可被许多实例同时装载和打开(即RAC),RAC环境中实例的作用能够得到充分的体现!

 

 


这篇关于Oracle的sid,实例与,数据库的区别(转载整合)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/213803

相关文章

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

SpringBoot整合Dubbo+ZK注册失败的坑及解决

《SpringBoot整合Dubbo+ZK注册失败的坑及解决》使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配... 目录1.先看下公共的pom(maven创建的pom工程)2.启动类上加@EnableDubbo3.实

SpringBoot整合(ES)ElasticSearch7.8实践

《SpringBoot整合(ES)ElasticSearch7.8实践》本文详细介绍了SpringBoot整合ElasticSearch7.8的教程,涵盖依赖添加、客户端初始化、索引创建与获取、批量插... 目录SpringBoot整合ElasticSearch7.8添加依赖初始化创建SpringBoot项

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro