您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > Oracle

Oracle(一)介绍:结构、实例、表空间、用户

时间:05-18来源:作者:点击数:

本文针对Oracle的体系结构、数据库实例、表空间、用户等进行简单的介绍。

Oracle

对数据的可靠性、大量性、持久性、共享性提供了一套可靠的解决方案、而且可以轻松支持多用户、大事务量的事务处理。

优点: 可用性强、可扩展性强、稳定性高。

1.体系结构

Oracle 数据库实际上是一个数据的物理存储系统,包括数据文件(ora/dbf)、参数文件、控制文件、联机日志文件等。

查询当前数据库名:

select name from v$database;
2.数据库实例

官方描述: 实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存所构成一个集合。

其实就是用来访问和使用数据库的一块进程,它只存在于内存中。就像Java中new出来的实例对象一样。

实例名指的是用于响应某个数据库操作的数据库管理系统的名称。它同时也叫SID。实例名是由参数instant_name决定的。

查询当前数据库实例名:(一般为orcl)

select instance_name from v$instance;

数据库实例名(instance_name)用于对外部连接。

在操作系统中要取得与数据库的联系,必须使用数据库实例名。

比如我们做开发,要连接数据库,就得连接数据库实例名:

jdbc:oracle:thin:@localhost:1521:orcl(orcl就为数据库实例名)

一个数据库可以有多个实例,在做数据库服务集群的时候可以用到。

3.表空间

Oracle 数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。

有了数据库,就可以创建表空间。

表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。

例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。

创建表空间语法:

create TableSpace 表空间名称 
DataFile 表空间数据文件路径 
Size 表空间初始大小 
Autoextend on

如:

create tablespace db_test  
datafile 'D:\oracle\product\10.2.0\userdata\db_test.dbf'  
size 50m  
autoextend on;

查看已经创建好的表空间:其中dba_users表示所有的数据库用户

select default_tablespace, temporary_tablespace, d.username  from dba_users d

查看oracle中当前已创建的表空间:

select file_id,tablespace_name from dba_data_files;

查看oracle中当前已创建的目录:

select * from dba_directories;
4.用户

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

上面我们建好了数据库和表空间,接下来建用户:

创建新用户:

CREATE USER          用户名  
IDENTIFIED BY        密码  
DEFAULT TABLESPACE   表空间(默认USERS)  
TEMPORARY TABLESPACE 临时表空间(默认TEMP) 

如:

create user fqaca 
identified by fqaca 
default tablespace fqaca 
temporary tablespace fqaca_temp; 
(临时表空间不能与表空间相同,需要另外创建一个临时表空间如fqaca_temp)

有了用户,要想使用用户账号管理自己的表空间,还得给它分权限:

角色:

  • CONNECT角色:Oracle用户的基本角色,表示可以和Oracle服务器进行连接,建立session。
  • RESOURCE角色:用户可以创建自己的对象,包括:表、视图、序列、过程、触发器、索引、包等。
  • DBA角色:数据库管理员。拥有系统所有权限,可给其他用户授权。system用户具有dba权限。
GRANT CONNECT TO utest;  
GRANT RESOURCE TO utest;  
GRANT dba TO utest;--dba为最高级权限,可以创建数据库,表等。

--GRANT 对象权限 on 对象 TO 用户    
grant select, insert, update, delete on JSQUSER to STUDENT;

--GRANT 系统权限 to 用户
grant select any table to STUDENT;

取消用户权限:

-- Revoke 对象权限 on 对象 from 用户 
revoke select, insert, update, delete on JSQUSER from STUDENT;

-- Revoke 系统权限  from 用户
revoke SELECT ANY TABLE from STUDENT;

-- Revoke 角色(role) from 用户
revoke RESOURCE from STUDENT;

其他操作:

--修改用户信息
alter user STUDENT
  identified by ******  --修改密码
  account lock;--修改用户处于锁定状态或者解锁状态 (LOCK|UNLOCK )

查看数据库用户:

select  * from dba_users;
5.数据表

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

Oracle体系概要图如下

一个表空间可以对应多个用户

一个用户只能对应一个表空间

在这里插入图片描述
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门