程序人员:DML,数据库设计人员:DDL
一、用户管理
概念:
用户是以对象的形式存在的,依然需要数据字典。
1.如何创建用户(DBA)
create user user_name identified by password
[default tablespace tablespacename]
[temporary tablespace tablespacename]
[quota number[k|m] unlimited on tablespace_name]
[profile profile_name|default]
[password expire]
[account lock|unlock]
解释:
quota:用户在表空间上的使用限额。
profile:用户操作的资源文件,不指定则使用默认配置资源文件。
passworld expire:用户密码失效,则在第一次使用时候必须修改密码。
2.查询用户信息
SELECT username,user_id,default_tablespace,temporary_tablespace,created,lock_date,profile
FROM dba_users
3.查看用户表空间配额
SELECT * FROM dba_ts_quotas;
4.概要文件
用途:资源限制命令,口令限制命令
CREATE PROFILE ml_profile LIMIT
CPU_PER_SESSION 10000
LOGICAL_READS_PER_SESSION 20000
CONNECT_TIME 60
IDLE_TIME 30
SESSIONS_PER_USER 10
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME 30
PASSWORD_GRACE_TIME 6 ;
5.查询profile数据字典
SELECT * FROM dba_profiles
6.创建用户指定概要文件
CREATE USER ml IDENTIFIED BY 123456
PROFILE ml_profile ;
7.配置已有的配置文件
ALTER USER ml PROFILE ml_profile ;
8.修改概要文件
ALTER PROFILE ml_profile LIMIT
CPU_PER_SESSION 1000
PASSWORD_LIFE_TIME 10 ;
9.删除概要文件
DROP PROFILE ml_profile CASCADE ;
10修改用户密码
ALTER USER ml IDENTIFIED BY helloworld
10.修改锁定状态
ALTER USER ml ACCOUNT LOCK ;
11.删除用户
DROP USER username cascade;
注意:cascade会删除该用户下所有对象。
二、权限管理
概念:
系统权限:进行数据库资源操作的权限:用户与角色,概要文件,同义词系统,表,表空间,索引,会话,视图,序列,子程序。
对象权限:维护数据库对象的能力,由一个用户操作另一个用户的对象。
语法:
grant 权限...
to [用户名...|角色名,...|public]
[with admin option]
1.给用户授予CREATE SESSION权限(用户登录权限)
GRANT CREATE SESSION TO username;
2.用户授权(with admin option 可以将权限授予其他用户)
GRANT CREATE TABLE , CREATE SEQUENCE , CREATE VIEW TO username WITH ADMIN OPTION ;
3.查看用户权限
SELECT * FROM dba_sys_privs ;
4.权限回收
REVOKE CREATE TABLE , CREATE VIEW FROM username;
5.为一用户授予另一个用户的表的权限
GRANT SELECT , INSERT ON scott.dept TO user1 ;
6.回收权限
REVOKE SELECT , INSERT ON scott.dept FROM user1;
7.查询当前登录用户所有对象权限
SELECT * FROM user_tab_privs_recd ;
8.查询某一个列的权限
SELECT * FROM user_col_privs_recd ;
9.创建角色
概念:一组权限的概念
CREATE ROLE 角色名称
[NOT IDENTIFIED | IDENTIFIED BY 密码 ;
10.创建带有密码的角色
CREATE ROLE guan_role_b IDENTIFIED BY guan123;
11.查看数据字典
select *from dba_roles;
12.为角色授权
GRANT CREATE SESSION , CREATE TABLE , CREATE VIEW , CREATE SEQUENCE TO guan_role_b;
13.查询角色权限
SELECT * FROM role_sys_privs
14.角色授予用户
GRANT guan_role_b TO user1 ;
15.查询用户权限
SELECT * FROM session_privs ;
16.回收权限
REVOKE CREATE SESSION FROM guan_role_b ;
17.删除角色
DROP ROLE guan_role_b;
18 .将CONNECT、RESOURCE角色授予c##mldnuser用户
GRANT CONNECT , RESOURCE TO user1
19.通过sys用户查询CONNECT和RESROUCE角色所拥有的权限
SELECT *
FROM role_sys_privs
WHERE role IN ('CONNECT' , 'RESOURCE')
ORDER BY role ;
总结
你在哪,我在哪