温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle数据库简介

发布时间:2020-06-23 20:39:08 来源:网络 阅读:623 作者:TaoismLi 栏目:关系型数据库

一)基本概念介绍

在国内有一款自主知识产权关系型数据库(达梦),其基本原理及管理方式与Oracle及其相似,因此涉及到的主要基本概念及代表的意义也基本一样,所以这里不再骜述,请参考另一篇关于达梦数据库介绍的文章《DM(达梦)数据库简介》。


二)安装Oracle

不管是Windows安装还是Linux安装,网上有大量的安装配置教程,这里也不再细说。这篇博文主要关注数据库原理及基本使用,因此还是需要快速实例化一个Oracle数据库,这里简单介绍一下基于docker的安装配置。

    a. 首先,确认已经安装配置好docker,如果没有,请参考《Centos 7.5安装Docker》安装配置;

    b. 在Docker中获取Oracle镜像信息;

        #docker search oracle        //在列表中选择需要版本,如果需要数据持久化特性,建议选择sath89/oracle-xe-xxx类型版本

    c. 启动docker实例;

        #docker run -d -p 49160:22 -p 49161:1521 -v /hostfolder:/dockerfolder --name xe sauth89/oracle-xe-11g      //以sauth89/oracle-xe-11g为例

        1. -d参数表示后台运行容器;

        2. -p参数做端口映射,将docker的22和1521端口分别映射到宿主机的49160和49161;

        3. -v参数表示目录映射,其结果就是存在于dockerfolder目录的文件也会在宿主机相应目录存一份;

        4. --name参数指定容器服务名;

    d. 通过上面c步,就会创建一个Oracle数据库实例,默认连接信息如下:

        hostname: localhost(即宿主机)

        port: 49161

        SID: xe

        service name: xe

        username: system

        password: oracle

    e. 图形化功能连接数据库

        Oracle数据库简介


三)基本使用

I. 管理命令

    a. 查询版本

        select banner from sys.v_$version;

        或

        select * from v$version;

    b. 查看数据库名(实例名)及状态

        select name from v$database;

        select status from v$instance;

    c. 查看系统所有用户

        select * from all_users;

    d. 创建用户并赋予其链接数据库权限

        create user username identified by passwd;

        grant connect to username;

    e. 删除用户

        drop user username ;

    f. 查看当前用户角色

        select * from user_role_privs;

    g. 查看表空间及使用情况

        select * from v$tablespace;     //查看系统所有表空间

        select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name; //单位是M

    h. 创建表空间

        create tablespace test_tbsp datafile '/home/oracle/oradata/test_tbsp.dbf' size 100M;    //数据文件一定要单引号引起来

    i. 查看用默认表空间

        select username,default_tablespace from dba_users;

    j. 修改用户默认表空间

        alter user user1 default tablespace test_tbsp;

    k. 开启表空间自动扩展、查看、关闭

        alter database datafile '/home/oracle/oradata/test_tbsp.dbf' autoextend on;    //开启

        select file_name,autoextensible,increment_by from dba_data_files where tablespace_name='TEST_TBSP';    //查看

        alter database datafile '/home/oracle/oradata/test_tbsp.dbf' autoextend off;    //关闭


II. 角色、用户及权限管理

    a. 创建角色

        create role roleName; 

    b. 给角色授予权限

        grant 权限 to roleName:

    c. 将角色授予用户

        grant roleName to userName;

     d. 查询当前用户拥有角色

        select * from user_role_privs;

     e. 删除角色

        drop role roleName;

关于角色注意:

    1. 当给角色授予权限的时候,拥有此角色的用户也同时增加了权限;

    2. 当撤销角色权限的时候,拥有此角色的用户的对应权限也被撤销;

    3. 当角色被删除,拥有此角色的用户将丧失之前角色所有的所有权限。

    f. 授予用户会话权限

        grant create session to userName;

    g. 授予用户建表权限

        grant create table to userName;

    h. 授予用户无限制使用表空间权限

        grant unlimited tablespace to userName;

    i. 授予权限及撤销权限

        grant 权限 to userName;

        revoke 权限 from userName;

        grant select on mytab to userName

        grant update on mytab to userName

        grant delete on mytab to userName

        grant insert on mytab to userName

        revoke select on mytab from userName

        批量赋权: https://www.cnblogs.com/abcwt112/p/5507917.html 

    j. 查看用户拥有权限

        select * from user_sys_privs;

    k. 授予/撤销其他用户操作表的所有权限

        grant all on mytab to userName;

        revoke all on mytab from userName;

     l. 查询其他用户对当前用户表的操作权限

        select * from user_tab_privs;

     m. 权限传递

        grant create session to userName with admin option;    //表示把系统权限授予给userName,并允许其授予给其他用户

        grant update on mytab to userName with grant option;    //表示把操作表的权限授予给userName,并允许其授予给其他用户

        

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI