Oracle資料庫應用

來源:互聯網
上載者:User

標籤:速度   art   授權   技術分享   char   登陸   ace   start   最大值   

01.資料表空間

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

使用該CREATE TABLESPACE語句建立一個資料表空間,該資料表空間是資料庫中可以包含模式對象的空間分配。

資料表空間屬性:

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

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

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

資料表空間分類:

 

一個永久資料表空間包含持久模式對象。永久資料表空間中的Object Storage Service在資料檔案中。

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

一個暫存資料表空間包含模式對象只有一個會話的期間。暫存資料表空間中的Object Storage Service在臨時檔案中。

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

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

 

資料表空間作用

方便儲存管理

提高I/O效能

備份和恢複

 1 --查看當前資料庫的所有資料表空間  注意需管理員權限 2 select tablespace_name from dba_tablespaces;  3 --用system登入 授權資料表空間許可權 4 GRANT CREATE tablespace to LIUTAO 5  6 --建立表的同時指定資料表空間 7 create table grade 8 ( 9    gid number primary key not null,10    gname nvarchar2(32)11 )tablespace jbit12 13 --建立資料表空間  第一次和建立至少指定一種物理檔案14 create tablespace jbit15 datafile ‘E:\app\Administrator\oradata\orcl\jbit.DBF‘16 size 10M --初始大小17 autoextend on next 32M maxsize unlimited18 19 --用system登入 授權資料表空間刪除許可權20 GRANT drop tablespace to LIUTAO21 --刪除資料表空間的同時刪除物理檔案22 drop 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 --建立一個序列2 create sequence seq_first3 --查詢下一個序列4 select seq_first.nextval from dual5 --查詢當前序列6 select seq_first.currval from dual7 --使用序列8 insert 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登入,授予私人同義字的許可權 8 grant create synonym to LIUTAO 9 --用liutso登入  建立學生表的同義字 10 CREATE synonym stu for LIUTAO.STUDENT11 12 --建立共有同義字許可權13 GRANT create PUBLIC SYNONYM to LIUTAO14 15 --用liutao登入,建立班級表的同義字16 CREATE PUBLIC SYNONYM gra for LIUTAO.grade17 select * from gra18 --liutao登陸模式授權19 grant select on grade to PUBLIC20 --查看某張表的同義字21 SELECT * FROM SYS.ALL_SYNONYMS WHERE table_NAME=‘GRADE‘22 --刪除私人同義字23  drop synonym gra24 --用system登入,授予liutao刪除共有同義字的許可權25 grant drop PUBLIC SYNONYM to LIUTAO26 --刪除共有同義字 DROP PUBLIC SYNONYM public_emp;  刪除名為public_emp的公有同義字 27 drop PUBLIC SYNONYM gra

 

小補充:收回許可權

1 --用system登入收回許可權2 revoke drop tablespace from LIUTAO

 

Oracle資料庫應用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.