`
danwind
  • 浏览: 232825 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

oracle学习笔记1:表空间、表的管理

阅读更多

1.表空间管理:永久、临时、撤销三种类型
  ①准则
    使用多个表空间:不同空间/分区存不同数据,防磁盘损坏相互影响,提高I/O;将不同的用户数据从数据字典中分离,减少数据文件的数据字典对象和模式对象竞争
    指定表空间的存储参数
    为表空间指定限额:防资源浪费
  ②可进行的操作
    新建表空间,调整数据文件大小,添加数据文件到表空间;
    设置和修改缺省的数据段存储设置;
    使表空间变为只读或读写状态;
    设置表空间为临时或永久;
    删除表空间。
  ③语法格式
    CREATE TABLESPACE tablespace_name
    DATEFILE 'path/filename' [SIZE integer [K|M]][REUSE]
    [AUTOEXTEND[OFF|ON [NEXT integer[K|M]]    /*OFF/ON禁止或允许自动扩展数据文件,NEXT指定下次分配给数据文件的磁盘空间*/
        [MAXSIZE UMLIMITED|integer[K|M]]]]    /*允许分配给数据文件的最大磁盘空间,UMLIMITED没有限制*/
    [DEFAULT STORAGE storage_clause]    /*为在该表空间创建的对象指定默认的存储参数*/
    [ONLINE|OFFLINE]    /*空间的可用/不可用设置*/
    [LOGGING|NOLOGGING]    /*将来的表、索引等是否进行日志处理*/
    [PERMANENT|TEMPORARY]    /*表空间的状态,永久或临时*/
    [EXTENT MANAGEMENT[DICTIONARY|    /*如何管理表空间的盘区*/
    LOCAL[AUTOALLOCATE|UNIFORM[SIZE integer[K|M]]]]]
  ④例
    创建表空间:
    CREATE TABLESPACE tablespace_name
    DATAFILE '/home/oracle/oradata/tablespace_name01.dbf'
    SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 20M;
    指定系统缺省时表空间:
    ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
    表空间离线(不能访问):
    ALTER TABLESPACE tablespace_name OFFLINE;    /*ONLINE恢复*/
    表空间只读:
    ALTER TABLESPACE tablespace_name READ ONLY;    /*READ WRITE 读写*/
    删除表空间:
    DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
    添加数据文件到表空间:
    ALTER TABLESPACE tablespace_name ADD DATAFILE '/home/oracle/oradata/tablespace_name02.dbf' size 1M;
    设置表空间数据文件的缺省位置:
    ALTER SYSTEM SET DB_CREATE_FILE_DEST '/home/oracle/oradata';
    获得表空间和数据文件信息:
    SELECT * FROM v$tablespace;
    SELECT * FROM v$datafile;
2.表管理
  ①表完整性:防止不合法数据进入基表
    域完整性:列完整性,指定某个数据集对某列是否有效并确定是否允许为空,CHECK
    实体完整性:行完整性,主关键字约束,PRIMARY KEY(一个,值非空)、UNIQUE(可多个,值可空),自动产生索引
    参照完整性:引用完整性,保证主从表数据的一致性,主键外键,PRIMARY KEY、FOREIGN KEY
    如果定义了两个表间的参照完整性,则:从表不能引用不存在的键值;主表键值变,从表随着变;主表无关联记录,从表不能插入记录;删从表后删主表
    查看视图:
    SELECT * FROM user_constraintS WHERE table_name='EMP';   /*或all_constraints*/
  ②创建表语法格式
    CREATE TABLE [schema.]table_name
    (column_name datatype [DEFAULT expression][column_constraint],...n)
    [PCTFREE integer]  /*指定表或分区的每个数据块为将来更新表行所保留的空间百分比*/
    [PCTUSED integer]  /*指定每个数据块易用空间的最小百分比*/
    [INITRANS integer]  /*指定分配给表的每一数据块中事务条目的初值*/
    [MAXTRANS integer]  /*指定可更新分配给表的数据块的最大并发事务数*/
    [TABLESPACE tablespace_name]  /*指定表空间*/
    [STORGE storage_clause]  /*指定表的存储特征*/
    [CLUSTER cluster_name(cluster_column,...n)]  /*指定表作为簇的一部分*/
    [AS subquery]  /*子查询返回的行插入所创建的表中,后创建约束,如果同时有AS subquery 和CONSTRAINT子句,忽略AS subquery*/
    完整性约束语法格式
    CONSTRAINT constraint_name
    [NOT] NULL
    [UNIQUE]
    [PRIMARY KEY
    [REFERENCES [schema.] table_name(column_name)]
    [CHECK(condition)]
  ③例
    CREATE TABLE KC
    (KCH CHAR(8) NOT NULL,
     KCM CHAR(20) NOT NULL,
     XS NUMBER(2) NOT NULL,
     KKXQ NUMBER(1) NOT NULL,
     XF NUMBER(2),
     CONSTRAINT CH_KKXQ CHECK(KKXQ between 1 and 8),
     CONSTRAINT "PK_KCH" PRIMARY KEY(KCH),
     CONSTRAINT "FK_XS" FOREIGN KEY(XS) REFERENCES XS(XH) )
     PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
     TABLESPACE "MYTS"
     STORAGE (INITIAL 64K MINEXTENTS 1 PCTINCREASE 40 FREELISTS 1 FREELIST GROUPS 1);
    )
  ④修改表语法格式
    ALTER TABLE [schema.] table_name
    [ADD (column_name datatype [DEFAULT expression][column_constraint],...n)]
    [MODIFY([datatype][DEFAULT expression] [column_constraint],...n]
    [STORAGE storage_clause]    /*修改存储个正*/
    [DROP drop_clause]    /*删除列或约束*/
    DROP子句语法格式:
    DROP
    COLUMN column_name|  /*删除列*/
    PRIMARY|    /*删主键约束*/
    UNIQUE|    /*删唯一性约束*/
    (column_name,...n)|  
    CONSTRAINT|    /*删名为column_name的完整性约束*/
    [CASCADE]    /*删除所有其他的完整性约束,这些约束依赖于被删除的完整性约束*/
  ⑤例
    ALTER TABLE XS
    MODIFY (DJSM DEFAULT '奖金800');
3.其他
  GRANT UNLIMITED TABLESPACE,DBA TO feifei;    /*给用户授予表空间权限*/
  Oracle项目应用:创建表空间--创建用户--给用户分配默认表空间
  索引:供服务器在表中快速查找一个行的数据库结构,可快速存取数据、改善数据库性能保证列值唯一性、实现参照完整性、使用ORDER BY或GROUP BY时减少排序分组时间。
  使用索引原则
  在表中插入数据后创建索引:提高效率,若之前建立,插入每行时都要更改索引
  索引正确的表和列:若经常检索表中少于15%的行,建议建立索引
  合理安排索引列:通常将最常用列放最前面
  限制表中索引数量、指定索引数据库空间的使用、根据索引大小设置存储参数。
  唯一索引:
  位图索引:将索引作为位图创建,适用于表数据量很大,唯一值很少的表,如性别。
  语法格式:
  CREATE [UNIQUE|BITMAP|INDEX    /*UNIQUE指定索引所基于的列或多列值必须唯一*/
  [schema.] index_name
  ON [schema.] table_name(column_name[ASC|DESC],...n,[column_expression])|    /*column_expression创建基于函数的索引*/
  CLUSTER [schema.] cluster_name    /*创建cluster簇索引*/
  [INTRANS integer]
  [MAXTRANS integer]
  [PCTFREE integer]
  [PCTUSED integer]
  [TABLESPACE tablespace_name]
  [STORAGE storage_clause]
  [NOSORT]    /*数据库中的行以升序保存,在创建索引时不必对行排序*/
  [REVERSE]  
  例:CREATE bitmap INDEX bit_emp ON emp(sex);

分享到:
评论

相关推荐

    Oracle学习笔记 PDF

    ### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...

    Oracle学习笔记.pdf

    以下是对Oracle学习笔记中提到的一些关键知识点的详细解释: 1. **SQL执行顺序**: SQL语句的执行顺序是:`FROM` -> `WHERE` -> `SELECT` -> `GROUP BY` -> `HAVING` -> `ORDER BY`。首先从`FROM`子句开始,确定...

    Oracle学习笔记精华版

    Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...

    oracle学习笔记整理

    以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...

    ORACLE经典学习笔记

    ### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...

    oracle学习笔记下载

    ### Oracle 学习笔记知识点概览 #### 一、Oracle 数据库系统参数查询与管理 在 Oracle 数据库的学习过程中,了解如何查看和管理数据库的系统参数是非常重要的。这些参数直接影响着数据库的性能和稳定性。 ##### ...

    oracle 经典学习笔记

    以上内容是Oracle数据库经典学习笔记的缩影,涵盖了Oracle学习的多个重要方面。在实际的学习和应用中,可以通过实践操作、阅读官方文档以及参考其他专业资源,来不断加深对Oracle数据库的理解和熟练度。Oracle数据库...

    Oracle 学习笔记

    ### Oracle 学习笔记知识点详解 #### 一、Oracle 数据库简介 Oracle 是一款由美国甲骨文公司开发的关系型数据库管理系统。它以其强大的数据处理能力、高度的安全性及稳定性而闻名于世,在金融、电信、政府等领域...

    Oracle 10g 学习笔记

    │ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置listener.ora【避免出现ORA-12514错误】.txt │ 贴子树状态存储结构.jpg │ 贴子树状态存储结构.sql │ ├─01...

    oracle学习笔记-入门基础

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的特性和功能来优化数据管理和查询性能。本文主要探讨Oracle数据库的入门基础知识,特别是与索引相关的概念。 首先,我们要理解ROWID的概念。ROWID是...

    ORACLE DBA工作笔记 运维数据迁移与性能调优

    3. Oracle数据库的架构和存储结构,例如表空间、段、数据块等概念,对这些基础概念的深入理解对于数据迁移和性能优化至关重要。 4. Oracle的数据备份和恢复技术,因为数据迁移往往需要确保数据的安全性和完整性,...

    Oracle9i学习笔记.doc

    总结来说,Oracle9i的学习笔记涵盖了数据库的基本创建与维护,数据字典的管理和查询,以及数据库状态控制和参数调整,这些都是数据库管理员必备的基础知识。虽然Oracle9i版本较为陈旧,但其核心概念和操作在新的...

    oracle学习笔记 oracle学习方法 韩顺平视屏

    以下是对Oracle学习笔记和相关知识点的详细解析: 1. **基础概念与术语** - **SQL**:Structured Query Language,用于管理和处理关系数据库的标准语言。 - **RDBMS**:关系数据库管理系统,Oracle便是其中的代表...

    mldn oracle学习笔记

    "mldn oracle学习笔记"是一份关于学习Oracle数据库的资源,很可能包含了从基础到高级的全方位教程,旨在帮助学习者深入理解Oracle数据库的原理和操作技巧。"魔乐"可能是这份笔记的作者或者是一个学习社区的名字,而...

    oracle管理学习笔记

    ### Oracle管理学习笔记知识点概述 #### 一、Oracle服务组成 **Oracle服务**由**实例**和**数据库**两部分组成。 - **实例**: 包括后台进程和SGA(共享全局区)。 - **后台进程**: 如DBWn(数据库写入器)、LGWR...

    MLDN_Oracle学习笔记+源码 李兴华讲解

    《MLDN_Oracle学习笔记+源码 李兴华讲解》是针对Oracle数据库系统的一份详尽学习资源,由知名讲师李兴华精心编撰。这份资料不仅包含了丰富的理论知识,还提供了源代码实例,旨在帮助学习者深入理解和掌握Oracle...

    Oracle学习笔记_(PDF版)

    ### Oracle学习笔记要点 #### 一、SQL Plus的使用方法 - **命令行方式**: 在命令行中直接输入 `sqlplus` 命令,并随后输入用户名和密码。 - **客户端方式**: 使用Oracle提供的SQL Plus客户端工具进行登录。 - **Web...

    韩顺平oracle学习笔记

    韩顺平oracle学习笔记 第0讲:如何学习oracle 一、如何学习oracle Oracle目前最流行的数据库之一,功能强大,性能卓越。学习oracle需要具备一定基础: 1.学习过一门编程语言(如:java ,c) 2.最好学习过一门别的...

Global site tag (gtag.js) - Google Analytics