用户管理
-
表空间 :表存在的空间,一个表空间指向一个具体的数据文件。
-
创建用户细节
create user 用户名 identified by 密码 default tablespace user //用户表空间在user上 temporary tablespace temp //临时表在temp上 quota 3m on users;//创建的数据对象最大3M;
-
Oracle新创建的用户没有权限,需要管理员给用户分配权限
grant conn to 用户名; //登录权限 grant resource to 用户名; //取消空间限制 grant dba to 用户名; //赋予管理员权限 revoke 回收权限,用法同上.
-
删除用户
drop user 用户名 [cascade] //删除用户时,如果用户创建过数据对象,加上cascade,删除用户时一并删除数据对象. //如果不想删除数据对象,则冻结该用户即可.
方案
当一个用户创建好后,如果该用户创建了一个数据对象,这时,dbms就会创建一个对应的方案与该用户对应,该方案与用户名一致.
-
方案的实际应用:(让xiaohong查询Scott的emp表)
conn scott/tiger; grant select[update|delete|insert] on emp to xiaohong; select * from scott.emp;
权限转移
grant all on scott.emp to tea with grant option; //表示得到权限的用户,可以把权限继续分配 with admin option //转移系统权限
使用profile管理用户口令
概述:profile是口令限制,资源限制的命令集合,当建立用户时,会自动建立名为default的profile.
1.账户锁定:登录时最多可以输入密码的次数,也可以指定用户锁定的时间,用dba的身份执行.
create profile lock_account limit failed_login_attempts 3 password_lock_time 2; alter user tea profile lock_account; alter user tea account unlock; //给用户解锁
2.终止口令:让用户定期修改密码,用dba的身份执行.
create profile myprofile limit password_life_time 10 password_grace_time 2 password_reuse_time 1; alter user tea profile myprofile;
3.删除profile文件
drop profile 文件名;
Oracle数据库启动流程
- 启动流程
isnrctl start //启动监听 oradim -startup -sid 数据库实例名
Oracle登录认证方式
-
操作系统认证:如果当前用户属于本地操作系统的ora_dba组,则可通过操作系统认证(
as sysdba
); -
Oracle数据库认证(密码文件认证)
对于普通用户,Oracle默认使用数据库认证
对于特权用户,在ora_dba组中,Oracle默认使用操作系统认证,只要有
as sysdba
则不看密码,登录后自动切换到sys ; 如果验证不通过,再使用数据库认证. -
通过配置sqlnet.ora文件可以修改登录认证方式
SQLNET.AUTHENTICATION_SERVICES = (NTS) //基于操作系统认证 SQLNET.AUTHENTICATION_SERVICES = (NONE) //基于Oracle认证 SQLNET.AUTHENTICATION_SERVICES = (NONE,NTS) //二者共存
丢失管理员密码
恢复步骤:
搜索名为 PWD数据库实例名.ora 文件; 删除该文件,备份以防万一; 生成新的密码文件,在dos控制台输入以下命令: orapwd file = 原来的密码文件的全路径\密码文件名.ora password=新密码 entries=10; //entries:允许几个特权用户
注意:密码文件名一定要和原来的密码文件名一样.