注意:以下操作需在sys或在system用户下完成,使用sysdba或sysoper角色。
一、创建永久表空间
创建一个ZGCYH的永久表空间,目录位置为"D:\oracle\oradata\orcl\ZGCYH.DBF",初始值大小为15M,超过之后每次增加10M。
create tablespace ZGCYH datafile 'D:\oracle\oradata\orcl\ZGCYH.DBF' size 15M autoextend on next 10M permanent online;
目录位置一般在oradata下。
二、用户
1. 创建用户
示例:创建一个u_test的用户,密码为123。
create user u_test identified by 123;
2.修改用户登录密码
示例:修改用户u_test的登录密码为123456
alter user u_test identified by 123456;
3. 锁定用户
示例:锁定用户u_test
alter user u_test account lock;
4. 解锁用户
示例:解锁用户u_test
alter user u_test account unlock;
5. 修改用户默认永久表空间
示例:修改用户u_test永久表空间为ZGCYH
alter user u_test default tablespace ZGCYH;
6. 删除用户
示例:删除用户u_test
drop user u_test;
7. 创建用户并给默认表空间
也可在创建用户时一次性做修改。
create user u_test identified by 123456 account unlock default tablespace ZGCYH;
三、数据控制语言(DCL)
- grant 授予用户权限
- revork 撤销用户权限
1. 授予系统权限
授予创建其他对象权限
- CREATE SESSION 登录
- CREATE TABLE 创建表
- CREATE SEQUENCE 创建序列
- CREATE VIEW 创建视图
- CREATE PROCEDURE 创建存储过程
- UNLIMITED TABIESPACE 无限制的使用永久表空间
-- 授予登录权限
grant create session to u_zgcyh;
说明:一个用户如果不授予session权限,将不能登录。
实例:
为u_zgcyh用户分配创建表,创建序列权限以及使用永久表空间权限。
grant create table,create view ,create sequence , unlimited tablespace to u_zgcyh;
2. 撤销权限
revoke 权限 from 用户。
示例:
撤销u_zgcyh用户创建表的权限。
revoke create table from u_zgcyh;
四、Oracle中的角色
1 什么是角色
角色是命名的可以授权用户的相关权限的组,该方法使得授予、撤回和维护权限容易的多。一个用户可以使用多个角色,并且几个用户也可以被指定使用相同的角色。
2 创建角色并且授予权限给用户
2.1 创建角色
示例:
创建一个名称为manager的角色。
create role manager;
2.2 授予权限给一个角色
向manager角色中添加创建会话,创建表,创建视图,创建序列的权限。
grant create session,create table,create view,create sequence to manager;
注意:UNLIMITED TABIESPACE的权限不能添加到角色中,只能直接给用户授予。因为一个表空间只能一个用户使用。
2.3 授予一个角色给用户
说明:DEHAAN和KOCHHAR是用户名(逗号隔开)。就是将一个角色分配给了多个用户,那么这些用户就可以使用这个角色中的权限。
示例:
将manager角色分配给new_zgcyh用户。
grant manager to new_zgcyh;
说明:通过授予权限,那么new_zgcyh就拥有了manager角色中的权限。但是要注意,UNLIMITED TABIESPACE权限需要单独授予。
grant unlimited tablespace to new_zgcyh;
3. 撤销用户角色
示例:
撤销new_zgcyh用户的manager角色。
revoke manager from new_zgcyh;
说明:撤销了用户角色,那么用户就没有了角色中对应的权限。