zoukankan      html  css  js  c++  java
  • Oracle 数据库实例

    Oracle- 数据库的实例,表空间,用户,表之间的关系

    一、完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例

    1.数据库是一些列物理文件的集合(数据文件,控制文件,联机文件,参数文件)

    2.Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区;

      用Oracle官方描述:实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存(SGA)所构成一个集合。其实就是用来访问和使用数据库的一块进程,它只存在于内存中。就像Java中new出来的实例对象一样。我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,如果没有,就会得到实例不可用的错误。实例名指的是用于响应某个数据库操作的数据库管理系统的名称。她同时也叫SID。实例名是由参数instance_name决定的。
    查询当前数据库实例名:

    select instance_name from v$instance;

    数据库实例名(instance_name)用于对外部连接。在操作系统中要取得与数据库的联系,必须使用数据库实例名。比如我们作开发,要连接数据库,就得连接数据库实例名:

    jdbc:oracle:thin:@localhost:1521:orcl(orcl就为数据库实例名)
    

    二、数据库

      1.全局数据库名:就是数据库的一个标识,在安装的时候一般就要想好;

      2.启动数据库:也叫全局数据库,是数据库系统的入口,它会内置一些高级权限的用户,如:sys,system;

    三、表空间

      1.Oracle数据库是通过表空间来存储物理表的,数据库实例=N*表空间=*张表

      创建表空间语法:

    创建临时表空间

    CREATE TEMPORARY TABLESPACE wj_temp /* 临时表空间名称:wj_temp */
    tempfile 'D:appdbfwj_temp.dbf' /* 表空间路径 */
    size 50m /* 空间初始大小:50M*/
    autoextend ON /* 开启自动扩展 */
    NEXT 50m /* 空间满了一次扩展50M*/
    maxsize 6G /* 空间最终大小6G,可设为 unlimited 大小不受限制*/
    extent management local;

    创建表空间

    CREATE TABLESPACE wj_data /* 临时表空间名称:wj_data */
    datafile 'D:appdbfwj_data.dbf' /* 表空间路径 */
    size 50m /* 表空间初始大小:50M */
    autoextend ON /* 开启自动扩展*/
    NEXT 50m /* 表空间满了后一次扩展50M */
    maxsize 10G /* 空间最终大小10G,可设为 unlimited 大小不受限制*/
    logging extent management local;

    查看已经创建好的表空间:

    select default_tablespace, temporary_tablespace, d.username  
    from dba_users d

    四、用户

      1.Oracle 数据库建好之后,要想在数据库里建表,必须先为数据库建立用户,并未用户指定表空间(用户是在实例下创建的);

      Oracle是由用户和表空间对数据进行管理和存放的,但是表不是用表空间查询的,而是由用户去查询,因为不同用户可以在同一个表空间,建立同一个名字的表;

    CREATE USER wj                    /* 用户名 */
    IDENTIFIED BY 123456              /* 密码 */  
    DEFAULT TABLESPACE wj_data        /* 表空间 */    
    TEMPORARY TABLESPACE wj_temp      /* 临时表空间 */
    

     五、角色

    -- connect 角色使得用户可以登录;resource 角色使得用户可以进行程序开发,如建立表、触发器等。授权命令如下:
    GRANT CONNECT,RESOURCE TO wj;
    

     -- 查询数据库中的用户 

    SELECT * FROM dba_users ORDER BY userName
    

      

     

  • 相关阅读:
    实例!使用Idea创建SSM框架的Maven项目
    springboot开发中的领域模型pojo
    JDK源码阅读:Object类阅读笔记
    DevSecOps: JIRA、Confluence工具、JIRA插件-Xray、eazybi、FishEye、Crucible、jenkins
    MySQL监控及优化
    二叉树 红黑树 B树 B+树 理解
    mysql高性能分页语句_如何优化Mysql千万级快速分页
    使用.Net MinIO SDK 踩的坑
    Windows下Minio介绍、安装及使用、密码修改
    使用docker mediawiki,搭建网页wiki
  • 原文地址:https://www.cnblogs.com/wangjianly/p/9311796.html
Copyright © 2011-2022 走看看