oracle 用户管理
创建用户(需要具有dba权限的用户)
create user 用户名 identified by 密码
defaule tablespace users //默认表空间
temporary tablespace temp //临时表空间
quota 3m on users //用户建立的对象(视图,索引)只能是3m
grant connect to 用户名 //为用户名创建权限
grant create session to 用户名 //为用户创建session权限
创建一个用户小红,然后分配给她两个角色, 可以让小红登录,创建表以及crud操作然后回收角色,
删除用户
create user xiaohong identified by m123
grant connect to xiaohong
grant resource to xiaohong
conn xiaohong/m123
password xiaohong
//使用system用户登录,回收角色
revoke connect from xiaohong
revoke resource from xiaohong
drop user xiaohong (cascade)
当我们删除一个用户的时候,如果这个用户已经创建了数据对象,那么我们在删除对象的时候
需要较cascade,表示删除用户的时候同时删除用户创建的数据对象
方案(schema)
当一个用户创建好后,如果这个用户创建了数据对象这是dbms就会创建一个对应的方案与该用户对应
并且该方案的名字跟用户名相同
让xiaohong用户查询scott 用户的emp表
//先登录scott表
grant select on to xiaohong
用户xiaohong查询scott用户的emp表
select * from scott.emp;
使用profile文件对口令进行管理
只允许某个用户,最多尝试三次登录,如果三次错误,则锁定两天(两天后才能重新登录)
create profile 文件名 limit failed_login_attempts 3 password _lock_time 2;
分配文件
alter user 用户名 profile 文件名
给账号(用户)解锁
alter user 用户名 account unlock
终止口令
一个用户的帐号密码每隔十天换一次,宽限期为两天
create profile 文件民 limit password_life_time 10 password_grace_time 2;
分配文件
alter user 用户名 profile 文件名
口令历史
create profile password_history limit passeword _life_time 10 password_grace_time 2
password_reuse_time 1;
删除profile
drop profile 文件名
oracle通过命方式启动
windows (dos 下)
lsnrctl start(启动监听)
oradmin -startup -sid 数据库实例名)
特权用户登录(默认以操作系统方式认证)
conn xxx/xxx as sysdba
oracle 登录认证方式
1,操作系统认证
conn xxx/xxx as sysdba;
2,oracle数据库认证
oracle 用户验证机制
1普通用户登录:(默认以数据库方式登录)
2特权用户登录(默认以操作系统方式认证,前面的用户名密码就不会验证了,登录后自动切换成sys用户)
通过配置sqlnet.ora可以修改oracle登录验证方式
将 SQLNET AUTHENTICATION_SERVICES=(NTS)改为 将 SQLNET AUTHENTICATION_SERVICES=(NONE)
如何找回管理员的密码(将原有密码文件删除,生成一个新的密码文件)
1,搜索名为 PWD数据库实例名.ora文件
2,copy一份密码文件,将其删除
3,在dos窗口创建新的密码文件输入命令:
orapwd file= password = entries=
输入orapwd 根据提示
file表示密码文件全路径,password为你要设置的新密码 entries登录sys最多用户
重启用户实例,新密码生效