Oracle权限和数据类型

oracle创建用户:

CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK]

【注】LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态。锁定的用户无法正常的登陆进行数据库操作。

  比如创建一个用户tom,密码是aaa,默认为非锁定,格式是:

  SQL>CREATE USER tom

    2  IDENTIFIED BY aaa

    3  ACCOUNT UNLOCK;

【注】Oracle在SQL*Plus中的命令以分号结尾,代表命令完毕并执行,系统同时会把该命令保存在缓存中,缓存中只保存最近执行过的命令,如果重新执行缓存中的命令,直接使用斜杠符。如果命令不以分号结尾,该命令只是写入缓存保存起来,但是并不执行。

  尽管用户成功创建,但是还不能正常登陆oracle数据库系统,因为该用户还没有任何权限。如果用户能够正常登陆,至少需要CREATE SESSION 系统权限。

  Oracle用户对数据库管理或对象操作的权利,分为系统权限和数据库对象权限。系统权限比如:CREATE SESSION,CREATE TABLE等。拥有系统权限的用户,允许拥有相应的系统操作。数据库对象权限,比如对表中的数据进行增删改操作等,拥有数据库对象权限的用户可以对所拥有的对象进行相应的操作。

  数据库角色(role),数据库角色就是若干个系统权限的集合,常用的几个角色如下:

  • connect角色:主要应用在临时用户,特别是那些不需要建表的用户,通常只赋予他们connect role。connect是使用Oracle的简单权限,拥有connect角色的用户,可以与服务器建立连接会话(session,客户端对服务器连接,称为会话)。
  • resource角色:更可靠和正式的数据库用户可以授权resource role。resource提供给用户另外的权限以创建他们自己的表、序列、过程、触发器、索引等。
  • dba角色:dba role拥有所有的系统权限,包括无限制的空间限额和给其他用户授权的能力。用户system拥有dba角色。

  一般情况下,一个普通的用户,拥有connect和resource两个角色即可进行常规的数据库开发工作。

  可以把某个权限授予某个角色,可以把权限、角色授予某个用户。系统权限只能由dba用户授权,对象权限由拥有该对象的用户授权,授权语法为:

  GRANT 角色|权限 TO 用户(角色)

  回收权限的语法是:

  REVOKE 角色|权限 FROM 用户(角色)

  修改用户密码的语法是:

  ALTER USER 用户名 IDENTIFIED BY 新密码

  修改用户处于锁定(非锁定)状态:

  ALTER USER 用户名 ACCOUNT LOCK|UNLOCK

Oracle数据类型:

  • CHAR(length):存储固定长度的字符串。参数length指定了长度,如果存储的字符创长度小于length,用空格填充。默认长度是1,最长不超过2000字节。
  • VARCHAR2(length):存储可变长度的字符串。length指定了该字符串的最大长度。默认长度为1,最长不超过4000字符。
  • VARCHAR(length):varchar和varchar2目前没有区别,不过Oracle以后的版本就不支持varchar类型,如果想新版本的数据库兼容,就不要用varchar,如果想和其他的数据库兼容就不要用varchar2.
  • NUMBER(p,s):既可以存储浮点数,也可以存储整数,p表示数字的最大位数(如果是小数包括整数部分和小数部分和小数点,p默认是38位),s是指小数位数。
  • DATE:存储日期和时间,存储纪元、4位年、月、日、时、分、秒,存储时间从公园前4712年1月1日到公元后4712年12月31日。
  • TIMESTAMP:不但存储日期的年月日,时分秒,以及秒后6位,同时包含时区。
  • CLOB:存储大的文本,比如存储非结构化的xml文档。
  • BLOB:存储二进制对象,如图形、视频、声音等。

对应NUMBER类型的示例:

格式 输入的数字 实际的存储
NUMBER 1234.567 1234.56
NUMBER(6,2) 123.4526 123.45
NUMBER(4,2) 12345.67 输入的数字超过了所指定的精度,数据库不能存储

  对于日期类型,可以使用sysdate内置函数可以获取当前的系统日期和时间,返回DATE类型,用systimestamp函数可以返回当前日期、时间和时区。

  SELECT SYSDATE,SYSTIMESTAMP FROM DUAL

  Oracle的查询中,必须使用“select 列···from 表”的完整语法,当查询单行函数的时候,from后面使用DUAL表,dual表在系统中只有一行一列,该表在输出单行函数时为了select...from的语法完整性而使用。

时间: 2024-12-28 00:36:14

Oracle权限和数据类型的相关文章

Oracle权限管理详解

转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级.Role 角色级.这些权限可以授予给用户.特殊用户public或角色,如果授予一个权限给特殊用户"Public"(用户public是oracle预定义的,每个用户享有这个用户享有的权限),那么就意味作将该权限授予了该数据库的所有用户.对管理权限而言,角色是一个工具,权限能够被授予给一个角色,角色也能被授予给另一个角

Oracle权限和角色

Oracle权限和角色,码迷,mamicode.com

oracle权限

Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级.Role 角色级.这些权限可以授予给用户.特殊用户public或角色,如果授予一个权限给特殊用户"Public"(用户public是oracle预定义的,每个用户享有这个用户享有的权限),那么就意味作将该权限授予了该数据库的所有用户.对管理权限而言,角色是一个工具,权限能够被授予给一个角色,角色也能被授予给另一个角色或用户.用户可以通过角色继承权限

Oracle权限设置

oracle的用户安全管理主要有权限和角色 当刚刚建立用户时.用户没有不论什么权限,也不能运行不论什么操作. 假设要运行某种特定的数据库操作,则必须为其授予系统的权限. 假设用户要訪问其它方案的对象.则必须为其授予对象的权限,为了简化权限的管理,能够使用角色 权限: 这里是运行特定的命令和訪问对象的权利.包括系统和对象权限 系统权限 是运行特定类型的sql命令.主要是对用户来说的.分类 DBA 所有权限.能够创建数据库结构 Resource:仅仅能够创建实体,不能够创建数据库结构 Connect

Oracle 权限管理

Oracle的权限有三种类型:Object privileges    对象权限Role privileges       角色权限System privileges  系统权限 (一).对象权限 一般来说的,对象权限,是针对一个用户对某些表,视图,函数,存储过程的访问权限grant select, insert, update, delete on test_table to test_user;             赋予用户test_user对表test_table增删改查权限 gran

oracle 权限

Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级.Role 角色级.这些权限可以授予给用户.特殊用户public或角色,如果授予一个权限给特殊用户"Public"(用户public是oracle预定义的, 每个用户享有这个用户享有的权限),那么就意味作将该权限授予了该数据库的所有用户.对管理权限而言,角色是一个工具,权限能够被授予给一个角色,角色也能被授予给另一个角色或用户.用户可以通过角色继承权

oracle权限详解

一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的). 二.系统权限管理:1.系统权限分类:DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构. RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构. CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构. 对于普通用户:授予connec

Oracle权限管理详解(转载)

转载:http://czmmiao.iteye.com/blog/1304934  作者:czmmiao Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级.Role 角色级.这些权限可以授予给用户.特殊用户public或角色,如果授予一个权限给特殊用户"Public"(用户public是oracle预定义的,每个用户享有这个用户享有的权限),那么就意味作将该权限授予了该数据库的所有用户.对管理权限

Oracle存储过程-自定义数据类型,集合,遍历取值

摘要 Oracle存储过程,自定义数据类型,集合,遍历取值 目录[-] 0.前言 1.Packages 2.Packages bodies 3.输出结果 0.前言 在Oracle的存储过程中,可能会遇到数据处理,假如我们目前的功能在一个Packages中 Packages封装了多个不同功能的Procedure,我们在一个Procedure里面进行统计 在另外一个Procedure进行计算 这就需要一个存放结果集的地方 以前的解决方案是:建立了一个临时表,数据统计出来后,放入临时表中 在另外一个P