上文我们已经建立了名为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 数据库中(创建、解锁、授权、删除)用户的更多相关文章

  1. Oracle数据库之创建表空间与用户

    Oracle数据库之创建表空间与用户 一.创建表空间 基本语法表述: CREATE TABLESPACE tablespace_name [DATAFILE datafile_spec1 [,data ...

  2. oracle数据库中创建表空间和临时表空间,以及用户和密码以及设置密码永不过期

    首先进入oracle用户,命令是: su - oracle sqlplus /nolog connect system/123456@ora11g 或者 [oracle@localhost ~]$   ...

  3. Oracle数据库中创建表空间语句

    1:创建临时表空间 create temporary tablespace user_temp tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj ...

  4. 在oracle数据库中创建DBLink

    涉及到两个数据库之间的访问时,可以创建datebase link来互相访问. ’创建方法: 1.通过PL/SQL客户端,找到datebase link,右键新建 输入相应信息 2.直接用命令行创建 一 ...

  5. Oracle数据库中SYS、SYSTEM、DBSNMP、SYSMAN四用户的区别

    [转]   SYS.SYSTEM.DBSNMP. Oracle 数据库中 SYS.SYSTEM.DBSNMP.SYSMAN 四用户的区别 用户: SYS 用户: SYS,默认密码为 CHANGE_ON ...

  6. 在mysql数据库中创建oracle scott用户的四个表及插入初始化数据

    在mysql数据库中创建oracle scott用户的四个表及插入初始化数据 /* 功能:创建 scott 数据库中的 dept 表 */ create table dept( deptno int ...

  7. 在mysql数据库中创建Oracle数据库中的scott用户表

    在mysql数据库中创建Oracle数据库中的scott用户表 作者:Eric 微信:loveoracle11g create table DEPT ( DEPTNO int(2) not null, ...

  8. MySql添加用户,新建数据库,用户授权,删除用户,修改密码

    转自:http://www.cnblogs.com/fly1988happy/archive/2011/12/15/2288554.html MySql中添加用户,新建数据库,用户授权,删除用户,修改 ...

  9. 如何在Oracle数据库中查看哪些用户在执行哪些SQL

    对于DBA来说,这是一个非常常见的问题,DBA需要找出以下问题: 1.哪些用户在跑哪些SQL? 2.一个特定的SQL是被哪个用户在执行? 3.一个特定的用户在跑哪些SQL? 从这些问题中可以很明显的看 ...

随机推荐

  1. POJ 3126 Prime Path bfs, 水题 难度:0

    题目 http://poj.org/problem?id=3126 题意 多组数据,每组数据有一个起点四位数s, 要变为终点四位数e, 此处s和e都是大于1000的质数,现在要找一个最短的路径把s变为 ...

  2. MATLAB 批量处理图片

    function resizephotos(directory, wh, isrecursive, isoverwrite, savetopath, supportFormat) % resizeph ...

  3. JDBC:随机生成车牌号,批量插入数据库

    package InsertTest; /* * 单客户端:批量插入 */ import java.sql.Connection; import java.sql.DriverManager; imp ...

  4. JDK1.8源码逐字逐句带你理解LinkedHashMap底层

    注意 我希望看这篇的文章的小伙伴如果没有了解过HashMap那么可以先看看我这篇文章:http://blog.csdn.net/u012403290/article/details/65442646, ...

  5. :状态模式:GumballMachine

    #ifndef __STATE_H__ #define __STATE_H__ #include <iostream> #include<stdlib.h> using nam ...

  6. 用mysql存储过程代替递归查询

    查询此表某个id=4028ab535e370cd7015e37835f52014b(公司1)下的所有数据 正常情况下,我们采用递归算法查询,如下 public void findCorpcompany ...

  7. linux,windows下日志文件查找关键词

    1.查找 /apps/tomcat/tomcat3/apache-tomcat-7.0.69/logs 目录下已.txt结尾的文件,在文件中搜索关键字 IfcmpEcrService并打印行号 /lo ...

  8. CodeForces - 429A Xor-tree

    Iahub is very proud of his recent discovery, propagating trees. Right now, he invented a new tree, c ...

  9. Java学习笔记26(异常)

    异常的定义: Java代码在运行过程中发生的问题就是异常 异常类:出现问题就会常见异常类对象,并抛出异常的相关信息,异常的位置,原因 异常体系: Throwable类是java中所有错误或异常的父类 ...

  10. L1-028. 判断素数

    本题的目标很简单,就是判断一个给定的正整数是否素数. 输入格式: 输入在第一行给出一个正整数N(<=10),随后N行,每行给出一个小于231的需要判断的正整数. 输出格式: 对每个需要判断的正整 ...