资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Oracle数据库简介

一)基本概念介绍

成都创新互联公司成立以来不断整合自身及行业资源、不断突破观念以使企业策略得到完善和成熟,建立了一套“以技术为基点,以客户需求中心、市场为导向”的快速反应体系。对公司的主营项目,如中高端企业网站企划 / 设计、行业 / 企业门户设计推广、行业门户平台运营、app软件定制开发移动网站建设、微信网站制作、软件开发、绵阳服务器托管等实行标准化操作,让客户可以直观的预知到从成都创新互联公司可以获得的服务效果。

在国内有一款自主知识产权关系型数据库(达梦),其基本原理及管理方式与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,并允许其授予给其他用户

        


名称栏目:Oracle数据库简介
网站链接:http://cdkjz.cn/article/gipppd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220