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

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

一个表空间可以对应多个用户
一个用户只能对应一个表空间
在这里插入图片描述
下一篇:Oracle(二)Oracle sql操作

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值