oracle学习笔记(一)用户管理

时间:2022-02-05 12:57:06
 --oracle学习第一天
--连接 @后面连接数据库实例,具体连接到那个数据库
conn scott/tiger@MYORA1;
--修改密码
passw;
--显示用户
show user;
--查询emp
select * from emp;
--进行替换查询
select * from emp where ename='&ENAME'
--把查询的数据导出去
spool d:\ab.sql
select * from emp;
spool off
--显示行大小和设置行大小,行大小为90
show linesize
set lingsize 90
--显示一页的大小,并设置一页显示30
show pagesize
set pagesize 30
--oracle用户管理,创建新用户需要有dba的权限才能创建信用户
--创建一个xiaoming的用户,密码为m123,创建用户必须是sys或者system
create user xiaoming identified by m123;
--给用户需改密码,给别人修改密码必须要有dba权限
--修改小明的密码
password xiaoming;
--删除用户,用dba的权限删用户,自己不能删除自己
--删除小明这个用户
--在删除用户时,如果要删除的用户,已经创建了表,在删除时,要带一个参数cascade(删除表)
drop user xiaoming;
--给xiaoming赋连接数据库的权限 --权限分为系统权限和对象权限
--系统权限是用户对数据库的相关权限,如:登录,修改密码等,oracle大概有140多种系统权限
--对象权限是用户对其他用户数据对象访问(操作)的权限,oracle大概有25种对象权限
--数据对象就是这个用户创建的表,视图,存储过程等等,
--角色分两种一种叫做自定义角色,一种预定义角色
grant connect to xiaoming;
--使用对象权限,使xiaoming可以访问emp表
--把emp的查询功能授权给xiaoming使用
grant select on emp to xiaoming;
--修改权限
grant update on emp to xiaoming;
--这张表的所有权限
grant all on emp to xiaoming;
--方案
select * from scott.emp;
--收回权限 revoke
revoke select on emp from xiaoming;
--权限传递
--如果是对象权限就在后面加 with grant option
--意味着xiaoming可以把select权限继续往下一个用户传递
grant select on emp to xiaoming with grant option
--如果是系统权限就在后面添加with admin option
--系统也就是system或者sys把connnect权限赋予了xiaoming
grant connect to xiaoming with admin option
-- 如果scott把xiaoming的查询emp的对象权限撤销了
--那么xiaohong通过xiaoming得到的获取查询emp表的权限也将被撤销
--株连九族,但是系统权限不会被撤销 --//////////////////////////////////////////////////////
--用户管理
--账户锁定
--指定一个账户登录最多可以输入密码的次数,也可以指定用户锁定的时间(天)
--一般用dba的身份去验证改密码
--指定scott这个用户最多只能尝试3次登录,锁定时间为2天
--创建一个profile文件
create profile lock_account limit failed_login_attempts 3 password_lock_time 2
alter user scott profile lock_account;
--给账户解锁,要dba的用户权限
alter user scott account unlock;
--终止口令
--让用户定期修改密码可以使用终止口令的指令来完成,需要dba的身份操作
--给scott的用户tea创建一个profile文件,要求该用户每隔10天修改自己的登录密码,宽限期为2天
create profile myproflie limit password_life_time 10 password_grace_time 2;
alter user scott profile myprifile
--口令历史
--如果希望用户在修改密码时不能使用以前使用过的密码,可使用口令历史,
--这样oracle就会将口令修改信息存放到数据字典中,当用户修改密码时,
--orace就会对新旧密码进行比较,发现新旧密码一样是,就提示用户重新输入密码
--建立profile
--password_reuse_time 指定口令可重用时间即10天后就可以重用
create profile password_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10; --删除profile 删除该文件,后面添加cascade 可以把相关的都是删除了
drop profile password_history