• oracle 解锁、登陆、链接等+oracle用户管理


    1、常用命令

    安装完成oracle后,

    点击开始

    打开sol plus 后

    密码是隐藏的

    数据库链接成功

    我们使用的是scott用户

     alter user scott account unlock;----------------------------------------------解锁
    commit;切记:后面的commit一定不要忘了,否则是无效滴

    alter user scott identified by 123;---------------------------------------------更改密码
    conn scott;------------------------------------------------------------------------使用scott用户

    修改用户密码

    这个还是很常用滴,话不多说,往下看图;



    切记:还是commit别忘了

    2、用户管理

     

     (1)创建用户:create user 用户名identified by 密码;

    新建的用户是没有任何权限的,包括连接数据库的权限。所以需要给予开通权限:

     

    (2)赋予用户连接数据库的权限:grant create session to zhansgan;

     

    赋予用户dba的角色:grant dba to zhangsan;

    dba是数据库管理员,它除了重启数据库 修改字符集的权限没有外 具有其它全部权限

     

    (3)修改密码

    oracle中如果要修改自己的密码直接使用passw[ord]命令,如果要修改其他用户的密码则必须具备dba角色或alteruser权限

    修改其他用户的密码

    语法:alter user 用户名 identified by 密码;

     

    (4)解锁用户/锁定用户

    解锁用户: alter user 用户名account unlock;

    锁定用户:alter user 用户名 account lock;

    (5)

     

    ----------角色权限:dba 管理员

     

    ---------------- connect:连接数据库

     

    -----------------resource: 创建表的权限

     

    ----------------案例1:创建用户abc1,并赋予他连接数据库和创建表的权限。

     

    步骤:

     

    1. sys管理员连接数据库:conn sys/system as sysdba;

     

    2. 新建用户abc1create user abc1 identified by 123;

     

    3. abc1用户授权:

     

    Grant  connectresource  to  abc1;

     

     

    ---------------案例2: 授予abc1 查询scott 用户emp表的权限。

     

    步骤:

     

    1.       sys管理员连接数据库:conn sys/system as sysdba;

     

    2.       abc1用户授权:

     

    grant  select  on  scott.emp  to  abc1;

     

    ---------------案例3: 授予abc1用户scottemp表的所有权限。

     

    步骤:

     

    1. sys管理员连接数据库:conn sys/system as sysdba;

     

    2. abc1用户授权:

     

    grant all on scott.emp to abc1;

     

    3. abc1 连接数据库:conn abc1/abc1;

     

    4. scott emp表中插入一条数据:

     

    insert into scott.emp(empno,ename) values(123, ‘zhangsan’);

     

    (6)回收权限

     

    Oracle中只有管理员才可以回收权限。

     

    语法:revoke 权限/角色from 用户名;

     

    --------------案例1: 回收abc1对于scottemp表的所有权限。

     

    步骤:

     

    1. sys管理员连接数据库: conn sys/system as sysdba;

     

    2. 撤销abc1的权限:revoke all on scott.emp fromabc1;

     

    3. 连接abc1conn abc1/abc1;

     

    4. 查询下scott 用户的emp表:select * from scott.emp;

     

    -------------案例2: 回收abc1对于连接数据库的权限。

     

    步骤:

     

    1.       sys管理员连接数据库: conn sys/system as sysdba;

     

    2.       撤销abc1的权限:revoke connect from abc1;

     

    3.       abc1连接数据库:conn abc1/abc1;

     

    (7)给其他用户授权的能力

     

    with admin option: 授予系统相关的admin权限

     

    with grant option:授予对象相关的grant 权限

     

     

     

    语法:grant 权限to 用户名 with admin option;

     

      grant 权限 to 用户名with grant option;

     

    --------------案例.1:给abc1赋予连接数据库,创建表和授予别的用户的权限的权限,并授予abc2用户连接数据库的权限。

     

    步骤:

     

    1.       sys管理员连接数据库: conn sys/system as sysdba;

     

    2.       abc1用户授权: grant create sessioncreate table to abc1 with adminoption;

     

    3.       创建用户abc2createuser abc2 identified by abc2;

     

    4.       abc1连接数据库: conn abc1/abc1;

     

    5.       abc1abc2授权create sessiongrant create session to abc2;

     

    6.       abc2连接数据库:conn abc2/abc2;

     

     

     

    --------------案例2:给abc1赋予scott用户下emp表的所有权限和授予别人权限的权限,并给abc3用户授予scott用户下emp表的所有权限。

     

    步骤:

     

    1.       sys管理员连接数据库: conn sys/system as sysdba;

     

    2.       abc1用户授权: grant all on scott.emp to abc1with grant option;

     

    3.       创建用户abc3createuser abc3 identified by abc3;

     

    4.       abc3用户授予连接数据库的权限:grant create session to abc3;

     

    5.       abc1连接数据库: conn abc1/abc1;

     

    6.       abc1abc3授权all on scott.emp grant all on scott.emp to abc3;

     

    7.       abc3连接数据库:conn abc3/abc3;

     

    8.       abc3查询scott用户下emp表的内容:select * from scott.emp;

     

     

    (8)查询当前有多少用户(必须用管理员身份才可以查询)

    Select *from all_users;

    查询dba:select * from dba_users;

    查询当前用户的信息:select * from user_users;

     

     

     

  • 相关阅读:
    sqlite
    c++primer
    c++ std find_last_of
    c语言
    boost serialization
    ssh autologin
    c/c++文件相关
    AndroidTreeView等例子
    and
    解决Gradle 依赖下载慢以及android开发释放c盘空间及android虚拟机访问网络--以及访问本机
  • 原文地址:https://www.cnblogs.com/yang1182/p/9583428.html
Copyright © 2020-2023  润新知