1.oracle的安装
https://www.cnblogs.com/liuhongfeng/p/5267549.html
oracle安装会自动生成sys用户和system用户
sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,默认密码是change_on_install
system用户是 管理操作员,权限也很大 具有sysoper权限,没有create database的权限,默认密码是
manager
一般使用system用户就可以了
可以吧orcl看做一个实例(数据库),像sys,system,scott都可以去访问这个实例
2.oracle管理工具的使用
sqlplus
pl/sql developer
2.1sql plus的连接命令
conn 用户名/密码@网络服务器名 [as sysdba/sysoper]
当使用特权用户连接时,需要带上as sysdba/sysoper
disc 用来断开连接
passw 用户修改用户密码,如果想修改其它用户的密码,需要用sys/system登录
show user 显示当前用户名
exit退出
2.2文件操作命令
start和@
用来运行sql脚本
例如:sql>@ d:\a.sql 或者sql>start d:\a.sql
edit
用来编辑sql脚本
例如:sql>edit d:\a.sql
spool
将sql plus屏幕上的内容输出到指定文件中
例如:sql>spool d:\b.sql
并输入sql>spool off
2.3交互式命令
&
可以替代变量,在该变量执行时,需要用户输入
sql>select * from emp where ename='&name';
2.4显示和设置环境变量
可以用来控制输出的各种格式
set/show 如果希望永久的保存相关的设置,可以去修改glogin.sql脚本
1.linesize
设置显示行的宽度,默认是80个字符
sql>show linesize
sql>set linesize 90
2.pagesize
设置每页显示的行数目,默认是14
用法和linesize一样+
3.oracle用户的管理
3.1创建用户
create user 一般是具有dba的权限才能使用
create user chen identified by 123;
3.2给用户修改密码
给当前用户修改密码
sql>password 用户名
给其他用户修改密码,则需要具有dba的权限,或是拥有alter user的系统权限
sql>alter user 用户名 identified by 新密码
3.3删除用户
一般是dba去删除用户,如果用其它用户去删除用户则需要具有drop user权限
drop user 用户名 [cascade]
如果要删除的用户,已经创建了表,那么需要加参数cascade级联删除
3.4用户管理综合案例
创建的新用户是没有任何权限的,连登录数据库的权限都没有,需要为其指定相应的权限,给一个用户赋权使用grant
回收权限使用revoke
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qK4gtwzz-1606985198173)(https://i.loli.net/2020/11/12/SEdrAHU9m8znutX.png)]
//将connnect的角色赋给xiaochen
grant connect to xiaochen;
//查询 scott用户下的emp表
grant select on emp to xiaochen;
select * from scott.emp;
//可以修改 scott的emp表
ant update on emp to xiaochen;
//可以去增删改查 scott的emp表
grant all on emp to xiaochen;
//scott回收 xiaochen对emp表的查找权限
revoke select on emp from xiaochen;
3.5权限分类
大概140种权限
系统权限:用户对数据库的相关权限
对象权限:用户对其他用户的数据对象(表 存储过程 触发器 视图等等)操作的权限
对象权限例如(select insert update delete all create index)
3.6角色分类
预定义角色
自定义角色
3.7角色与权限的关系
比如connect角色,从权限中分出一些权限给connect
角色是多种权限的集合
dba角色 具有dba权限
resource角色 在任何一个表空间建表权限
3.8权限的维护
- xiaochen可以去查询scott的emp表,并且xiaochen可以把这个权限继续给别人xiaohong
//如果是对象权限
grant select on emp to xiaochen with grant option;
- system给xiaochen权限时,并且xiaochen可以把这个权限继续给别人
//系统权限
grant connect to xiaochen with admin option;
- scott回收了xiaochen对emp表的查询权限,那么xioahong是否还能查询emp表
xiaohong不能查询到emp表 株连九族的古代刑法
3.9profile管理用户命令
profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile
当建立用户没有指定profile选项,那oracle就会将default分配给用户
账户锁定
指定该账户(用户)登陆时最多可以输入密码的次数
也可以指定用户锁定的时间(天),一般用dba的身份去执行该命令
例如:指定用户最多只能尝试3次登陆,锁定时间为2天
sql>create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
sql>alter user tea profile lock_account;
账户解锁
sql>alter user tea account unlock;
终止口令
为了让用户定期修改密码可以使用终止口令的指令来完成,同样需要dba身份操作
例如:给用户tea创建一个profile文件,要求该用户每隔10天修改登录密码,宽限期2天
sql>create profile myprofile limit password_life_time 10 password_grace_time 2;
sql>alter user tea profile myprofile;
口令历史
如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史
这样oracle就会将口令修改的信息存放到数据字典中,这样当用户修改密码时,oracle就会对新旧密码进行比较
当发现新旧密码一样时,就提示用户重新输入密码
例如:指定口令可重用时间即10天后就可以重用
sql>create profile password_history limit password_life_time 10 password_grace_time 2
password_reuse_time 10
删除profile
sql>drop profile password_history [cascade]