C/C++教程

数据库、SID实例、Oracle数据库、sys、system用户

本文主要是介绍数据库、SID实例、Oracle数据库、sys、system用户,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

环境:Centos7.9 Oracle12.1.0.2.0

数据库、SID实例、Oracle数据库、表空间、用户、表

数据库: 简单的,本质上来说,数据库就是存放在磁盘上的文件集合。

SID: sid也就是我们常说的数据库实例,用官方的话来说,实例就是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存(SGA)所构成一个集合。通常一个sid对应一个数据库,但也可以多个sid对于一个数据库。

Oracle: 从广泛的概念来说的,我们讲的Oracle实际上是指整个Oracle软件,包括数据库以及数据库管理系统等全部对象,但从狭义的角度来说,我们平时讲的Oracle数据库又可以指某一个具体的数据库。通常,如果没有明确的区分,我们可以把Oracle当做某个具体的数据库。

表空间: Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。有了数据库,就可以创建表空间了,表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。

用户: Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定默认表空间。

表: 有了数据库,表空间和用户,就可以用自定义的用户在自己的表空间创建表了,有了表,我们可以开发了。

通常,在生产环境中,我们会创建一个表空间A,然后创建一个用户B,并指定用户的默认表空间为A,最后由该用户创建表,这样就实现了该用户管理它自己创建的表,而且这些表都是在用户的默认表空间下,这样,不用的用户有自己的默认表空间和表,从前端用户的角度来看,就好似每一个用户都是一个单独的数据库,而实际上只是同一个数据库下不同的表空间摆了。

sys用户和system用户

sys:sys是单个数据库的超级用户,sys 用户拥有 dba , sysdba , sysoper 等角色或权限,是单个数据库的权限最高的用户。
system:system用户只能用 normal 身份登陆 Oracle ,除非你对它授予了 sysdba 的系统权限(grant sysdba to system)或者 sysoper 系统权限。
sys、system都是数据库内置的一些高级权限的用户,使用这些高级权限账号登陆就可以在数据库实例中创建表空间,用户,表等对象了。

注意

一个数据库(指一个database文件或sid实例)下可以有多个用户,但只有1个sys用户,以及只有1个system用户,而Oracle软件可以有创建多个数据库,也就是说不同的sid实例下的sys用户是不用的,起码它们的密码可以是不用的,如下所示,每当你创建一个新的数据库时,就需要为该数据库的sys用户指定密码,如下所示:

在这里插入图片描述
在这里插入图片描述

这篇关于数据库、SID实例、Oracle数据库、sys、system用户的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!