Oracle用户创建及权限设置

 权限包括:

create session        允许用户登录数据库权限
create table          允许用户创建表权限
unlimited tablespace  允许用户在其他表空间随意建表

 角色包括:

connect  
resource
dba

CONNECT角色: --是授予最终用户的典型权利,最基本的权力,能够连接到ORACLE数据库中,并在对其他用户的表有访问权限时,
    做SELECT、UPDATE、INSERTT等操作。
    

 

ALTER SESSION   --修改会话
CREATE CLUSTER  --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图

 

 RESOURCE角色: --是授予开发人员的,能在自己的方案中创建表、序列、视图等。

 

CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型

 

DBA角色,是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限

 

//sqlplus /nolog则是不以任何用户登录,相当于只是打开一个登录窗口而已,接下来需要用 用户名跟密码进行登录操作
//一般这样做的目的是防止别人看到你的用户密码
//nolog是不登陆到数据库服务器的意思
//sqlplus /nolog一般是启动sqlplus但不进行连接操作
//nolog 选项会启动sqlplus, 但不连接数据库
  [oracle@prod:/home/oracle$sqlplus /nolog
  SQL*Plus: Release 11.2.0.4.0 Production on Mon Mar 21 20:28:53 2022
  Copyright (c) 1982, 2013, Oracle. All rights reserved.

SQL> conn / as sysdba; //或者是conn username/password
SQL> create user username identified by password  --username/password都是用户自定义
SQL> grant dba to username;
SQL> conn username/password
SQL> select * from user_sys_privs;
   sqlplus / as sysdba是一种简化写法,其实是省略了用户名和密码,完整的写法是
   sqlplus  sys/password  as  sysdba
   而sqlplus  /nolog是另外的用法了,nolog表示不进行登录,仅仅是进入sqlplus软件而已

//如果没有/nolog参数,sqlplus直接会提示你输入用户名和密码
 [oracle@prod:/home/oracle$sqlplus
 SQL*Plus: Release 11.2.0.4.0 Production on Mon Mar 21 20:41:47 2022
 Copyright (c) 1982, 2013, Oracle. All rights reserved.
 Enter user-name: aaa
 Enter password: 
 ERROR:
 ORA-01017: invalid username/password; logon denied

 

我们介绍一下Oracle用户、权限表以及创建。

 

一、默认用户
  sys;//系统管理员,拥有最高权限
  system;//本地管理员,次高权限
  scott;//普通用户,密码默认为tiger,默认未解锁
  oracle有三个默认的用户名和密码
  1.用户名:sys    密码:change_on_install
  2.用户名:system 密码:manager
  3.用户名:scott  密码:tiger
二、登陆
  sqlplus / as sysdba;//登陆sys帐户
  sqlplus sys as sysdba;//同上
  sqlplus scott/tiger;//登陆普通用户scott
三、管理用户
  create user user01;//在管理员帐户下,创建用户user01
  alert user scott identified by tiger;//修改默认密码,其他用户修改也是一样的
四,授予权限
  1、默认的普通用户scott默认未解锁,不能使用,新建的用户也没有任何权限,必须授予权限
  grant create session to user01;//授予user01用户创建session的权限,即登陆权限,允许用户登录数据库
  grant unlimited tablespace to user01;//授予user01用户使用表空间的权限
  grant create table to user01;//授予创建表的权限
  grante drop table to user01;//授予删除表的权限
  grant insert table to user01;//插入表的权限
  grant update table to user01;//修改表的权限
   grant create view to user01;
   grant all to public;//这条比较重要,授予所有权限给所有用户 
五、查看权限
  select * from user_sys_privs;//查看当前用户所有权限
  select * from user_tab_privs;//查看所用用户对表的权限
六、操作表的用户的表
  select * from user01.tablename
七、权限传递
  即用户A将权限授予B,B可以将操作的权限再授予C,命令如下:
  grant alert table on tablename to user01 with admin option;//关键字 with admin option
  grant alert table on tablename to user01 with grant option;//关键字 with grant option效果和admin类似
八、角色
  角色即权限的集合,可以把一个角色授予给用户
  create role myrole;//创建角色
  grant create session to myrole;//将创建session的权限授予myrole
  grant myrole to user01;//授予zhangsan用户myrole的角色
  drop role myrole;删除角色

 

 

你可能感兴趣的