zoukankan      html  css  js  c++  java
  • Lab 2 : Oracle Authorization

    1.准备

    本实验假定您已安装docker并设置了oracle容器,如“ Oracle Docker Overview”实验中所示。 此外,还应下载SQL Developer

    如果Oracle docker容器当前未运行,请启动它

    docker run --name oracle-xe -d -p 51521:1521 -v oracle_vol:/opt/oracle/oradata kamiljedrzejuk/oracle18c-xe-initialized

    2.创建可插拔数据库

    在命令提示符下,启动到Oracle docker容器的交互式shell

    docker exec -it oracle-xe /bin/sh

    设置SQL plus路径

    echo "export PATH=$PATH:$ORACLE_HOME/bin/">/home/oracle/.bashrc

    以sys帐户启动SQLPlus

    su oracle 
    sqlplus / as sysdba

    创建一个名为SALESPDB的可插拔数据库。 我们将SEED可插拔数据库(/ opt / oracle / oradata / XE / pdbseed)用作创建新鲜可插拔数据库的模板,并指定新PDB的数据文件位于/ opt / oracle / oradata / XE / SALESPDB在容器内。

    CREATE PLUGGABLE DATABASE SALESPDB ADMIN USER salesadm IDENTIFIED BY oracle FILE_NAME_CONVERT ('/opt/oracle/oradata/XE/pdbseed','/opt/oracle/oradata/XE/SALESPDB');

    创建PDB后检查状态。 您可以使用sqlplus中的column命令将“名称”列的列宽格式设置为30个字符宽

    column name format a30 
    select name, open_mode FROM v$PDBS;

     执行以下语句以打开PDB进行读写

    ALTER PLUGGABLE DATABASE salespdb open;

    3.在SALESPDB下创建表空间

    在SQL Developer中以系统用户身份登录。 更改为可插入数据库SALESPDB

    alter session set container=SALESPDB;

     显示表空间

    select tablespace_name from dba_tablespaces;

    新建表空间USERS

    CREATE TABLESPACE USERS DATAFILE '/opt/oracle/oradata/XE/SALESPDB/users.dbf' SIZE 1m ;

    现在,USERS表空间将出现在可插入数据库SALESPDB的dba_tablespaces中。

    The USERS tablespace will now appear in dba_tablespaces inside the pluggable database SALESPDB.

     显示与创建的表空间关联的数据文件

    select file_name, tablespace_name from DBA_DATA_FILES;

    4.用户和特权

    4.1创建用户mickey

    作为系统用户,使用创建的表空间作为默认表空间,用密码“ mickey”创建用户“ mickey”

    create user mickey identified by mickey default tablespace users temporary tablespace temp;

    4.2登录Mickey

    在主机计算机上打开命令提示符,尝试使用sqlplus以micky身份登录

    sqlplus mickey/mickey@localhost:51521/SALESPDB

     “ mickey”帐户当前没有“创建会话”权限。

    4.3授予创建会话系统特权

    作为SYSTEM用户,向micky授予权限

    grant create session to mickey ;

    通过查询DBA_SYS_PRIVS视图显示授予的系统特权

    select * from DBA_SYS_PRIVS where GRANTEE = 'MICKEY';

    4.4以Micky身份登录

    在主机的命令提示符下,尝试再次以mickey身份登录。 登录应该成功。但是创建表时权限不足

    4.5将资源分配给Micky

    以系统用户身份,显示与“ RESOURCE”角色相关联的系统特权。

    select * from dba_sys_privs where grantee='RESOURCE';

    将资源角色授予Mickey

    验证角色已成功授予Mickey

    SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'MICKEY';

    验证角色已成功授予Mickey

    SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'MICKEY';

    让user拥有修改表和数据的权利

    grant RESOURCE to mickey;
    ALTER USER mickey quota 1M on USERS;
    grant unlimited tablespace to mickey;

    4.6 创建表插入数据

  • 相关阅读:
    SPSS分类分析:决策树
    单例设计模式
    设计模式
    java.lang.NoClassDefFoundError: org/apache/zookeeper/proto/SetWatches
    AngularJs中Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.15/
    如何在linux环境下配置环境变量
    MQ的面试题
    VUE框架
    SQL中and和or的区别是?
    Git的工作流程
  • 原文地址:https://www.cnblogs.com/ak918xp/p/13837382.html
Copyright © 2011-2022 走看看