1.在Oracle中不轻易创建数据库实例
2.使用不同的用户区分访问表的权限
3.创建用户
create user 用户名 identified by 密码 account lock | unlock;
lock 和 unlock 是指用户是否处于锁定状态,处于锁定状态的用户无法登录数据库服务
create user tom identified by tom account unlock;
创建用户是要有权限的,只有管理员才有权限创建用户。
4.用户创建成功后还不能登录数据库服务器。如果要登录数据库服务器,必须具有create session权限。
- 系统权限:create session ,create table,……
- 数据库对象权限:对表的CRUD操作
- 角色(ROLE)
- 角色:若干个权限系统的集合
- connect:主要应用在临时用户,不需要建表的用户,该角色能够连接数据库服务
- resource:该角色可以创建表、序列、存储过程、触发器、索引等
- DBA:该角色拥有数据库的所有权限
注:一般情况下,普通用户拥有connect和resource角色即可
5.授权
grant 角色 | 权限 to 用户(角色);
grant connect to tom;
对象权限:
- alert:允许使用者更改表或序列的定义
- execute:允许使用者执行存储过程
- index:允许使用者在表上建立索引
- insert:允许使用者插入数据
- references:允许使用者建立外键
- select:允许使用者查询表、视图、序列等信息
- update:允许使用者修改数据
/* 允许tom 可以查询scott用户的emp表 */ grant select on scott.emp to tom;
revoke select on scott.emp from tom;
6.撤销授权
revoke 角色 | 权限 form 用户(角色)
revoke connect form tom;
7.修改用户信息
- 修改用户密码:
alter user 用户名 identified by 新密码;
- 修改用户的锁定状态:
alter user 用户名 account lock | unlock;