zoukankan      html  css  js  c++  java
  • 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常用命令大全(很有用,做笔记)
    表格驱动编程在代码中的应用
    mac 利用svn下载远程代码出现Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
    FAILURE: Build failed with an exception.
    There is an internal error in the React performance measurement code.Did not expect componentDidMount timer to start while render timer is still in progress for another instance
    react native TypeError network request failed
    Android向系统相册中插入图片,相册中会出现两张 一样的图片(只是图片大小不一致)
    react-native Unrecognized font family ‘Lonicons’;
    react-native SyntaxError xxxxx/xx.js:Unexpected token (23:24)
    Application MyTest has not been registered. This is either due to a require() error during initialization or failure to call AppRegistry.registerComponent.
  • 原文地址:https://www.cnblogs.com/grisa/p/10043377.html
Copyright © 2011-2022 走看看