Oracle表空间管理和用户管理的示例分析

发布时间:2021-12-24 11:35:28 作者:小新
来源:亿速云 阅读:120

这篇文章将为大家详细讲解有关Oracle表空间管理和用户管理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Oracle介绍

Oracle(甲骨文)公司
1977年,三人合伙创办(Software Development Laboratories,SDL)
1979年,更名为Relational Software Inc.,RSI
1983年,为了突出核心产品 ,RSI更名为Oracle
2002年04月26日,启用“甲骨文”作为中文注册商标

1. Oracle表空间

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

1.1:表空间的分类

表空间可分为三类

类别说明
永久性表空间一般保存表、视图、过程和索引等的数据。Oracle会默认安装一些永久性表空间,如:SYSTEM、USERS等
临时性表空间只用于保存系统中短期活动的数据,如排序数据等
撤销表空间用来帮助回退未提交的事务数据,已提交的数据在这里是不可以恢复的。

1.2:表空间的目的

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

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

1.3:创建表空间

创建表空间,语法如下。

 CREATE TABLESPACE tbs1  					 --表空间名称
 DATAFILE 'E:\TeachCase\OracleDB\tbs1.DBF'   -- 数据文件存放的位置
 SIZE 1M									 -- 初始大小
 AUTOEXTEND ON;								 -- 自动增长(开,关的话就是 OFF)

1.4:删除表空间

Drop TABLESPACE tbs1 --表空间名称;

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

2. Oracle用户权限管理

    当创建一个新数据库时,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 accp			-- 指定用户名
IDENTIFIED BY accp			-- 指定登录密码
DEFAULT TABLESPACE tbs1		-- 指定默认表空间,如果不指定将用SYSTEM表空间作为默认表空间
TEMPORARY TABLESPACE TEMP;		-- 指定临时表空间(可选)

第二步:分配角色

GRANT CONNECT TO accp		-- CONNECT角色将允许用户连接数据库
GRANT RESOURCE TO accp		-- RESOURCE角色允许用户使用数据库中的空间

第三步:赋予操作权限

GRANT CREATE SEQUENCE TO accp	-- 允许用户创建序列
GRANT SELECT ON EMP TO accp	    -- 赋予用户查询 EMP 表的权限(从scott用户授权给accp用户)
GRANT ALL ON EMP TO accp;		-- 赋予操作表的所有权限

这样,用户才算创建成功。以下还有一些扩展操作。

修改口令

ALTER USER accp			-- 指定修改的用户名
IDENTIFIED BY aptech		-- 指定新密码

删除用户

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

Oracle 服务说明

OracleServiceORA9				-- 启动数据库,必须启动
OracleOraHome90TNSListener		-- 启动服务器的监听程序,从外部客户端连接数据库所必须
OracleOraHome90HTTPServer		-- 启动Oracle HTTP服务器,从网络服务数据库所必须,如用iSQL*plus访问数据库

3. 查看用户及权限信息

1.查看所有用户:

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

2.查看用户系统权限:

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

3.查看用户对象权限:

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

4.查看所有角色:

select * from dba_roles;

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

select * from dba_role_privs;
select * from user_role_privs;

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

select username,default_tablespace from user_users;

关于“Oracle表空间管理和用户管理的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

推荐阅读:
  1. Oracle体系结构和用户管理
  2. Oracle表空间管理

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle

上一篇:如何解决使用JWT作为Spring Security OAuth2的token存储问题

下一篇:linux中如何删除用户组

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》