Oracle資料庫應用 一:.Oracle資料庫應用知識 二:表空間和用戶許可權管理 表空間是數據邏輯結構的一個重要組件,表空間可以存放各種應用對象,如表,索引。而每個表空間由一個或者多個數據文件組成 2.表空間的分類可以分成三類: 永久性表空間 一般保存表,視圖,過程和索引等的數據。SYSTEM,S ...
Oracle資料庫應用
一:.Oracle資料庫應用知識
二:表空間和用戶許可權管理
- 表空間:
表空間是數據邏輯結構的一個重要組件,表空間可以存放各種應用對象,如表,索引。而每個表空間由一個或者多個數據文件組成
2.表空間的分類可以分成三類:
永久性表空間 |
一般保存表,視圖,過程和索引等的數據。SYSTEM,SYSAUX,USERS,EXAMPLE,表空間是預設安裝的 |
臨時性表空間 |
只用用於保存系統中短暫 的活動的數據,如排序數據等 |
撤銷表空間 |
用來幫助回退未提交的事務數據,已提交的數據在這裡是不可以恢復的。一般不需要建臨時和撤銷表空間,除非把他們轉移到其他磁碟中以提高性能。 |
- 表空間的目的:
(1.)對不同用戶分配不同的表空間,對不同模式對象分配不同的表空間,方便對用戶數據的操作,對模式對象的管理,
(2.)可以將不同數據創建在不同的磁碟中,有利於磁碟管理空間,有利於提高i/o性能,有利於備份和數據恢復等。一般在完成的時候Oracle會自動創建多個表空間,
3.創建表空間語法
(1.)CREATE TABLESPACE NAME
DATAFILE ‘filename’[size integer] [k|m]
[qutoextend [off|on]];
Name:是需要創建的表空間名稱
Datafile:指定表空間一個或多個數據,多個數據之間用逗號隔開
Filename:數據文件的路徑和名稱
Size:指定文件大小,用K指定千位元組大小,用M指定兆位元組大小
Autoextend:子句用來自動拓寬數據文件和禁用
- 創建一個自動增長的表空間worktbs的SQL語句如下:
Create tablespace worktbs
Datafile ‘D:\oracle\worktbs01.dbf’
Size 10m autoextend on;
- 刪除表空間:
drop tablespace name
including contents
- 創建用戶語法如下:
(1.)CREATE USER martin 用戶名
Identified by 123456 密碼
Default tablespace worktbs 文件名
Temporary tablespace temp;
(2.修改密碼)
Alter user martin
Identified by 654321;
三:資料庫許可權管理
(1.)授予許可權語法如下:
Grant 許可權|角色 to 用戶名;
示例:用戶martin授予connect和resource兩個角色
Grant connect,resource to martin
(2.)撤銷許可權語法如下:
Revoke 許可權|角色 from 用戶名;
撤銷兩個角色
Revoke connect,resource from martin;
(3.)允許用戶查看emp表中的記錄
Grant select on scott.emp to martin;
(4.)允許用戶更新emp中的記錄
Grant update on scott.emp to martin;
依次類推,刪除和查詢
四:創建序列
(1.)示例:創建序列,從序號10開始,每次增加1,最大為2000,不迴圈,在增加會報錯,緩存30個序列號。
Create sequence seq1
Start with 10
Increment by 1
Maxvalue 2000
Nocycle 10
Cache 30;
(2.)更改序列
Alter sequence [schema.] sequence_name
[increment by integer]
[maxvalue integer|momaxvalue]
[minvalue integer|nominvalue]
[cycle|nocycle]
[cache integer|nocache];
(3.)刪除序列:刪除seq1
Drop sequence seq1;
(4.)使用序列
Select sys_guid() from dual;
五:同義詞用途
私有同義詞,和共有同義詞
創建私有同義詞:
Create sysnonym 同義詞名 for 對象名稱
創建同義詞:sy_emp
Create synonym sy_emp for a_hr.emp
創建共有同義詞:
Crate public synonym 名稱 for 對象;
Create public synonym public_sy_emp for emp;
刪除同義詞:
刪除私有同義詞
Drop synonym 需要刪除的名稱;
刪除共有同義詞:
Drop public sysnonym 需要刪除的名稱
六:索引
(1.)索引分類表
物理分類 |
邏輯分類 |
分區或非分區索引 |
單例或組合索引 |
B樹索引(標準索引) |
唯一或非唯一索引 |
正常或反向建索引 |
基於函數索引 |
點陣圖索引 |
|
(2.)創建普通索引
Crate index 索引名稱 on 索引表名 多索引名稱 索引空間
(3.)示例:在salgrade表中,為級別編號grade列創建唯一索引,
Create unique index index_unique_grade on salgrade(grade);
(4.)反向索引示例
在emp表中編號為empno列建反向索引
Create index index_reverse_empno on emp (empno) reverse;
(5.)點陣圖索引優點:
對於大批及時查詢,可以減少響應時間
相比其他索引技術,占用空間比較少
即使配置低,也能獲得顯著的性別
(6.)刪除索引:
Drop index 索引名;
(7.)重建索引
Alter index 索引名 rebuild noreverse;
七:分區表
(1.)優點
改善表的查詢性能
表更容易管理
便於備份和恢復
提高數據安全性
(符合以下條件可以建成區分表1.數據量大於2G,數據的劃分明顯)
(2.)分區表的分類
範圍分區,列表分區,散列分區,複合分區,間隔分區(優點:分區劃分清楚,明細),虛擬化分區。
(3.)創建間隔分區語法:
Alter table 分區表名稱 add partition 分區名 ralue less than (maxrelue);