2025年3月21日 星期五 甲辰(龙)年 月廿 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > Oracle

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

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

本文针对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体系概要图如下

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

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

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