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;
相關文章
相關標籤/搜索