zoukankan      html  css  js  c++  java
  • 20170807上课笔记

      个数据库是由多个表空间(tablespace)组成,一个表空间又由多个段(segment)组成,一个段又由多个区(extent)组成,一个区则由多个块(block)组成。

    数据块(data block) 是oracle最小的逻辑部件,数据块大小合适的选择可以提高性能;//相当于一行行数据
    区段(extent)由几个相邻的数据块组合在一起;
    段(segment)有一组区段构成;//相当于表
    表空间(tablespace)是包含物理数据文件的逻辑实体,存放数据库的所有可用数据,因此表空间的尺寸也是包含数据的数据文件尺寸的总和,是oracle 主要的逻辑存储结构。

    查询预定义表空间:

    SQL> select TABLESPACE_NAME,CONTENTS from dba_tablespaces;

    SQL> select FILE_NAME, TABLESPACE_NAME from dba_data_files;

    s

    创建新表空间:

    1. 用户  
    2. 建立:create user 用户名 identified by "密码";  
    3. 授权:grant create session to 用户名;  
    4.             grant create table to  用户名;  
    5.             grant create tablespace to  用户名;  
    6.             grant create view to  用户名;  
    1. 表空间  
    2. 建立表空间(一般建N个存数据的表空间和一个索引空间):  
    3. create tablespace 表空间名  
    4. datafile ' 路径(要先建好路径)***.dbf  ' size *M  
    5. tempfile ' 路径***.dbf ' size *M  
    6. autoextend on  --自动增长  
    7. --还有一些定义大小的命令,看需要  
    8. unlimited 无最大空间限制  

    SQL> create tablespace tbs01 datafile '/u01/app/oracle/oradata/orcl/tbs01.dbf' SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE 100M;

    在指定的表空间中创建表:

    SQL> create table t1 tablespace tbs01 as select * from dba_objects where 1=0;

    SQL> alter table t1 move;        释放空间

    SQL> select bytes, blocks, extents, tablespace_name from dba_segments where segment_name='T1';

    SQL> select extent_id, bytes, blocks from dba_extents where segment_name='T1';

    只读表空间:

    SQL> alter tablespace tbs01 read only;

    SQL> delete t1;                  禁止dml

    SQL> insert into t1 select * from t1;        禁止dml

    SQL> create table t2 (x int) tablespace tbs01;         失败

    SQL> alter table t1 add (x int);         成功

    SQL> update t1 set x=1;           失败

    SQL> drop table t1;           成功

    dml和ddl的区别

    改变表空间大小:

    resize,autoextend,add datafile

    删除表空间:

    SQL> drop tablespace tbs01 including contents and datafiles;

    字典表

    实际是1张视图,本身oracle中有基表,但是晦涩难懂,切一开始为商业模式,底层不对外开放,因此oacle中创建了字典视图即为我们平时所说的字典表(实际是视图)供客户使用

    用户所做的ddl语句实际就是对字典表的dml语句操作

  • 相关阅读:
    (转)水经注谷歌地图的级别与对应比例尺及分辨率探究
    oracle 单表导出导入
    案例情景--在一次Oracle 数据库导出时 EXP-00008;ORA-00904:EXP-00000: oracle不同版本导入导出规则
    权衡微服务
    ASP.NET Core HTTP 管道中的那些事儿
    ASP.NET Core 中间件之压缩、缓存
    .NET Core 首例 Office 开源跨平台组件(NPOI Core)
    ASP.NET Core 之 Identity 入门(三)
    Entity Framework Core 1.1 升级通告
    ASP.NET Core 1.1.0 Release Notes
  • 原文地址:https://www.cnblogs.com/guoxf/p/7305050.html
Copyright © 2011-2022 走看看