目录
Oracle 创建数据库与用户一般一一对应, 准确的说可以 Oracle 中的 Schema 相当于 MySQL 中的数据库.
Oracle 不支持创建自定义模式的, 想要创建模式的话只能新建一个用户, 每个用户会有一个默认的和用户名相同的模式.
Oracle 默认已有两个建好的用户: system 和 sys, system 有创建其他用户的权限.
先看一看整体命令: 登录命令:
sqlplus / as sysdba
- CREATE TABLESPACE monitor LOGGING DATAFILE '/opt/oracle/app/oradata/orcl/monitor.dbf'
- SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE unlimited;
用户名和密码均为 monitor.
CREATE USER monitor IDENTIFIED BY monitor DEFAULT TABLESPACE monitor;
关于用户简单的操作
- -- 创建用户
- create user 用户名 identified by 口令[即密码];
- -- 如创建一个用户名和口令均为 monitor 的用户
- create user monitor identified by monitor;
- -- 更改用户
- alter user 用户名 identified by 口令[新口令];
- -- 如修改用户口令为 123456
- alter user monitor identified by 123456;
- -- 删除用户
- drop user 用户名;
- -- 如删除 monitor
- drop user monitor;
关于用户状态的操作 创建用户的时候虽然用户名写的时小写的, 但是存储到数据字典的时候却是大写的, 强制小写加上引号.
查看
MONITOR
用户的状态
select USERNAME, USER_ID, ACCOUNT_STATUS, DEFAULT_TABLESPACE from dba_users WHERE USERNAME = 'MONITOR';
OPEN
为开启状态.EXPIRE
为密码过时状态.LOCKEN
为锁定状态, 有密码.EXPIRE & OPEN
. OPEN 为开启状态.
- -- 手工设置过期
- alter user monitor password expire;
- -- 解锁用户
- alter user monitor account unlock;
- -- 锁定用户就是修改密码
- alter user monitor identified by 123456;
创建的用户没有任何权限, 连登陆数据库的权限都没有.
Oracle 为了兼容以前的版本, 提供了三种标准角色:
connect、resource 和 dba
- 1. connect (连接角色): 这种角色下只可以登录 Oracle, 不可用创建实体, 也不可用创建数据库结构, 即只能对其他人创建的表中的数据进行操作.
- 2. resource(资源角色): 该角色可以创建实体, 但是不可以创建数据库结构. 可以创建表、序列 (sequence)、运算符 (operator)、过程 (procedure)、触发器 (trigger)、索引 (index)、类型 (type) 和簇 (cluster).
- 3. dba (数据库管理员权限): 该角色拥有系统最高权限, 只有 DBA 才可以创建数据库结构. 包括无限制的空间限额和给其他用户授予各种权限的能力, system 由 dba 用户拥有.
对于普通用户来说, 授予 connect 和 resource 权限即可, 只对 dba 授予拥有 connect、resource 和 dba 权限.
- grant connect,resource,dba to monitor;
- grant create session to monitor;
关于用户授权的操作
- -- 授权
- grant connect, resource to 用户名;
- -- 如授权用户 monitor 权限 connect、resource 权限
- grant connect, resource to monitor;
- -- 撤销授权
- revoke connect, resource from 用户名;
- -- 如撤销 monitor 的权限
- revoke connect, resource from monitor;
进行增删改查的操作时候, 需要用该用户登录, 其他用户会
报表和视图不存在
的错误.
sqlplus