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角色相关的权限将从数据库全部删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux服务器3306端口,linux系统对外开放3306、8080等端口,防火墙设置详解

linux系统对外开放3306、8080等端口,防火墙设置详解发布时间:2020-10-10 23:08:49来源:脚本之家阅读:141作者:julielele栏目:服务器我们很多时候在liunx系统上安装了web服务应用后(如tomcat、apache等)&…

hdu--1231--并查集连分量的个数

我觉得 这题 是纯粹的 并查集 可以算成 入门题吧 问你有几章桌子 就是问你有几个 连通块嘛 一个道理 touch me 这题 我采用了下 father[x]开始 初始化为-1 1 #include <iostream>2 #include <cstring>3 using namespace std;4 5 const int size 1010;6 int fathe…

linux查询服务器的dns,如何查看Linux系统中DNS服务器的运行状况

DNS是分布式数据库&#xff0c;可以让用户们方便访问互联网&#xff0c;而主机的dns服务器也直接影响了我们上网及访问网站的速度&#xff0c;那么你知道如何查看Linux系统中DNS服务器的运行状况吗&#xff1f;在Linux环境下&#xff0c;也提供了广泛流行的BIND服务器&#xff…

landscape 1

1. 创建出landscape的分层材质2. 把材质添加给landscape后&#xff0c;可以在landscape的画刷模式下看到3. 通过点击右侧的加号&#xff0c;依次添加layer后&#xff0c;就可以使用他们进行地形的绘制。 通过右键菜单可以快速填充和清除对应的layer4. 用下面的方法修改材质的法…

linux进程和线程教程,Linux下查看进程和线程

在Linux中查看线程数的三种方法1、top -H手册中说&#xff1a;-H : Threads toggle加上这个选项启动top&#xff0c;top一行显示一个线程。否则&#xff0c;它一行显示一个进程。2、ps xH手册中说&#xff1a;H Show threads as if they were processes这样可以查看所有存在的线…

ORA-12154: TNS: 无法解析指定的连接标识符

相信使用过Oracle数据库的人一定碰到过“ORA-12154: TNS: 无法解析指定的连接标识符”错误&#xff0c;我在此做一个小小的总结。在程序中连接Oracle数据库的方式与其他常用数据库&#xff0c;如&#xff1a;MySql,Sql Server不同&#xff0c;这些数据库可以通过直接指定IP的方…

任务管理器启动资源管理器

今天远程桌面登录windows服务器竟然发现没有Windows Explorer&#xff08;资源管理器&#xff09;了&#xff01;桌面啥的都没有&#xff0c;只有几个孤零零的命令行窗口。。。 输入ctrlaltend启动远程桌面的任务管理器&#xff0c;选择File->run new task 输入explorer.exe…

linux无后缀名程序运行,linux – 如何在Ubuntu上运行无扩展(也许是ELF)文件?

我的猜测是这是64位系统上的32位编译.我使用gcc上的-m32选项将一个小的c文件交叉编译成二进制文件.这还需要一些额外的包.结果a.out看起来像这样.% file a.outa.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linu…

oracle 11g exp 报错 EXP-00056;ORA-12154;EXP-00000;

在Oracle学习过程中&#xff0c;使用exp导出数据&#xff0c;使用如下命令&#xff1a;[plain] view plaincopyexp username/passworddatabase_name filed:\filename.dmp buffer1048000 tables(tablename) query\"where key in (value1)\"; 出现错误提示&#xff1…

mysql设置

设置mysql不区分大小写 http://blog.163.com/pursue100yeah/blog/static/165732158201101641221182/ 在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names1&#xff0c;重启MYSQL服务&#xff0c;这时已设置成功&#xff1a;不区分表名的大小写&#xff1b; 转载于:ht…

双网卡绑定linux7.2,CentOS 7.2 bond实现网卡聚合链路(双网卡绑定)脚本及验证(适合云平台)...

使用bond实现网卡聚合链路脚本:#!/bin/bash#创建一个名为bond0的链路接口IP192.168.101.1GATE192.168.101.254ETH1eno1ETH2eno2ETH3eno3ETH4eno4modprobebondingcat</etc/sysconfig/network-scripts/ifcfg-bond0DEVICEbond0TYPEBondNAMEbond0BONDING_MASTERyesBOOTPROTOstat…

Oracle的Net Configuration Assistant 配置

在进行团队开发的时候&#xff0c;一般团队的每一个人只需要安装一个客户端即可&#xff0c;没有必要安装一个Oracle 数据库服务器&#xff0c;而数据库服务器是属于共享的&#xff0c;此时&#xff0c;我们就需要配置客户端。客户端的配置可以有以下两种方式&#xff1a;第一种…

windows下hadoop的单机伪分布式部署(3)

下面介绍myeclipse与hadoop的集成。 我用的myeclipse版本是8.5. 1、安装hadoop开发插件 在hadoop1.2.1版本的安装包contrib/目录下&#xff0c;已经不再提供hadoop-eclipse-pligin-1.2.1.jar; 而是提供了源代码文件&#xff0c;需要我们自行重新编译成jar包文件&#xff1b;这里…

linux修改grub权限,linux下肿么修改grub.cfg

一、grub2的启动配置文件grub.cfggrub2的启动配置文件grub.cfg是/boot/grub/grub.cfg&#xff0c;而不是以前的memu.lst。如果你是多系统&#xff0c;有Ubuntu和windows&#xff0c;那么用下面的命令&#xff0c;可以使grub2得到所以可以启动的系统。sudo update-grub实际就是让…

使用DBCA创建数据库

&#xff08;1&#xff09;选择“开始”—>“程序”—>Oracle-Oracle10g_home1—>配置和移植工具—>Database Configuration Assistant命令&#xff0c;启动DBCA&#xff0c;出现“欢迎使用”窗口&#xff0c;如图1&#xff1a;图1 &#xff08;2&#xff09;单击“…

TCL 中upvar 用法 (摘自http://www.cnblogs.com/kane1990/archive/2011/12/19/2293981.html)

可以用 upvar 命令模拟传引用调用的行为&#xff0c;这对数组特别有用。如果a是一个数组&#xff0c;就不能像myproc $a这样把它传给过程myproc&#xff0c;因为并没有 对应整个数组的值&#xff1b;只有对应各个数组元素的值。 但是可以把数组名传给过程&#xff0c;myproc a&…

linux-2.6.32.2内核在mini2440上的移植,Linux2.6.32.2移植到Mini2440

1.移植内核的准备工作(1)使用的环境操作系统&#xff1a;Fedora 10交叉编译工具使用&#xff1a;arm-linux-gcc-4.3.2(2)获取内核有很多方式可以获取 Linux 内核源代码,如果你的 Fedora10 平台可以上互联网,可以直接在命令行输入以下命令获取到最原汁原味的 Linux-2.6.32.2:#wg…

SliceProceduralMesh的使用

1. 构建一个actor&#xff0c;里面添加一个被切割的static mesh&#xff0c;比如一个立方体&#xff0c;再添加一个proceduralmesh。 然后在构造函数里面添加下面代码&#xff0c;将static mesh拷贝到proceduralmesh里。 另外将static mesh的hidden in game属性加上&#xff0c…

asp.net读取xml方法

这个适合刚学asp.net的同学&#xff0c;大神直接略过好了&#xff0c;asp.net经常会有很多用到XML的地方&#xff0c;比如全国省市的联动&#xff0c;以及一些菜单读取等等都有xml的影子&#xff0c;直接贴代码&#xff0c;以便我以后用到的时候忘了&#xff0c;注释我写得很清…

linux parallel 命令,Linux 并行处理神器 GNU Parallel 简明教程

Bash命令通常单线程运行&#xff0c;这意味着所有的处理工作只在单个 CPU 上执行。随着 CPU 规模的扩大以及核心数目的增加&#xff0c;这意味着只有一小部分的 CPU 资源用于处理任务&#xff0c;这样就造成了很大的资源浪费。 这种情况在进行多媒体转换(比如&#xff1a;图片和…