Oracle 创建用户及模式

2022-08-31 09:52:48 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

Oracle 创建用户及模式
  • 1. 简言
  • 2. 创建表空间
  • 3. 创建用户与上面创建的文件形成映射关系
  • 4. 添加权限
  • 5. 登录

1. 简言

Oracle 创建数据库与用户一般一一对应, 准确的说可以 Oracle 中的 Schema 相当于 MySQL 中的数据库.

Oracle 不支持创建自定义模式的, 想要创建模式的话只能新建一个用户, 每个用户会有一个默认的和用户名相同的模式.

Oracle 默认已有两个建好的用户: system 和 sys, system 有创建其他用户的权限.

先看一看整体命令: 登录命令: sqlplus / as sysdba

2. 创建表空间

代码语言:javascript复制
CREATE TABLESPACE monitor LOGGING DATAFILE '/opt/oracle/app/oradata/orcl/monitor.dbf' 
SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE unlimited;

3. 创建用户与上面创建的文件形成映射关系

用户名和密码均为 monitor.

代码语言:javascript复制
CREATE USER monitor IDENTIFIED BY monitor DEFAULT TABLESPACE monitor;

关于用户简单的操作

代码语言:javascript复制
-- 创建用户
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 用户的状态

代码语言:javascript复制
select USERNAME, USER_ID, ACCOUNT_STATUS, DEFAULT_TABLESPACE from dba_users WHERE USERNAME = 'MONITOR';

OPEN 为开启状态. EXPIRE 为密码过时状态. LOCKEN 为锁定状态, 有密码. EXPIRE & OPEN. OPEN 为开启状态.

代码语言:javascript复制
-- 手工设置过期
alter user monitor password expire;
-- 解锁用户
alter user monitor account unlock;
-- 锁定用户就是修改密码
alter user monitor identified by 123456;

4. 添加权限

创建的用户没有任何权限, 连登陆数据库的权限都没有.

Oracle 为了兼容以前的版本, 提供了三种标准角色: connect、resource 和 dba

代码语言:javascript复制
	1. connect (连接角色): 这种角色下只可以登录 Oracle, 不可用创建实体, 也不可用创建数据库结构, 即只能对其他人创建的表中的数据进行操作.
	2. resource(资源角色): 该角色可以创建实体, 但是不可以创建数据库结构.  可以创建表、序列 (sequence)、运算符 (operator)、过程 (procedure)、触发器 (trigger)、索引 (index)、类型 (type) 和簇 (cluster).
	3. dba (数据库管理员权限): 该角色拥有系统最高权限, 只有 DBA 才可以创建数据库结构. 包括无限制的空间限额和给其他用户授予各种权限的能力, system 由 dba 用户拥有. 

对于普通用户来说, 授予 connect 和 resource 权限即可, 只对 dba 授予拥有 connect、resource 和 dba 权限.

代码语言:javascript复制
grant connect,resource,dba to monitor;
grant create session to monitor;

关于用户授权的操作

代码语言:javascript复制
-- 授权
grant connect, resource to 用户名;
-- 如授权用户 monitor 权限 connect、resource 权限
grant connect, resource to monitor;
-- 撤销授权
revoke connect, resource from 用户名;
-- 如撤销 monitor 的权限
revoke connect, resource from monitor;

5. 登录

进行增删改查的操作时候, 需要用该用户登录, 其他用户会报表和视图不存在的错误.

代码语言:javascript复制
sqlplus

参考网址: [1]: https://www.cnblogs.com/0201zcr/p/4669548.html [2]: https://blog.csdn.net/q1406689423/article/details/89152587 [3]: https://blog.csdn.net/weixin_41078837/article/details/80968625

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144403.html原文链接:https://javaforall.cn

0 人点赞