Oracle 空间管理

1、表空间sql

  一、概念:表空间实质上是组织数据文件的一种途径,表空间包含着逻辑对象。一个数据库对应着多个表空间,一个物理文件对应一个表空间。当建立数据库时要建立表空间,并指定数据文件。数据库

  二、分类:(目录表空间、常规表空间、系统临时表空间、用户临时表空间、undo表空间)缓存

  三、表空间的建立(通常会使用到常规表空间、临时表空间,默认表空间是System)、修改、删除oracle

  示例代码以下所示:  函数

 1 --建立常规表空间
 2 create tablespace 表空间名
 3    datafile 'D:\database\datafiles_1.dbf' size 50M;
 4 --建立临时表空间
 5 create temporary tablespace temp;
 6     tempfile 'D:\database\usertemp_1.dbf' size 50M;
 7 --修改表空间
 8 alert tablesapce 表空间名
 9     add datafile 'D:\database\datafiles_1.dbf' size 10M;--表空间增长10M
10 --设置表空间为默认的表空间
11 alert database default tablesapce 表空间名;
12 --删除表空间(仅删除控制文件中的指针,并无删除物理文件,须要手动删除)
13 drop tablesapce 表空间名 including contents;--including contents:删除全部的段

 

  四、表空间和数据文件有关的数据字典ui

  DBA_DATA_FILES:实例中全部数据文件和表空间的信息,DBA_TABLESPACES:表空间的信息,DBA_FREE_SPACE:表空间的空闲空间信息。spa

2、SQL语言基础设计

  一、oracle数据类型指针

  数字数据类型:number(5,2);字符数据类型:char、varchar2(varchar)、long、nchar、nvarchar2;date数据类型;LOB数据类型(clob、blob、bfile)code

    二、SQL语言

  DDL:数据定义语言(create、alert、truncate、drop),改变数据库结构。

  DML:数据操纵语言(select、insert、update、delete),用于检索、插入和修改数据库信息。

  DCL:数据控制语言(grant、revoke),为用户提供权限控制命名。

  TCL:事务控制语言(commit、rollback、savepoint)。

3、索引(树状结构)

  一、分类(逻辑设计:单列索引、组合索引、惟一索引、非惟一索引、函数索引,物理:分区索引、为非区索引、B数索引、正向索引、反向索引、位图索引)

  二、建立、修改、合并、删除索引

  示例代码以下所示:

 1 --建立索引语法
 2 create [unique] index 索引名
 3   on 表名(列名1,列名2...)where 条件
 4 --建立惟一性索引(不重复)
 5 create unique index indDepartmenNo on employee(departmenNo);
 6 --建立位图索引(重复性高)
 7 create bitmap index indsex on employee(sex);
 8 --修改索引
 9 alert index indsex rebuild;
10 --合并索引
11 alert index indsex coalesce;
12 --删除索引
13 drop index indsex

4、视图(虚拟表,仅存储定义)

  建立视图

  示例代码以下所示:

 1 --建立视图语法
 2 create [or replace] view [user.]视图名
 3 [column1 [, column2]... ...]
 4 --建立视图view_employee
 6 create view view_employee
 7 as 
 8 select * from employee;
 9 --删除视图
10 drop view view_employee;

 

5、同义词(数据库对象的一个别名)

  建立、使用、删除同义词

  示例代码以下所示:

 1 --建立同义词语法
 2 create [or replace] [public] synonym [user.]synonym_name
 3 for [user.] object_name
 4 --建立私有同义词
 5 create synonym myemp for scott.emp;
 6 --建立公有同义词
 7 create public synonym myemp for scott.emp;
 8 --使用同义词
 9 select * from myemp;
10 --删除同义词
11 drop [public] synonym [user.] synonym_name;
12 drop synonym myemp;

 

6、序列(同sql server中的标识列同义)

  建立、使用、修改、删除同义词

  示例代码以下所示:

 1 --建立序列语法
 2 create sequence [user.] sequence_name
 3     [increment by n]
 4     [start with n]
 5     [maxvalue n|nomaxvalue]
 6     [minvalue n|nominvalue];
 7 --建立序列
 8 create sequence my_num
 9     start with 1
10     increment by 1
11     maxvalue 5000
12     cache 20;   --缓存
13 --使用序列
14 select my_num.currval from dual;    --currval :当前值 ,nextval:下一个值
15 --更改序列语法,不能修改start with参数
16 alert sequence [user.] sequence_name
17      [increment by n]
18      [maxvalue n|nomaxvalue]
19      [minvalue n|nominvalue];
20 --修改序列
21 alert sequence my_num
22     maxvalue 9999
23     cycle;  --循环
24 --删除序列
25 drop sequence [user.] sequence_name;
26 drop sequence my_num;
相关文章
相关标签/搜索