第⼆章Oracle的⽤户、权限、⾓⾊及表空间的管理
第⼆章 Oracle的⽤户、权限、⾓⾊及表空间的管理
2.1 Oracle默认的系统⽤户
Oracle默认的系统⽤户:
sys/system
sys:这个账户相当于SQL server中的sa账户,是个超级账户,拥有的权限最⼤,可以完成数据库的所有管理任务
system:没有sys的权限⼤,通常⽤来创建⼀些⽤于查看管理信息的表或视图,同样也不建议使⽤system架构来创建⼀些与管理⽆关的表或视图。
sys和system在登⼊Oracle⼯具时,sys只能以系统管理员(sysdba)或系统操作员(sysoper)的权限登⼊,⽽system可以直接登⼊(normal)
sysman:是Oracle数据库中⽤于EM管理的⽤户,如果不⽤该⽤户也可以删除。scott:是Oracle提供的⽰例⽤户,⾥⾯有⼀些初学者学习操作的数据表(emp,dept,salgrade,bonus)
Oracle⽤户登录的语法格式
{[/password][@]|/}[as
{sysdba|sysoper}]
username/password:指定数据库账户⽤户名,⼝令
connect_identifiter:数据库连接的连接标识符(服务器名)。如果没有连接标识符,SQL*Plus将连接默认数据库。sysdbs、sysoper选项是数据库管理权限。
sysdba:数据库管理员的权限
sysoper:数据库操作员的权限
conn sys/oracle @orcl as sysdba
show user
conn system ⼝令为安装Oracle时的密码:Aa123456
启⽤scott⽤户
给Scott⽤户解锁语法格式:
alter user username account unlock
例⼦:alter user scott account unclock
conn scott/tiger
2.2 创建表空间
什么是表空间?
数据与表空间:表空间实际上是数据库上的逻辑存储结构,可以把表空间理解为在数据库中开辟的⼀个空间,⽤于存放我们数据库的对象,⼀个数据可以由多个表空间构成。
表空间与数据⽂件:表空间实际上是由⼀个或多个数据⽂件构成的,数据⽂件的位置和⼤⼩可以由我们⽤户⾃⼰来定义。我们所操作的⼀些表啊,⼀些其他的数据对象都是存放在数据⽂件⾥的。那么数据⽂件是物理存储结构,真正可以看到的,⽽表空间是逻辑存储结构。
表空间的分类:
永久表空间
临时表空间
UNDO表空间(回退表空间)
创建表空间的语法格式:
create [temporary] tablespace (temporary临时表空间)tablespace_name
tempfile | datafile'xx.dbf' size xx [autoextend on next xx maxsize 2G]
说明 autoextend⾃动扩充表空间⼤⼩。若数据超过了表空间的存储⼤⼩,则每次可增加xx,直到表空间的最⼤值为2G
表空间在电脑中的存储路径(表空间的后缀名 .dbf)
2.3 Oracle 的⽤户管理
创建⽤户的语法格式:
create user
identified by (设置密码)
default tablespace (指定默认的表空间)
temporary tablespace;(指定临时的表空间))
例:
create user yan identified by test
default tablespace test1_tablespace
temporary tablespace temptest1_tablespace
查看创建的⽤户:
select username from dba_users
给创建的⽤户授权
grant 权限 to ⽤户名
例:grant connect to yan
管理⽤户
连接⽤户 connect ⽤户名/⼝令
更改密码 alter user ⽤户名identified by 新密码
不希望某⽤户登⼊,⽽⼜不删除其⽤户,可以将⽤户锁定alter user ⽤户名account lock;删除⽤户:
drop user ⽤户名 cascade;(cascade 级联操作)
//加上cascade则将⽤户连同其创建的东西全部删除
2.4 Oracle⾓⾊管理
什么是⾓⾊?
Oracle ⾓⾊(role)就是⼀组权限(或者说是权限的集合)。
⽤户可以给⾓⾊赋予指定的权限,然后将⾓⾊赋予相应的⽤户。
三种标准的⾓⾊:
拥有connect权限的⽤户可以登⼊Oracle,不可以创建实体,不可以创建数据库结构;
拥有resource权限的⽤户可以创建实体,不可以创建数据库结构
3.DBA(数据库管理员⾓⾊)
拥有全部特权,是系统最⾼权限,只有DBA才可以创建数据库结构。
对于普通⽤户:授予connect、resource权限。
对于DBA管理⽤户:授予dba权限。
创建⾓⾊:
语法结构:create role ⾓⾊名;例:create role manager;
为⾓⾊赋予权限:
grant 权限 to ⾓⾊
例:grant create table,create view to manager;
将⾓⾊赋予⽤户:
语法结构grant ⾓⾊to ⽤户;
例:grant manager to user01,user02;
2.5 Oracle⽤户的权限管理
什么是权限:
权限指的是执⾏特定命令或者访问数据库对象的权利。
权限的分类:
系统权限:允许⽤户执⾏特定的数据库动作,如创建表、创建索引、连接实例等。
对象(实体)权限:允许⽤户操作⼀些特定的对象,如读取视图,可更新某些列,执⾏存储过程等。查询oracle所有系统权限:
select * from system_privilege_map;
常⽤的系统权限如:
create session 创建会话
drop table if exists user
create sequence 创建序列
create table 创建表
create user 创建⽤户
alter user 更改⽤户
drop user 删除⽤户
create view 创建视图
系统权限
授予系统权限的语法格式
grant privilege[,] to user [,user|] 举例:
grant create table,create sequence to manager;
grant manager to user01,user02;
回收系统权限的语法结构
revoke {privilege | role} from {user_name | role_name | PUBLIC} 举例:
revoke manage from user01;
revoke create table,create sequence from manager;
对象权限
查询Oracle所有对象权限
select * from table_privilege_map
常⽤的对象权限如:
select,update,insert,delect,all等
授予对象权限的语法格式:
grant object_priv | ALL[(columns)] ON object TO {user | role | PUNLIC}
举例:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。