• Oracle数据库体系结构及创建表结构


    Oracle服务器主要由实例、数据库、程序全局区和前台进程组成,其中
    实例就是用来提供管理数据库的功能;
    数据库由数据库文件组成,用来存储系统数据;
    实例可以进一步划分为系统全局区(SGA)和后台进程(PMON、SMON等)两部分,其中
    SGA是所有用户进程共享的一块内存区域,使用操作系统的内存资源,而后台进程需要使用CPU与内存资源。数据库中包含数据文件、控制文件和重做控制文件,数据库存放在硬盘中。
    程序全局区(PGA)是一个非共享的内存区域,用于管理用户进程的私有资源。前台进程可以再划分为用户进程和服务器进程,他们需要使用CPU与内存资源。

    Oracle数据库的逻辑结构由多个表空间(tablespace)组成,而表空间又由多个段(segment)组成,段由多个数据区(Extent)组成,数据区又由多个数据块(Blocks)组成,如图:


    Oracle的数据在逻辑上存储在表空间中,而在物理上存储在表空间所包含的物理文件(即数据文件)中,如图:


    Oracle数据库的物理存储结构由多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件和警告日志文件,如图:


    每个数据文件只对应一个表空间,一个表空间可以存放多个数据文件。
    /*查看表空间*/
    select * from dba_tablespaces;

    /*查看表空间数据文件的路径*/
    select tablespace_name,file_name from dba_tablespaces;

    /*表空间使用情况查询*/
    select dbf.tablespace_name,dbf.totalspace "总量(M)", dbf.totalblocks as 总块数,dfs.freespace "剩余总量(M)",dfs.freeblocks "剩余块数",(dfs.freespace / dbf.totalspace) * 100 "空闲比例"from (select t.tablespace_name,sum(t.bytes) / 1024 / 1024 totalspace,sum(t.blocks) totalblocks from dba_data_files t  group by t.tablespace_name) dbf,  (select tt.tablespace_name,  sum(tt.bytes) / 1024 / 1024 freespace,  sum(tt.blocks) freeblocks from dba_free_space tt  group by tt.tablespace_name) dfs  where trim(dbf.tablespace_name) = trim(dfs.tablespace_name);

    /*创建表空间后创建用户和授权分为四步:创建临时表空间/表空间/创建用户/授权*/
    /*第1步:创建临时表空间*/
    /*临时表空间一般是指在数据库中存储数据,当内存不够的情况下写入的空间,主要用作查询时带有排序(Group by,Order by等)算法时所用,这个空间并不像一般的表空间,当执行完对数据库的操作后,该空间的数据会自动清空*/
    create temporary tablespace test_temp
    tempfile 'D:oracledata est_temp.dbf'
    size 50m
    autoextend on
    next 50m maxsize 20480m
    extent management local;

    /*第2步:创建数据表空间*/
    create tablespace test_data
    logging
    datafile 'D:oracledata est_data.dbf'
    size 50m
    autoextend on
    next 50m maxsize 20480m
    extent management local;

    /*第3步:创建用户并指定表空间*/
    create user test identified by test
    default tablespace test_data
    temporary tablespace test_temp;

    /*第4步:给用户授予权限*/
    grant connect,resource,dba to test;

    /*重命名表空间*/
    alter tablespace test_data rename to testOne_data;/*将表空间test_data命名为testOne_data*/

    /*修改表空间数据文件大小*/
    alter database datafile '/ora/oradata/radius/undo.dbf' resize 10240M;

  • 相关阅读:
    win10下的MyEclipse2017 ci7 破解教程+全套资源+失败处理(转)
    layui layer.open() 弹层开启后 Enter回车 遮罩层无限弹处理
    layui 或者layer 父页面获取子页面数据 或者子页面获取父页面操作方法(转)
    layui弹出层两个以上置顶弹出
    div自动获焦并将光标定位到最后
    hibernate 的SessionFactory的getCurrentSession 与 openSession() 的区别
    形参与实参的区别
    linux下安装Mysql(干货!!!)解决mysql 1130问题,远程登录问题
    linux下安装Mysql(干货!!!)
    java文件上传与下载
  • 原文地址:https://www.cnblogs.com/cnjavahome/p/4264795.html
Copyright © 2020-2023  润新知