标签:建议 链接 帮助 用户名 用户 不能 建表 定义 使用
Oracle数据库包含逻辑结构和物理结构。
数据库的物理结构指的是构成数据库的一组操作系统文件。
数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系。
表空间是数据库逻辑结构的一个重要组件。
表空间可以存放各种应用对象,如表、索引等。
而每一个表空间由一个或多个数据文件组成。
1. 表空间的分类
表空间可分为3类:
2. 表空间的目的
(1) 对不同的用户分配不同的表空间,对不同的模式对象分配不同的表空间,方便对用户数据的操作、对模式对象的管理。
(2) 可以将不同数据文件创建到不同的磁盘中,有利于管理磁盘空间、有利于提高I/O性能、有利于备份和回复数据等。
(3) 一般在完成Oracle系统的安装并创建Oracle实例后,Oracle系统会自动建立多个表空间。
3. 创建表空间
创建表空间,语法如下:
1 CREATE TABLESPACE tablespaceName 2 DATAFILE ‘filename‘ 3 [SIZE integer [K | M]] 4 [AUTOEXTEND [OFF | ON]];
在语法中:
实例:创建一个自动增长的表空间geeksss的SQL语句如下:
1 CREATE TABLESPACE geeksss 2 DATAFILE ‘D:\ORACLE\DATA\GEEKSSS.DBF‘ 3 SIZE 10M 4 AUTOEXTEND ON;
4. 删除表空间
可以通过DROP语句(DROP TABLESPACE 加上表空间的名称)来删除用户自定义的表空间。
语法:
1 DROP TABLESPACE tablespaceName;
删除表空间之前最好对数据库进行备份。
当创建一个新数据库时,Oracle将创建一些默认数据库用户,如sys、system和scott等。
sys和system用户都是Oracle的系统用户,而scott用户是Oracle数据库的一个示范账户,里面包含一些测试样例表。
下面简单介绍一个sys、system和scott用户的模式。
1. sys
sys用户是Oracle中的一个超级用户。
数据库中的所有数据字典和视图都存储在sys模式中。
数据字典存储了用来管理数据库对象的所有信息,是Oracle数据库中非常重要的系统信息。
sys用户主要用来维护系统信息和管理实例。sys用户只能以sysoper或sysdba角色登录系统。
2. system
system用户是Oracle中默认的系统管理员,它拥有dba权限。
该用户拥有Oracle管理工具使用的内部表和视图,通常通过system用户管理Oracle数据库的用户、权限和存储等。
不建议system模式中创建用户表,system用户不能以sysoper或sysdba角色登录系统,只能以默认的方式登录。
3. scott
scott用户是Oracle数据库的一个示范用户,一般在数据库安装时创建。
scott用户模式包含4个示范表,其中一个是emp表,使用USERS表空间存储模式对象。
通常情况下,出于安全考虑,对于不同的数据表需要设置不同的访问权限。
此时,就需要创建不同的用户。Oracle中的CREATE USER命令用于创建新用户。
每个用户都有一个默认表空间和一个临时表空间。
如果没有指定,Oracle就将USERS设为默认表空间,将TEMP设为临时表空间。
创建用户语法如下所示:
1 CREATE USER username 2 IDENTIFIED BY password 3 [DEFAULT TABLESPACE tablespaceName] 4 [TEMPORARY TABLESPACE tablespaceName]
在语法中:
实例:一下代码演示了如何创建名称为martin的用户:
1 CREATE USER martin 2 IDENTIFIED BY martinpwd 3 DEFAULT TABLESPACE geeksss 4 TEMPORARY TABLESPACE temp;
上述命令将创建一个名为martin、口令为martinpwd的用户,默认表空间为geeksss,临时表空间为temp。
实例:将martin的口令修改为mpwd:
1 ALTER USER martin 2 IDENTIFIED BY mpwd;
Oracle的DROP USER命令可用于删除用户,但当用户拥有模式对象时则无法删除用户。
而必须使用CASCADE选项删除用户和用户模式对象。
实例:如何删除用户martin:
1 DROP USER martin CASCADE;
权限是用户对一项功能的执行权利。
在Oracle中,根据系统管理方式的不同,可将权限氛围系统全新啊与对象权限两类。
1. 系统权限
系统权限是指被授权用户是否可以连接到数据库上及在数据库中可以进行哪些系统操作。
系统权限是在数据库中执行某种系统级别的操作,或者针对某一类的对象执行某种操作的权利。
例如:在数据库中创建表空间的权利,或者在数据库中创建表的权利,这些都属于系统权限。
常见的系统权限如下:
2. 对象权限
对象权限是指用户对数据库中具体对象所拥有的权限。
对象权限是针对某个特定的模式对象执行操作的权利。
只能针对模式对象未设置和管理对象权限,如数据库的表、视图、序列、存储过程、存储函数等。
Oracle数据库用户有两种途径获得权限:
(1) 管理员直接向用户授予权限。
(2) 管理员将权限授予角色,然后再将角色授予给一个或多个用户。
使用角色能够更加方便和高效地对权限进行管理,所以数据库管理员通常使用角色向用户授予权限,而不是直接向用户授予权限。
在Oracle数据库系统中预定义了很多的角色,其中最常用的有CONNECT角色、RESOURCE角色、DBA角色等等。
一般程序使用的用户只要授予CONNECT和RESOURCE两个角色即可。
DBA角色具有所有的系统权限,并且可以给其他用户、角色授权。由于DBA角色权限比较多,这里就不列出来了。
Oracle中常用的系统预定义角色如下:
(1) 授予权限语法如下:
1 GRANT 权限|角色 TO 用户名;
(2) 撤销权限的语法如下:
1 REVOKE 权限|角色 FROM 用户名;
实例:如何授予和撤销martin用户的CONNECT和RESOURCE两个角色:
1 GRANT connection,resource to martin; -- 授予CONNECTION和RESOURCE两个角色 2 REVOKE connection, resource FROM martin; -- 撤销CONNECTION和RESOURCE两个角色 3 GRANT SELECT ON SCOTT.emp TO martin; -- 允许用户查看emp表中的记录 4 GRANT UPDATE ON SCOTT.emp TO martin; -- 允许用户更新emp表中的记录
数据库用户安全设计原则:
标签:建议 链接 帮助 用户名 用户 不能 建表 定义 使用
原文地址:http://www.cnblogs.com/LonelyShadow/p/6254294.html