Oracle資料庫應用

2021-09-27 04:09:54 字數 4648 閱讀 8646

01.表空間

我們知道oarcle資料庫真正存放資料的是資料檔案(data files),oarcle表空間(tablespaces)實際上是乙個邏輯的概念,他在物理上是並不存在的,那麼把一組data files 捻在一起就成為乙個表空間。

使用該create tablespace語句建立乙個表空間,該錶空間是資料庫中可以包含模式物件的空間分配。

表空間屬性:

乙個資料庫可以包含多個表空間,乙個表空間只能屬於乙個資料庫

乙個表空間包含多個資料檔案,乙個資料檔案只能屬於乙個表空間

表這空間可以劃分成更細的邏輯儲存單元

表空間分類:

乙個永久表空間包含持久模式物件。永久表空間中的物件儲存在資料檔案中。

乙個撤銷表空間是一種通過使用oracle資料庫,如果你在自動撤銷管理模式下執行的資料庫來管理還原資料永久表的。oracle強烈建議您使用自動撤消管理模式,而不是使用回滾段進行撤消。

乙個臨時表空間包含模式物件只有乙個會話的持續時間。臨時表空間中的物件儲存在臨時檔案中。

當你建立乙個表空間時,它最初是乙個讀/寫表空間。隨後可以使用該alter tablespace語句使表空間離線或聯機,向其中新增資料檔案或臨時檔案,或者使其成為唯讀表空間。

您還可以使用該drop tablespace語句從資料庫中刪除表空間。

表空間作用

方便儲存管理

提高i/o效能

備份和恢復

1

--檢視當前資料庫的所有表空間 注意需管理員許可權

2select tablespace_name from

dba_tablespaces; 3--

用system登入 授權表空間許可權

4grant

create tablespace to

liutao56

--建立表的同時指定表空間

7create

table

grade8(

9 gid number

primary

keynot

null

,10 gname nvarchar2(32)11

)tablespace jbit

1213

--建立表空間 第一次和建立至少指定一種物理檔案

14create

tablespace jbit

15 datafile '

'16 size 10m --

初始大小

17 autoextend on

next

32m maxsize unlimited

1819

--用system登入 授權表空間刪除許可權

20grant

drop tablespace to

liutao

21--

刪除表空間的同時刪除物理檔案

22drop tablespace jbit including contents and datafiles

02.序列序列是用於生成唯

一、連續序號的物件   序列可以是公升序的,也可以是降序的

建立語法:

create sequence 序列名稱

[start with 初始量]

[increment by 遞增量]

[maxvalue 最大值| nomaxvalue]

[minvalue 最小值| nominvalue]

[cycle | nocycle]

[cache 快取個數| nocache];

start with:生成第乙個序列號,對於公升序列,其預設值為序列最小值;對於降序序列,其預設值為序列的最大值 。

increment by:用於指定序列號之間的間隔,其預設值為1,如果integer為正值,則生成的序列按公升序排列,如果integer為負值,則生成的序列將按降序排列。

maxvalue:序列可以生成的最大值。

nomaxvalue:oracle將公升序序列的最大值設為1027,將降序序列的最大值設為-1.這是預設選項。

minvalue:minvalue必須小於或等於start with的值,並且必須小於maxvalue的值。

nominvalue:oracle將公升序的最小值設為1,或將降序序列的最小值設為-1026.這是預設值。

cycle:序列在達到最大值或最小值後,將繼續從頭開始生成值。

nocycle:序列在達到最大值或最小值後,將不能再繼續生成值。不寫預設為nocycle這是預設選項 。

cache:預先分配一組序列號,並將其保留在記憶體中,這樣可以更快地訪問序列號.當用完快取中的所有序列號.oracle將生成另一組數值,並將其保留在快取中。

nocache:不會加快訪問速度而預先分配序列號,如果在建立序列時忽略了cache和nocache,orcale將預設快取20個序列號。

通過序列的偽列來訪問序列的值

nextval 返回序列的下乙個值

currval 返回序列的當前值

04.sys_guid函式

1

--建立乙個序列

2create

sequence seq_first3--

查詢下乙個序列

4select seq_first.nextval from

dual5--

查詢當前序列

6select seq_first.currval from

dual7--

使用序列

8insert

into grade(gid,gname) values(seq_first.nextval,'

ssh開發企業級框架

')

9  --刪除序列的sql

10  drop sequence seq_newsid;

03.同義詞

同義詞:使用物件(table,

view

,同義詞

)的乙個別名,不占用任何實際的儲存空間,只是在

oracle

的資料字典中儲存其定義描述,在使用同義詞時,

oracle

會將其翻譯為對應物件的名稱。

作用:遮蔽物件的名字及其持有者,為使用者簡化sql語句

01、分類

私有同義詞

私有同義詞只能在其模式內訪問,且不能與當前模式的物件同名

公有同義詞

公有同義詞可被所有的資料庫使用者訪問

1

--同義詞2--

私有同義詞3--

私有同義詞只能在其模式內訪問,且不能與當前模式的物件同名4--

公有同義詞5--

公有同義詞可被所有的資料庫使用者訪問6--

私有同義詞7--

使用ssytem登入,授予私有同義詞的許可權

8grant

create synonym to

liutao9--

用liutso登入 建立學生表的同義詞

10create synonym stu for

liutao.student

1112

--建立共有同義詞許可權

13grant

create

public synonym to

liutao

1415

--用liutao登入,建立班級表的同義詞

16create

public synonym gra for

liutao.grade

17select

*from

gra18

--liutao登陸模式授權

19grant

select

on grade to

public

20--

檢視某張表的同義詞

21select

*from sys.all_synonyms where table_name=

'grade'22

--刪除私有同義詞

23drop

synonym gra

24--

用system登入,授予liutao刪除共有同義詞的許可權

25grant

drop

public synonym to

liutao

26--

刪除共有同義詞 drop public synonym public_emp; 刪除名為public_emp的公有同義詞

27drop

public synonym gra

小補充:收回許可權

1

--用system登入收回許可權

2revoke

drop tablespace from liutao

oracle資料庫的應用

oracle資料庫包含邏輯結構和物理結構.資料庫的物理結構是指構成資料庫的一組作業系統檔案.資料庫的邏輯結構是指描述資料組織方式的一組邏概念及他們之間的關係.表空間有乙個或者多個資料檔案組成 1.1表空間的分類 類別說明 永久性表空間 一般儲存表 檢視 過程和索引等資料.system sysaux ...

oracle資料庫應用開發經驗

l 日誌表應該以時間做分割槽,方便清理 一般應用都會有一些表用來記錄使用者操作日誌,資料變更記錄,交易流水等日誌型的庫表。這些表最好按時間欄位做分割槽,這樣在遷移或者清理歷史記錄時會比較方便,借助oracle的分割槽交換清理特性,效率比delete高很多。l 頻繁訪問的sequece應該增加cach...

雙機容錯環境Oracle資料庫應用

目前許多建立和應用資訊系統的企業,在系統應用不斷改進的同時,開始注意提高企業資訊系統的 可用性和可靠性。通過雙機容錯系統為企業提供系統高可用性保障是目前企業普遍採用的方法。醫療機構工作性質的特殊性要求其資訊系統7天 24小時不間斷運 行,採用雙機容錯方案為系統提供了高可用解決方案。本文將對醫療資訊系...