Oracle基本概念
1.表空间
(1)表空间是Oracle数据库中最大的逻辑结构。它提供了一套有效组织数据的方法,是组织数据和进行空间分配的逻辑结构,可以将表空间看作是数据库对象的容器。简单地说,表空间就是一一个或多个数据文件(物理文件)的集合(逻辑文件),所有的数据对象都被逻辑地存放在指定的表空间中。
(2)每个Oracle数据库都是由若干个表空间构成
(3)用户在数据库中建立的所有内容都被存储到表空间中
(4)创建数据库时会自动创建若干表空间
(5)Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。
(6)表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。
2.全局数据库名
(1)用于区分一个数据库的内部标识
(2)全局数据库名=数据库名+域名
(3)使数据库的取名在整个网络环境中唯一
3.模式和模式对象
(1)模式为模式对象的集合
1)模式是一个逻辑容器,你可以把模式理解为文件夹,方便我们对一组数据库对象进行管理。通常,一个大的系统由许多小的系统组成,我们可以给每个小的系统创建一个模式,把该系统中用到的数据库对象都创建在这个模式中。例如,每个公司都会有员工,我们可以创建一个模式 HR,然后在 HR 中创建一个表 EMPLOYEES 来维护员工信息,如果需要在其他模式中访问 EMPLOYEES 表,我们需要指定它的全名 HR.EMPLOYEES。
(2)每一个用户对应一个模式
1)模式隶属于某个数据库用户,模式名和数据库用户是相同的,那如何创建模式呢?很简单,其实就是创建数据库用户就创建了同名的模式
(3)模式对象是用户拥有的对象
1)我们可以在模式中创建表(Table), 分区(Partition), 视图(View), 索引(Indexe), 包(Package),存储过程(Procedure),函数(Function),触发起(Trigger),类型(Type), 序列(Sequence), 同义(Synonym)等数据库对象
(4)非模式对象与用户无关,如上下文(Contexts) 目录(Directory) 概要文件(Profile) 角色(Role) 表空间(Tablespaces) 用户(User)
(5)SYS 和 SYSTEM 模式
1)当我们安装 Oracle 的时候,系统自动帮我们创建了 SYS 和 SYSTEM 模式,它们拥有最高权限,用来管理数据库
2)sys用户是超级用户,具有最高权限即sysdba角色,有create database的权限,所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。
3)system是数据库内置的一个普通管理员,你手工创建的任何用户在被授予dba角色后都跟这个用户差不多。
4)system用户as sysdba登录时和sys一样,可以用show user查看当前用户进行验证。system用户不能以 as sysoper角色登录,只能以normal角色登录。即conn system/pwd。