Oracle新建用户、角色,授权,建表空间实例(1/2)

新手们都问我关于Oracle新建用户、角色,授权,建表空间的sql语句或实例,下面我们来看看本文章吧。

新手们都问我关于Oracle新建用户、角色,授权,建表空间的sql语句或实例,下面我们来看看本文章吧。

每个oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。

一、创建用户

Oracle创建用户的语法:

 代码如下复制代码

Oracle创建用户(密码验证用户),可以采用CREATE USER命令。

CREATE USER username IDENTIFIED BY pass

OR IDENTIFIED EXETERNALLY

OR IDENTIFIED GLOBALLY AS ‘CN=user’

[DEFAULT TABLESPACE tablespace]

[TEMPORARY TABLESPACE temptablespace]

[QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace

[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace

[PROFILES profile_name]

[PASSWORD EXPIRE]

[ACCOUNT LOCK or ACCOUNT UNLOCK]

其中,

CREATE USER username:用户名,一般为字母数字型和“#”及“_”符号。

IDENTIFIED BY password:用户口令,一般为字母数字型和“#”及“_”符号。

IDENTIFIED EXETERNALLY:表示用户名在操作系统下验证,该用户名必须与操作系统中所定义的用户名相同。

IDENTIFIED GLOBALLY AS ‘CN=user’:用户名由Oracle安全域中心服务器验证,CN名字表示用户的外部名。

[DEFAULT TABLESPACE tablespace]:默认的表空间。

[TEMPORARY TABLESPACE tablespace]:默认的临时表空间。

[QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace:用户可以使用的表空间的字节数。

[PROFILES profile_name]:资源文件的名称。

Seede AI Seede AI

AI 驱动的设计工具

Seede AI 586 查看详情 Seede AI

[PASSWORD EXPIRE]:立即将口令设成过期状态,用户再登录前必须修改口令。

[ACCOUNT LOCK or ACCOUNT UNLOCK]:用户是否被加锁,默认情况下是不加锁的。

  oracle内部有两个建好的用户:system和sys。用户可直接登录到system用户以创建其他用户,因为system具有创建别 的用户的 权限。 在安装oracle时,用户或系统管理员首先可以为自己建立一个用户。例 如 :

create user user01 identified by u01;

该命令还可以用来设置其他权限,详细情况参见自学资料。要改变一个口令,可以使用alter user命令:

alter user user01 identified by usr01;

现在user01的口令已由“u01”改为“usr01”。

  除了alter user命令以外,用户还可以使用password命令。如果使用password命令,用户输入的新口令将不在屏幕上显示。有dba特权的用户可以通过password命令改变任何其他用户的口令;其他用户只能改变自己的口令。

当用户输入password命令时,系统将提示用户输入旧口令和新口令,如下所示:

  password
  changing password for user01
  old password:
  new password:
  retype new password:

  当成功地修改了口令时,用户会得到如下的反馈:

  password changed

二 、删除用户

  删除用户,可以使用drop user命令,如下所示:

  drop user user01;

  如果用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。下面的例子用来删除用户与其对象:

  drop user user01 cascade;

三 、3种标准角色

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

  1. connect role(连接角色)

  临时用户,特别是那些不需要建表的用户,通常只赋予他们connectrole。connect是使用oracle的简单权限,这种权限只有在对其他用户的表有访问权时,包括select、insert、update和等,才会变得有意义。拥有connect role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话()和与其他的链(link)。

  2. resource role(资源角色)

  更可靠和正式的数据库用户可以授予resource role。resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

  3. dba role(数据库管理员角色)

  dba role拥有所有的系统权限—-包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有。下面介绍一些dba经常使用的典型权限。

  (1)grant(授权)命令

  下面对刚才创建的用户user01授权,命令如下:

  grant connect, resource to user01;

  (2)revoke(撤消)权限

  已授予的权限可以撤消。例如撤消(1)中的授权,命令如下:

  revoke connect, resource from user01;

  一个具有dba角色的用户可以撤消任何别的用户甚至别的dba的connect、resource 和dba的其他权限。当然,这样是很危险的,因此,除非真正需要,dba权限不应随便授予那些不是很重要的一般用户。 撤消一个用户的所有权限,并不意味着从oracle中删除了这个用户, 也不会破坏用户创建的任何表;只是简单禁止其对这些表的访问。其他要访问这些表的用户可以象以前那样地访问这些表。 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1044648.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月2日 06:18:05
下一篇 2025年12月2日 06:26:56

相关推荐

  • Oracle DATE 类型存储时间戳及如何仅存储日期

    本文旨在解释 Oracle 数据库中 DATE 类型总是包含时间戳的原因,并提供在数据库中存储日期时去除时间部分的方法,重点介绍如何通过格式化函数控制日期显示,而非修改数据库结构。 在 Oracle 数据库中,DATE 类型的设计初衷就是同时存储日期和时间信息。即使你只关心日期部分,DATE 类型仍…

    2025年12月6日 java
    000
  • mysql中事务隔离级别有哪些

    读未提交允许读取未提交数据,易引发脏读、不可重复读和幻读;2. 读已提交确保读取已提交数据,避免脏读但存在不可重复读和幻读;3. 可重复读保证事务内多次读取一致,MySQL默认级别,通过MVCC和间隙锁减少幻读;4. 串行化强制事务串行执行,避免所有并发问题但性能最差。选择隔离级别需权衡一致性与性能…

    2025年12月6日 数据库
    000
  • 优化MySQL电话号码字段搜索:解决空格与格式多样性问题

    本文详细介绍了在mysql数据库中,如何高效地搜索包含空格或多种格式的电话号码字段。针对`like`查询无法识别空格字符的问题,核心解决方案是利用`replace`函数在查询时移除字段中的空格,从而实现准确匹配。教程还将探讨更全面的数据清洗策略和性能优化建议,以提升搜索效率和数据质量。 在数据库管理…

    2025年12月6日 后端开发
    000
  • OpenJPA 在 Oracle 中处理字符串长度限制的警告与解决方案

    本文深入探讨了 openjpa 在与 oracle 数据库交互时,针对字符串字段可能遇到的“值超过 4000 字节/字符”的警告信息。该警告源于 oracle `varchar2` 数据类型的默认 4000 字节限制。教程将详细介绍两种主要的解决方案:通过 `@column(length = n)`…

    2025年12月6日 java
    000
  • Java中MANIFEST.MF的作用 详解清单文件

    manifest.mf是java中jar文件的元数据配置文件,位于meta-inf目录下,用于定义版本、主类、依赖路径等关键信息。1. 它允许指定入口类,使jar可直接运行;2. 通过class-path管理依赖,减少类加载冲突;3. 可配置安全权限,如设置沙箱运行;4. 常见属性包括manifes…

    2025年12月5日 java
    000
  • Java中枚举类型怎么定义 掌握Java枚举的定义和常用方法

    java中定义枚举类型使用enum关键字,例如public enum weekday { monday, tuesday,…};枚举可包含字段和方法,如添加中文名称字段及获取方法;可在switch语句中使用,确保覆盖所有值;常用方法包括values()、valueof()、ordinal…

    2025年12月4日 java
    000
  • oracle/mysql拼接值遇到的坑及双竖线||和concat怎么使用

    %ign%ignore_a_1%re_a_1% mysql 拼接值遇到的坑 双竖线 || concat || “||” 在oracle中是拼接值,但在mysql中是“或”的意思。 where name like ‘%’ || ‘Tony’ || ‘%’ 所以推荐使用concat() concat()…

    数据库 2025年12月4日
    000
  • Linux实现自动挂载autofs的方法详解

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 目录 实现自动挂载-autofs autofs工具简单使用 autofs配置详细说明 自动挂载资源有两种格式 优化Linux系统性能 安装Tuned 选择调整配置文件 检查系统推荐的调整配置文件…

    2025年12月4日
    000
  • 简易项目搭建(用于一般杂七杂八的小功能点)

    在工作中,我们常常会遇到许多需要完成的小功能点。以我自己的工作情况为例,最常见的是两个方面:1、控制台项目;2、web界面(纯前端)。 首先让我们讨论控制台项目的工作内容。在没有使用PostMan之前,工作中大量使用接口调用。在项目准备阶段,首先需要对接口的使用进行描述。在主要使用WebServic…

    2025年12月4日
    000
  • 分页功能如何实现?LIMIT与页码计算

    分页功能通过offset和limit截取数据实现。1.分页核心是计算偏移量(offset=(页码-1)每页条数)和限制数量;2.使用sql的limit子句或数据库特定语法(如sql server的offset…fetch next)执行查询;3.前端传页码和每页大小,后端计算偏移量并执行…

    2025年12月3日 后端开发
    000
  • Java中DAO模式的作用 解析DAO模式封装数据访问的价值

    dao模式通过解耦业务逻辑与数据访问,解决了数据库切换困难、sql注入风险和代码重复问题。其核心价值在于将数据访问细节封装在接口和实现类中,使业务代码仅面向接口编程,从而降低维护成本。具体步骤包括:1.定义dao接口;2.创建具体实现类;3.使用工厂模式获取实例;4.在业务逻辑中调用dao方法。技术…

    2025年12月3日 java
    000
  • Swoole如何做数据加密?加密算法如何选择?

    Swoole中数据加密依赖PHP的OpenSSL扩展,通过选择AES、RSA等算法实现;在Server或Client的接收与发送过程中进行加解密操作,结合CBC、GCM等模式保障安全与性能;密钥应通过环境变量或配置文件管理,避免硬编码;为防止中间人攻击,应启用TLS/SSL加密通信,并在WebSoc…

    2025年12月3日
    100
  • Swoole如何实现多租户?租户隔离怎么操作?

    Swoole实现多租户的核心在于协程上下文隔离,通过Coroutine::getContext()绑定租户ID、数据库连接、缓存前缀等上下文信息,在请求入口识别租户并加载配置,确保数据、缓存、文件存储、数据库连接等资源按租户隔离,避免长驻内存导致的数据泄露,结合连接池重置、缓存键前缀、独立表或库等策…

    2025年12月3日
    000
  • 2023合同管理软件排名:前10名榜单

    合同管理软件依托信息技术,结合现代企业的先进管理思想,为企业构建起一个集决策、规划、控制及经营绩效评估于一体的全方位、系统化的管理平台。企业在开展经济活动时,通常以合同为纽带,合同管理的效果直接关系到经营的成败。作为企业管理的重要组成部分,合同管理对业务流程的规范化、数据的准确性以及信息传递的安全性…

    2025年12月3日 软件教程
    000
  • 如何在PHP中配置Oracle数据库连接池的详细教程?

    在php中配置oracle数据库连接池需依赖oracle工具和配置,而非php本身。1. 安装oracle instant client并配置环境变量,安装oci8扩展并在php.ini中启用;2. 在oracle端启用drcp连接池,使用dbms_connection_pool包启动并调整参数;3…

    2025年12月3日 后端开发
    000
  • 零基础学Java课程安排建议

    it行业目前非常热门,对于大学生而言,若想在大学期间学习java但又毫无基础,以下是一份适合的课程学习流程推荐: 1、 公共基础知识:初步了解计算机网络和数据结构的基础内容,掌握基本概念即可。 2、 Java基础课程大约需要三周时间完成,建议从视频教程开始学习。学完后可以在网上找一套系统的练习题进行…

    2025年12月3日 软件教程
    000
  • Windows2003系统下MySQL安装小结

    本文承接上文在windows2003系统中配置支持php的tomcat网站内容继续进行说明。 1、 支持列表中并未列出Windows 2003版本。 2、 我下载了社区版5.7.22,但在安装过程中提示“mysqld不是有效的Win32应用程序”,令人费解。 3、 随后选择降低版本,改用5.6.40…

    2025年12月3日 软件教程
    000
  • Oracle视图应用实战

    1、 在Oracle数据库中创建视图,并通过查询语句获取视图中的数据内容。 2、 对已存在的Oracle视图进行结构或定义修改,并执行重新编译以确保其有效性。 3、 %ignore_a_1%览当前数据库中存在的视图列表,并根据需要删除指定的视图对象。 4、 执行对Oracle视图的数据查询操作,同时…

    2025年12月3日 软件教程
    000
  • sql中如何实现递归查询 递归查询的经典案例演示

    sql递归查询通过cte实现层级数据查询,核心在于锚点成员与递归成员结合,常见错误包括无限循环、性能问题、数据类型不匹配等;优化方法有索引优化、限制递归深度、使用临时表等;不同数据库如postgresql、sql server、mysql支持递归cte,oracle则使用connect by语法。 …

    2025年12月3日 数据库
    000
  • SQL变量声明怎么写 变量声明的2种语法解析

    sql变量声明主要有两种方式:使用declare关键字和mysql的@符号。1. declare用于多数数据库,如sql server和oracle,需指定数据类型及可选初始值;2. mysql用set @variablename = value形式声明会话变量,无需预定义类型。常见数据类型包括数值…

    2025年12月3日 数据库
    000

发表回复

登录后才能评论
关注微信