Oracle创建用户、角色、授权、建表空间

oracle数据库的权限系统分为系统权限与对象权限。系统权限( database system privilege )可以让用户执行特定的命令集。例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限。对象权限( database object privilege )可以让用户能够对各个对象进行某些操作。例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。

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

一、创建用户

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

语法[创建用户]:
create user 用户名 identified by 口令[即密码];

例子:
create user test identified by test;

语法[更改用户]:
alter user 用户名 identified by 口令[改变的口令];

例子:
alter user test identified by 123456;

二、删除用户

语法:drop
user 用户名;

例子:drop
user test;

若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。

语法:

drop user 用户名 cascade;

例子:

drop user test cascade;

三、授权角色

oracle为兼容以前版本,提供三种标准角色(role):connect/resource和dba.

(1)讲解三种标准角色:

1》. connect role(连接角色)

--临时用户,特指不需要建表的用户,通常只赋予他们connect role.

--connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select/insert/update和delete等。

--拥有connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)和其他  数据的链(link)

2》. resource role(资源角色)

--更可靠和正式的数据库用户可以授予resource role。

--resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

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

--dba role拥有所有的系统权限

--包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有

(2)授权命令

语法: grant connect, resource to 用户名;

例子: grant connect, resource to test;

(3)撤销权限

语法: revoke connect, resource from 用户名;

列子: revoke connect, resource from test;

四、创建/授权/删除角色

除了前面讲到的三种系统角色----connect、resource和dba,用户还可以在oracle创建自己的role。用户创建的role可以由表或系统权限或两者的组合构成。为了创建role,用户必须具有create role系统权限。

1》创建角色

语法: create role 角色名;

例子: create role testRole;

2》授权角色

语法: grant select on class to 角色名;

列子: grant select on class to testRole;

注:现在,拥有testRole角色的所有用户都具有对class表的select查询权限

3》删除角色

语法: drop role 角色名;

例子: drop role testRole;

注:与testRole角色相关的权限将从数据库全部删除

权限:

  create session

  create table

  unlimited tablespace

  connect

  resource

  dba

  例:

  #sqlplus /nolog

  SQL> conn / as sysdba;

  SQL>create user username identified by password

  SQL> grant dba to username;

  SQL> conn username/password

  SQL> select * from user_sys_privs;

  我们将从创建Oracle用户权限表开始谈起,然后讲解登陆等一般性动作,使大家对Oracle用户权限表有个深入的了解。

  一、创建

  sys;//系统管理员,拥有最高权限

  system;//本地管理员,次高权限

  scott;//普通用户,密码默认为tiger,默认未解锁

  二、登陆

  sqlplus / as sysdba;//登陆sys帐户

  sqlplus sys as sysdba;//同上

  sqlplus scott/tiger;//登陆普通用户scott

  三、管理用户

  create user zhangsan;//在管理员帐户下,创建用户zhangsan

  alert user scott identified by tiger;//修改密码

  四,授予权限

  1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限

  

  grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限

  grant unlimited tablespace to zhangsan;//授予zhangsan用户使用表空间的权限

  grant create table to zhangsan;//授予创建表的权限

  grante drop table to zhangsan;//授予删除表的权限

  grant insert table to zhangsan;//插入表的权限

  grant update table to zhangsan;//修改表的权限

  grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public)

  2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权

  

  grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限

  grant drop on tablename to zhangsan;//授予删除表的权限

  grant insert on tablename to zhangsan;//授予插入的权限

  grant update on tablename to zhangsan;//授予修改表的权限

  grant insert(id) on tablename to zhangsan;

  grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update

  grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限

  五、撤销权限

  基本语法同grant,关键字为revoke

  六、查看权限

  select * from user_sys_privs;//查看当前用户所有权限

  select * from user_tab_privs;//查看所用用户对表的权限

  七、操作表的用户的表

  

  select * from zhangsan.tablename

  八、权限传递

  即用户A将权限授予B,B可以将操作的权限再授予C,命令如下:

  grant alert table on tablename to zhangsan with admin option;//关键字 with admin option

  grant alert table on tablename to zhangsan with grant option;//关键字 with grant option效果和admin类似

  九、角色

  角色即权限的集合,可以把一个角色授予给用户

  create role myrole;//创建角色

  grant create session to myrole;//将创建session的权限授予myrole

  grant myrole to zhangsan;//授予zhangsan用户myrole的角色

  drop role myrole;删除角色

Oracle建立表空间和用户

[sql] view plain copy

  1. 建立表空间和用户的步骤:
  2. 用户
  3. 建立:create user 用户名 identified by "密码";
  4. 授权:grant create session to 用户名;
  5. grant create table to  用户名;
  6. grant create tablespace to  用户名;
  7. grant create view to  用户名;

[sql] view plain copy

  1. 表空间
  2. 建立表空间(一般建N个存数据的表空间和一个索引空间):
  3. create tablespace 表空间名
  4. datafile ‘ 路径(要先建好路径)\***.dbf  ‘ size *M
  5. tempfile ‘ 路径\***.dbf ‘ size *M
  6. autoextend on  --自动增长
  7. --还有一些定义大小的命令,看需要
  8. default storage(
  9. initial 100K,
  10. next 100k,
  11. );

[sql] view plain copy

  1. 例子:创建表空间
  2. create tablespace DEMOSPACE
  3. datafile ‘E:/oracle_tablespaces/DEMOSPACE_TBSPACE.dbf‘
  4. size 1500M
  5. autoextend on next 5M maxsize 3000M;
  6. 删除表空间
  7. drop tablespace DEMOSPACE including contents and datafiles

[sql] view plain copy

  1. 用户权限
  2. 授予用户使用表空间的权限:
  3. alter user 用户名 quota unlimited on 表空间;
  4. 或 alter user 用户名 quota *M on 表空间;

完整例子:

[sql] view plain copy

  1. --表空间
  2. CREATE TABLESPACE sdt
  3. DATAFILE ‘F:\tablespace\demo‘ size 800M
  4. EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
  5. --索引表空间
  6. CREATE TABLESPACE sdt_Index
  7. DATAFILE ‘F:\tablespace\demo‘ size 512M
  8. EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
  9. --2.建用户
  10. create user demo identified by demo
  11. default tablespace std;
  12. --3.赋权
  13. grant connect,resource to demo;
  14. grant create any sequence to demo;
  15. grant create any table to demo;
  16. grant delete any table to demo;
  17. grant insert any table to demo;
  18. grant select any table to demo;
  19. grant unlimited tablespace to demo;
  20. grant execute any procedure to demo;
  21. grant update any table to demo;
  22. grant create any view to demo;

[sql] view plain copy

    1. --导入导出命令
    2. ip导出方式: exp demo/[email protected]:1521/orcl file=f:/f.dmp full=y
    3. exp demo/[email protected] file=f:/f.dmp full=y
    4. imp demo/[email protected] file=f:/f.dmp full=y ignore=y
时间: 2024-10-08 09:29:40

Oracle创建用户、角色、授权、建表空间的相关文章

oracle 创建用户和imp指定表空间

创建用户: 1,sqlplus sys/pwd as sysdba; 2, create user username identified by password; 3, grant dba,connect,resource to username; 查看表空间使用情况: SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BY

oracle 创建用户,授权用户,创建表,查询表

原文:oracle 创建用户,授权用户,创建表,查询表 假设oracle10g所有的都已经安装和配置好 第一步:win+R,进入运行,cmd; 第二步:连接超级管理员sysdba,语句sqlplus / as sysdba; 第三步:(假设连接成功)  输入conn / as sysdba; 第四步:(显示连接成功)create user bony identified by b123; 第五步:grant resource,connect to bony; 第六步:conn bony/b123

Oracle 创建用户并且授权

以sysdba登陆 创建用户:CREATE USER username IDENTIFIED BY password; 授予(角色)权限:GRANT CONNECT,RESOURCE TO username; 注:oracle有三类标准角色:CONNECT,RESOURCE,DBA 当然用户自己(只要拥有权限),可以自己创建角色并赋予相应权限. Oracle 创建用户并且授权,布布扣,bubuko.com

2. orcle创建用户并设置默认表空间

CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE tablespacename TEMPORARY TABLESPACE "temptablespacename"; 2. orcle创建用户并设置默认表空间

Oracle 创建用户并授权

1.创建表空间 create tablespace testSpace datafile 'D:\test.dbf' size 100M autoextend on next 50M; 说明: testSpace:表空间名 datafile 数据库文件及路径 2.创建用户,并设置默认表空间 create user test identified by test default tablespace testSpace 说明: user后的test是用户名 by后的test 是 密码 3.授权 g

oracle创建用户、授权、导入、导出命令总结

1.创建用户 需要先用system用户登录数据库,因为system用户具有创建其他用户的权限. 语法[创建用户]: create user 用户名 identified by 口令[即密码]: 例子: create user dhjw identified by 123456; 语法[更改用户]: alter user 用户名 identified by 口令[改变的口令]; 例子: alter user dhjw identified by dhjw ; 2.删除用户 语法:drop user

GreenPlum 数据库创建用户、文件空间、表空间、数据库

前几篇文章介绍了GreenPlum数据库的安装.启动.关闭.状态检查.登录等操作,数据库已经创建好了,接下来介绍如何使用数据库.按照习惯,需要先创建测试用户.表空间.数据库.先创建测试用户dbdream. view source 1 postgres=# create role dbdream password 'dbdream' createdb login; 2 NOTICE:  resource queue required -- using default resource queue

oracle查看用户所占用的表空间

select * from (select owner || '.' || tablespace_name name, sum(b) g from (select owner, t.segment_name, t.partition_name, round(bytes / 1024 / 1024 / 1024, 2) b, tablespace_name from dba_segments t) where owner not in ('SYS', 'OUTLN', 'SYSTEM', 'TSM

Oracle创建用户、角色、授权、建表

oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限.对象权限( database object privilege )可以让用户能够对各个对象进行某些操作.例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表.视图.序列(sequences)或快照

oracle 建表空间->创建用户并把表空间分配给用户->给用户授权->导库

首先注意:我参考网上使用的sysdba模式(normal)登陆的,其他的模式建不了用户(个人没有进行其他模式的表空间尝试,如有人尝试欢迎补充,感激不尽) 表空间相当于表的容器(一下所有的操作都适用于oracle10g): --建表空间 create tablespace SOA                        --soa是表空间的名字 datafile 'D:\ a.dbf' size 50m                     --  'D:\ a.dbf' 表空间的存储路径