专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

Oracle表空间管理和用户管理 oracle用户空间和表空间

ins518 2024-10-14 12:51:31 技术文章 15 ℃ 0 评论

概述:

本篇文章主要讲解是Oracle表空间管理和用户管理,感兴趣的朋友赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览。


1、表空间

表空间是Orcale数据库逻辑解构的一个重要组件,表空间可以存放各种应用对象,如表、索引等。每一个表空间由一个或多个数据文件组成。

1.1、表空间分类

表空间可分为三类

类别

说明

永久性表空间

一般保存表、视图、过程和索引等的数据。Oracle会默认安装一些永久性表空间,如:SYSTEM、USERS等

临时性表空间

只用于保存系统中短期活动的数据,如排序数据等

撤销表空间

用来帮助回退未提交的事务数据,已提交的数据在这里是不可以恢复的。

1.2、表空间的目的

(1)对不同用户分配不同的表空间,对不同的模式对象分配不同的表空间,方便对用户数据的操作,对模式对象的管理。

(2)可以将不同数据文件创建到不同的磁盘中,有利于管理磁盘空间,有利于提高I/O性能,有利于备份和恢复数据等。

1.3、创建表空间

创建表空间,语法如下。

CREATE TABLESPACE tbs001 --表空间名称
DATAFILE '+DATA_DG' -- 数据文件存放的位置
SIZE 1M -- 初始大小
AUTOEXTEND ON; -- 自动增长

1.4:删除表空间

Drop TABLESPACE tbs001 --表空间名称;

注意:当表空间没有被 DROP 时,不能从磁盘上删除,只有执行了 DROP TABLESPACE 命令之后才可以删除数据文件,不然的话Oracle会无法执行。

2、用户权限管理

当创建一个新数据库时,Orcale将创建一些默认的数据库用户,如Sys、System 和 Scott等。
2.1、Sys
Sys用户是Oracle中的一个超级用户。数据库中所有数据字典和视图都存储在SYS模式中。Sys用户主要用来维护系统信息和管理实例,Sys用户只能以SYSOPER或SYSDBA角色登录系统。
2.2、System
System用户是Oracle中默认的系统管理员,它拥有DBA权限。该用户拥有Oracle管理工具使用的内部表和视图。System用户不能以SYSOPER或SYSDBA角色登录系统,只能以默认方式登录。
2.3、Scott
Scott用户是Oracle数据库的一个示范用户,一般在数据库安装时创建。Scott用户模式包含3个示范表,其中一个是Emp表。使用USERS表空间存储模式对象。
2.4、创建自定义用户
通常情况下,处于安全考虑,对不同的数据表需要设置不同的访问权限。此时,就需要创建不同的用户。
一个新建的用户能够访问并操作数据库,须经过以下步骤:

第一步:创建用户

CREATE USER test -- 指定用户名

IDENTIFIED BY test123456 -- 指定登录密码

DEFAULT TABLESPACE tbs001 -- 指定默认表空间,如果不指定将用SYSTEM表空间作为默认表空间

TEMPORARY TABLESPACE TEMP; -- 指定临时表空间(可选)

第二步:分配角色

GRANT CONNECT TO test -- CONNECT角色将允许用户连接数据库

GRANT RESOURCE TO test -- RESOURCE角色允许用户使用数据库中的空间

第三步:赋予操作权限

GRANT CREATE SEQUENCE TO test -- 允许用户创建序列

GRANT SELECT ON EMP TO test -- 赋予用户查询 EMP 表的权限(从scott用户授权给accp用户)

GRANT ALL ON EMP TO test; -- 赋予操作表的所有权限

修改口令

ALTER USER test -- 指定修改的用户名

IDENTIFIED BY test654321 -- 指定新密码

删除用户

DROP USER test [CASCADE];

当该用户下有任何的模式对象(表,试图)时,必须加 CASCADE,否则不能删除用户

3、查看用户及权限信息

3.1、查看所有用户:

select * from dba_user;
select * from all_users;
select * from user_users;

3.2.查看用户系统权限:

select * from dba_sys_privs;
select * from all_sys_privs;
select * from user_sys_privs;

3.3.查看用户对象权限:

select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;

3.4.查看所有角色:

select * from dba_roles;

3.5.查看用户所拥有的角色:

select * from dba_role_privs;
select * from user_role_privs;

3.6.查看当前用户的缺省表空间

select username,default_tablespace from user_users;

4、总结

到此这篇关于Oracle表空间管理和用户管理的文章就介绍到这了,更多DBA相关技术文档请双击加关注,希望大家以后多多支持。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表