oracle 数据库中(创建、解锁、授权、删除)用户
上文我们已经建立了名为orcl66的数据库。
想要在数据库中创建、修改用户需要我们以管理员权限登录到数据库中。
首先我们通过sqlplus命令登录连接数据库。

输入sqlplus命令--用户名: sys as sysdba (回车)--口令:(任意字符都可以登录)
登陆成功后就可以创建新用户了。(我们是以sys用户下DBA权限登入,可以根据需求对用户名、密码、权限等进行修改)

一、如何创建用户
语法[创建用户]: create user 用户名 identified by 口令[即密码];
大家注意看一下我下面犯的错误

1)create user bpmis_test identified by 123 无法执行(原因是没有;)
2)create user bpmis_test identified by 123@;提示ORA-00922(原因是ORACLE数据库中默认不予许有特殊字符如@、%、&、¥、#等字符)
有特殊字符的话,需要密码用3个双引号括起来,或者用一个双引号括起来,然后用 \ 将双引号进行转义!!!
(比如:sqlplus sys/\"123@"@oracl66 as sysdba)
(正常密码:sqlplus sys/123@oracl66 as sysdba)

创建用户,修改用户密码。
语法[更改用户]: 用户名 identified by 口令[改变的口令];
alter user bpmis_test identified by test;
我们将上图中密码123改为了test。

二 解锁用户
语法[锁定用户]:alter user 用户名 account lock[锁定];

语法[解锁用户]:alter user 用户名 account unlock[解锁];

三、用户授权
设置用户权限
DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限
1)授予权限:
语法:grant DBA[用户权限] to 用户名;

2)收回权限:
语法: revoke DBA[用户权限] from 用户名;

四、删除用户
语法:DROP USER 用户名;
(执行该语句请小心,会级联删除该用户下所有对象)

总结:一般情况下我们创建新用户的操作流程。
1)使用管理员账户登录连接数据库:
cmd--sqlplus--用户名:sys as sysdba--输入口令:任意字符
登入连接
2)建立新的用户,并设定密码。
sql--create user bpmis_test identified by test;
3)解锁新用户(此步骤也可忽略,以防被锁定)
sql--alter user bpmis_test account unlock;
4)给新建用户授权。(此例为管理员用户,分别授予三种权限)
sql--grant dba,connect,resource to bpmis_test;

知识拓展:
知识点及常用的命令如下:
1)通常情况我们称的“数据库”,并不仅指物理的数据集合,他包含物理数据、数据库管理系统。也即物理数据、内存、操作系统进程的组合体。
查询当前数据库名:
select name from v$database;
2)“数据库实例”其实就是用来访问和使用数据库的一块进程,它只存在于内存中。就像Java中new出来的实例对象一样。
我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,如果没有,就会得到实例不可用的错误。
实例名指的是用于响应某个数据库操作的数据库管理系统的名称。她同时也叫SID。实例名是由参数instance_name决定的。
查询当前数据库实例名:
select instance_name from v$instance;
3)“表空间” Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。
有了数据库,就可以创建表空间。
表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。
创建表空间语法:
Create TableSpace 表空间名称
DataFile 表空间数据文件路径
Size 表空间初始大小
Autoextend on
查看已经创建好的表空间:
select default_tablespace, temporary_tablespace,
d.username from dba_users d;
查看当前用户的缺省表空间:
select
username,default_tablespace from user_users;
4)Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。
上面我们建好了数据库和表空间,接下来建用户:
语法[创建用户]: create user 用户名 identified by 口令[即密码];
查看数据库用户:
select * from dba_users;
切换到新创建的用户登陆
语法:CONNECT 用户名/密码 ;
connect 用户名/密码;
oracle 数据库中(创建、解锁、授权、删除)用户的更多相关文章
- Oracle数据库之创建表空间与用户
Oracle数据库之创建表空间与用户 一.创建表空间 基本语法表述: CREATE TABLESPACE tablespace_name [DATAFILE datafile_spec1 [,data ...
- oracle数据库中创建表空间和临时表空间,以及用户和密码以及设置密码永不过期
首先进入oracle用户,命令是: su - oracle sqlplus /nolog connect system/123456@ora11g 或者 [oracle@localhost ~]$ ...
- Oracle数据库中创建表空间语句
1:创建临时表空间 create temporary tablespace user_temp tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj ...
- 在oracle数据库中创建DBLink
涉及到两个数据库之间的访问时,可以创建datebase link来互相访问. ’创建方法: 1.通过PL/SQL客户端,找到datebase link,右键新建 输入相应信息 2.直接用命令行创建 一 ...
- Oracle数据库中SYS、SYSTEM、DBSNMP、SYSMAN四用户的区别
[转] SYS.SYSTEM.DBSNMP. Oracle 数据库中 SYS.SYSTEM.DBSNMP.SYSMAN 四用户的区别 用户: SYS 用户: SYS,默认密码为 CHANGE_ON ...
- 在mysql数据库中创建oracle scott用户的四个表及插入初始化数据
在mysql数据库中创建oracle scott用户的四个表及插入初始化数据 /* 功能:创建 scott 数据库中的 dept 表 */ create table dept( deptno int ...
- 在mysql数据库中创建Oracle数据库中的scott用户表
在mysql数据库中创建Oracle数据库中的scott用户表 作者:Eric 微信:loveoracle11g create table DEPT ( DEPTNO int(2) not null, ...
- MySql添加用户,新建数据库,用户授权,删除用户,修改密码
转自:http://www.cnblogs.com/fly1988happy/archive/2011/12/15/2288554.html MySql中添加用户,新建数据库,用户授权,删除用户,修改 ...
- 如何在Oracle数据库中查看哪些用户在执行哪些SQL
对于DBA来说,这是一个非常常见的问题,DBA需要找出以下问题: 1.哪些用户在跑哪些SQL? 2.一个特定的SQL是被哪个用户在执行? 3.一个特定的用户在跑哪些SQL? 从这些问题中可以很明显的看 ...
随机推荐
- POJ 3126 Prime Path bfs, 水题 难度:0
题目 http://poj.org/problem?id=3126 题意 多组数据,每组数据有一个起点四位数s, 要变为终点四位数e, 此处s和e都是大于1000的质数,现在要找一个最短的路径把s变为 ...
- MATLAB 批量处理图片
function resizephotos(directory, wh, isrecursive, isoverwrite, savetopath, supportFormat) % resizeph ...
- JDBC:随机生成车牌号,批量插入数据库
package InsertTest; /* * 单客户端:批量插入 */ import java.sql.Connection; import java.sql.DriverManager; imp ...
- JDK1.8源码逐字逐句带你理解LinkedHashMap底层
注意 我希望看这篇的文章的小伙伴如果没有了解过HashMap那么可以先看看我这篇文章:http://blog.csdn.net/u012403290/article/details/65442646, ...
- :状态模式:GumballMachine
#ifndef __STATE_H__ #define __STATE_H__ #include <iostream> #include<stdlib.h> using nam ...
- 用mysql存储过程代替递归查询
查询此表某个id=4028ab535e370cd7015e37835f52014b(公司1)下的所有数据 正常情况下,我们采用递归算法查询,如下 public void findCorpcompany ...
- linux,windows下日志文件查找关键词
1.查找 /apps/tomcat/tomcat3/apache-tomcat-7.0.69/logs 目录下已.txt结尾的文件,在文件中搜索关键字 IfcmpEcrService并打印行号 /lo ...
- CodeForces - 429A Xor-tree
Iahub is very proud of his recent discovery, propagating trees. Right now, he invented a new tree, c ...
- Java学习笔记26(异常)
异常的定义: Java代码在运行过程中发生的问题就是异常 异常类:出现问题就会常见异常类对象,并抛出异常的相关信息,异常的位置,原因 异常体系: Throwable类是java中所有错误或异常的父类 ...
- L1-028. 判断素数
本题的目标很简单,就是判断一个给定的正整数是否素数. 输入格式: 输入在第一行给出一个正整数N(<=10),随后N行,每行给出一个小于231的需要判断的正整数. 输出格式: 对每个需要判断的正整 ...