首页

文章

oracle的用户认证机制包括哪些类型

发布网友 发布时间:2022-03-22 03:47

我来回答

1个回答

热心网友 时间:2022-03-22 05:16

实例和数据库的关系
实例是运行在内存中的一系列进程,用于相应客户端请求,在内存中缓存数据以及与数据库交互等等。而数据库是实际存储数据的组织。
Oracle中一个实例只能对应一个数据库,或多个实例对应一个数据库,这种架构称为RAC--Real Application Cluster。对于每个实例,有一个SID(System ID)来唯一标识,在连接到数据库服务器时需要提供(或者提供service name也可以)。关于SID和Service name的区别可自行搜索。
SQL Server中一个实例可以对应多个数据库,同时一台机器可以按照多个实例。由于同一台机器上的多个实例需要互相区分,因此如果仅安装一个实例则使用默认实例,如果安装多个实例,则需要使用命名实例。
数据存储结构
Oracle中,关于存储的逻辑概念有:
block--由多个IO blocks组成,一般为4或8KB
extent--一段连续的blocks,用于存储特定的信息
segment--由一系列的extents构成,用于存储特定的数据库对象,例如表。每个数据库对象都存储在单独的segment中。需要注意的是segment可以跨多个data file。
tablespace -- 一个数据库有两个tablespace: System tablespace & Data tablespace。每个tablespace可有多个data file,但data file不可跨tablespace,也不可跨磁盘。
关于存储的物理结构有:
iOS block--指磁盘层面的最小读写单元
data file--数据文件,在ios层面可实际观察到的文件
具体请参考:

SQL Server中存储的逻辑概念有:
data page--SQL Server存储数据的最小单元,大小为8KB。
extent--8个data pages构成一个extent,因此一个extent的大小为64KB。extent又分为两种,uniform and mixed。通常一个数据库对象由多个uniform extent构成,但当对象足够小的时候,也可以由多个对象共用多个mixed extents。
请参考:
(v=sql.105).aspx
物理结构上由文件和文件组构成,请参考:
(v=sql.105).aspx
Schema
Oracle和SQL Server中schema的概念是类似的。

Oracle中有多种多样的表:
Ordinary table--就是各个关系型数据库中都可定义的表。
Object table -- Oracle中可以定义对象类型,每个对象类型可以包含成员变量,成员方法。而object table是一类特殊的表,其中每行数据都是一个对象。每行可以用OID来唯一标识。
Heap-organized table -- 指表中的数据没有任何顺序的表。
Index-organized table -- An index-organized table orders rows according to the primary key values. 但SQL Server中用clustered-index来对表数据排序。注意定义primary key并不会让表成为index-organized table,还需要指定ORGANIZATION INDEX关键字。
External table -- 指在Oracle中仅存储了元数据,而数据本身则不再数据库之内。例如真正的数据可能是一个txt文件。
Temporary table--Oracle中的临时表是永久性的,即用户创建临时表后,该表就会存在于用户schema下。但表中的数据会随着用户断开session被删除或随着事务的结束被删除。
Table Clusters--A table cluster is a group of tables that share common columns and store related data in the same blocks.
Hash Clusters--
可参看下例链接:

SQL Server:
Ordinary table--同上
heap table -- 指没有建立任何索引的表
non-heap table -- 指建立了索引的表。SQL Server中通过创建clustered index来对表的物理数据排序,中文是聚集索引。注意和Oracle的table clusters是完全不同的东西。
Temporary table -- 在TSQL中可以定义临时表,用于存储计算中间结果,如DECLARE #t_table TABLE (XXX)。临时表的数据在硬盘上,属于temp数据库。当用户session断开时,临时表被drop掉。另外SQL Server还提供表变量,用于在内存中存储中间结果,如DECLARE @t_table TABLE (XXX)。
external table -- SQL Server中的外部表和Oracle的外部表是类似的,但SQL Server的外部表仅用于查询Hadoop cluster或Amazon cloud中的数据。
视图
Oracle中的视图有:
View -- 可以被看做一个保存了的query,而不是一个实际的表。但向view执行DML会引起底层的表数据发生变化。
Object view -- 普通的view是基于普通表,而object view则是基于object table。
Materialized Views -- 物化视图,即视图不再是一个query,而是一个真实的表。由定义可知当基表的数据变化时,必然需要将数据同步到物化视图,且必然是异步的。oracle的物化视图可以选择是增量更新还是完全更新方式。另外只能在物化视图上创建索引,普通视图不可以。
SQL Server中的视图有普通视图和物化视图。当在一个普通视图上创建index时,该视图就成为了物化视图。
索引
Oracle中有两种结构的索引:B-tree索引和bitmap索引。B-tree索引为默认使用的索引,bitmap索引在某些特殊情况下可提高查询效率。
SQL Server仅支持B-tree索引。
ROWID和RID
Oracle中每个表都会有一个伪列(pseudo column),称为ROWID。ROWID由18位字符组成,可唯一定位的每一行数据。其形式为:
object_number(6位):file_number(3位):block_number(6位):row_number(3位)
在Oracle中,ROWID Seek是一中较高效的定位数据的方式。
SQL Server中则不提供ROWID。与之最接近的是RID,其形式为:
File:Page:Slot
SQL Server仅在对heap表查询时才会使用RID定位数据。在建立了聚集索引的表中,由于索引的页级节点就是表本身,因此不需要使用RID来定位数据。
Join算法
当涉及多表联合查询时,Oracle提供如下join算法:
nested loops
sort-merge
cluster -- 专门用于在一个cluster中的cluster table。SQL Server因为没有table cluster,因此也没有cluster join。
hash join (not available with rule-based optimization)
SQL Server则提供nested loops,sort-merge和hash join 。
序列
Oracle中的sequence是用户定义的,可多表共用的数据结构。它用于在表中产生自增字段,通常用来产生primary key。
SQL Server则在各个表中设置自增字段,因此并非是独立的数据结构,也不能多表共用。其功能与Oracle类似。
分区表,分区视图和分区索引
Oracle和SQL Server中都可将表分区,其功能相同。
执行计划
执行计划指The EXPLAIN PLAN statement displays execution plans chosen by the Oracle optimizer。
Oracle和SQL Server中执行计划的功能和原理是相同的。
在Oracle中使用SET AUTOTRACE ON来执行SQL并显示执行计划,若不想运行SQL,只查看执行计划则使用SET AUTOTRACE TRACEONLY。
SQL Server中的execution plan仅查看执行计划,并不运行SQL,如要查看实际的运行情况和统计数据,则是查看actual plan。
Tlog和Redo log
在Oracle中,使用redo log来处理事务回滚等操作,在SQL Server中则是Tlog。二者功能相近。
Oracle中当redo log将log group填满后,默认会自动归档,但也可以关闭该功能。称为NOARCHIVELOG and ARCHIVELOG Mode。

而在SQL Server中则称为recovery mode。Recovery mode有三种:full mode,simple mode和bulk logged mode。full mode对应ARCHIVELOG mode,simple mode对应NOARCHIVELOG mode。生产数据库都应工作在full mode或archivelog下。
集群
SQL Server提供两种形式的cluster:Failover Cluster和Avalibility Groups
最大的区别是,Failover Cluster有两个实例共享一个物理存储(通常是SAN),且同一时刻只有一个实例能访问物理存储。当当前实例由于各种原因,例如内存占用超过阈值了,就会自动做failover,到另外一个实例上。但总得来说物理存储只有一份,虽然SAN的安全性很高。而Avalibility Groups则使用了更复杂的架构,使得不再共享一个存储,而真正实现了多副本的集群。
Oracle提供RAC--Real Application Cluster。由于它和Failover Cluster一样共享一个物理存储,因此更接近于Failover Cluster。但区别是RAC实现了多实例可同时访问一个物理存储,因此实现了动态负载均衡,也增大了缓存的数据,从而提高了查询效率。缺点是对于写操作,磁盘IO可能会成为瓶颈。

*数据库
Oracle提供两个*数据库产品:Essbase 和 Oracle OLAP
SQL Server提供SSAS
怎样让孩子主动找老师补课? 表格列求和公式怎么设置 求和函数公式怎么输入 北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 软柿子的热量 孕妇可以吃软柿子吗不是西红柿 脆柿子和软柿子的区别 脆柿子好还是软柿子好 软柿子可以多吃吗 “鱼悬洁白振清风”的出处是哪里 用大自然的声音评课好吗? 妇产科博士找超声科工作容易吗 怎能把微信6.2.0版本换回6.1.2版 微信群6.2.4怎么增加人数上限 微信6.2.2如何备份手机通讯录 电脑桌面图标不能放大? 有什么好用的识图软件 识图认人哪个软件最好 手机识图软件什么软件能识别图片位置 小米手机自动锁屏时间怎么修改 小米手机屏幕锁定时间设置教程 能举起100斤算大力吗 中医美容专业是什么 中医美容证有什么用 单声道音频什么意思(开启单声道音频有什么好处) 单声道音频是什么,有什么用处? 户口还未迁移到婆家 娘家户口怎么就没了呢 我结婚没有迁户口,现在娘家也没有怎么办 没领证生的孩子一般会判给谁 没领证生的孩子会判给谁 信用卡卡种有哪些 找一首古风歌曲 男声 低配电脑装w10还是w7流畅 电脑配置低装win7还是win10好 低配电脑适合装WIN7系统还是WIN10系统? ...500s-15isk这个联想笔记本的内存条尺寸是什么型号的有没有知道的... 越快越好.怎样减肥.而且胸部不缩水 请问徐闻县海安长途汽车客运站客服是多少? 过了平台期还会瘦吗 悦耳的意思悦耳的解释 重庆师范大学应用心理学专业的权威性如何? 打印机laserjetm1136mfp怎样设置无线打印 手机如何改变照片大小kb 手机美图秀秀怎么压缩照片到10k 怎样将手机照片压缩成2m 为什么新的没有漂流瓶 我的快手怎么没有大屏模式 快手大屏模式怎么突然没有了? 快手关注页面为什么会突然是大屏播放,要咋样改回原来的那种 快手怎样关闭自己的大屏模式 苹果手机快手怎么关闭大屏模式 vivox6手机发烫是什么原因 刚买回来的vivo手机发烫是手机太差的原因嘛 萤火虫有哪些特点? 萤火虫生长在什么的环境啊!? 萤火虫怎样发光? 萤火虫的生活习性 苹果11闪光灯怎么打开 苹果十一拍照闪光灯怎么设置 华为怎样修改 ios11照相怎样打开闪光灯 已注册的怎样更改 考研中的外国语考试包括那些语种? 职称外语考试的考试语种 华为手机有指纹解锁功能吗 华为手机指纹解锁如何设置 华为手机的指纹解锁在屏幕的什么地方 华为手机怎么设置需要指纹关闭指纹解锁 华为手机设置指纹解锁怎么开启 为什么新的没有漂流瓶 做数据库管理员有学历要求吗 vivo Y51死机了怎么强制关机重启 vivox23怎么强制关机,不是重启,是关机? 苹果手机怎么设置微信打开时密码 苹果手机怎么样设置微信打开密码 ISO9001认证证书的有效期是多久 注册会计师证书的有效期是多久 雅思证书的有效期是多久? 托福证书的有效期是多久? PMP证书的有效期多久? SSL证书是永久有效的嘛?有效期多久? PMP证书是永久有效吗?有效期是多久?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com