lsnrctl status
alter user michael identified by gzk_2019;
sqlplus michael/michael@59.1.12.43:11521/orcl as sysdba
select name from v$database;
sqlplus /nolog
conn /as sysdba;
select username from dba_users;
alter user system identified by lcf_2000;
Oracle 默认数据库用户:
account | password |
---|---|
sys | change_on_install as sysdba |
system | manager |
scott | tiger |
创建一个名称为 michael 的用户,其密码为 michelle:
CREATE USER michael IDENTIFIED BY michelle;
->当创建用户时候,如果没有指定profile,那么Oracle把名字叫default的profile赋予给用户。
->创建profile文件连续密码错误3次锁定账户2天:
create profile myprofile
limit
failed_login_attempts 3
password_lock_time 2;
note:
failed_login_attempts : 用于指定连续登陆的最大失败次数.
password_lock_time : 用于指定帐户被锁定的天数.
create user michelle identified by michael profile myprofile;
alter user michael profile myprofile;
解除锁定:
alter user michael account unlock;
终止口令:需要每隔10天修改密码,最多宽限2天:
alter profile "myprofile"
limit
password_life_time 10
password_grace_time 2;
删除profile:
drop profile myprofile cascade;
使得michael的profile重新变成了default.
权限指的是执行特定命令或访问数据库对象的权利;
权限有两种类型,系统权限和对象权限:
系统权限
允许用户执行某些数据库操作,如创建表就是一个系统权限;
对象权限
允许用户对数据库对象(如表、视图、序列等)执行特定操作;
授予用户权限,可以是系统权限或者对象权限:
GRANT privilege [,privilege…]
TO user [, user|role, PUBLIC…] [WITH ADMIN OPTION];
说明:包含了WITH ADMIN OPTION,只能是系统权限。
此系统权限允许michael连接到数据库上
GRANT CREATE SESSION TO michael;
赋给michael 创建表的系统权限
GRANT CREATE TABLE TO michael;
此系统权限允许michael任意使用表空间
GRANT UNLIMITED TABLESPACE TO michael;
收回系统权限REVOKE:
REVOKE create session FROM michael;
对象权限:
赋予权限,访问某个用户的特定对象(如表、视图等)的对象权限(select on scott.student)
GRANT object_privilege [columns…]
ON object
TO user [, user|role, PUBLIC…]
[WITH GRANT OPTION];
收回对象权限REVOKE:
REVOKE privilege ON object
FROM {user|role|PUBLIC};
eg:
允许用户查询 EMP 表的记录:
GRANT SELECT ON SCOTT.EMP TO michael;
允许用户更新 EMP 表中的记录:
GRANT UPDATE ON SCOTT.EMP TO michael;
允许用户插入、删除、更新和查询 EMP 表中的记录:
GRANT ALL ON SCOTT.EMP TO michael;
收回用户查询 EMP 表中的记录:
REVOKE SELECT ON SCOTT.EMP FROM michael;
允许用户更新 emp 表中的ename、sal列
grant update(ename,sal) on scott.emp to michael;
角色管理 : 角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。
GRANT 命令可用于为用户分配权限或角色 :
(1)创建角色CREATE ROLE,应该具有CREATE ROLE系统权限。
CREATE ROLE role_name;
(2) 授予角色权限,可以是系统权限或者对象权限。
-- GRANT privilege TO ROLE;
grant create session ,create any table, drop any table to role1;
(3) 将角色授予用户
-- GRANT role TO user;
grant role1 to michael;
(4) 从用户收回角色
REVOKE role FROM michael;
CONNECT角色允许用户连接至数据库,并创建数据库对象:
GRANT CONNECT TO michael;
RESOURCE角色允许用户使用数据库中的存储空间:
GRANT RESOURCE TO michael;
此系统权限允许用户连接到数据库上:
GRANT CREATE SESSION TO michael;
修改 michael 用户的密码:(用户名大写,小写问题一定要注意
)
ALTER USER michael IDENTIFIED BY michelle;
删除 michael 用户模式:
DROP USER michael [CASCADE];
每个用户都有一个默认表空间和一个临时表空间;