標籤:oracle 資料表空間 sqlplus命令
1. 資料表空間的概念
以前接觸過的資料庫都沒有聽到過資料表空間這個詞,在前一段時間看到Oracle資料庫的時候發現資料表空間無處不在。所以資料表空間在Oracle資料庫中應該是一個很常用並且很重要的概念。
資料表空間是一種邏輯上的概念,邏輯上的儲存單元。那麼什麼叫做邏輯上的儲存單元呢。現在通過兩張圖來對比
資料表空間(table space)是Oracle資料庫中最大的邏輯結構。從邏輯上說,Oracle資料庫是由若干個資料表空間組成的。資料表空間與資料庫的物理結構有著十分密切的關係,它與磁碟上若干個資料檔案相對應。
從物理上說資料庫的資料被存放在資料檔案中,從邏輯上說資料是被存放在資料表空間中。
資料表空間這個概念是面向使用者的,當我們使用Oracle資料庫的時候會發現我們都是建立資料表空間,然後再資料表空間裡面建立資料庫物件的。而我們不會建立資料檔案,然後再在資料庫檔案中建立資料庫物件。
2. Sql plus
第一次串連Oracle的時候發現沒有可視化的操作介面,而是通過sql * plus命令在dos中進行操作的。所以在介紹一個sql plus。
Oracle的sql*plus是與oracle進行互動的用戶端工具,藉助sql*plus可以查看、修改資料庫記錄。在sql*plus中,可以運行sql*plus命令與sql語句。SQLPLUS是ORACLE公司的隨機安裝產品
現在有很多Oracle的用戶端是很好用的,比如PL/SQL,提供了可視化的圖形介面,很方便操作,在網上找了一篇介紹網頁版的用戶端大家有興趣可以學學看:http://blog.csdn.net/ggibenben1314/article/details/38237279
3. 使用sql*plus命令登陸資料庫(針對的是Oracle 11g)
使用oracle首先要登入到oracle資料庫中。在Oracle資料庫安裝好之後就有兩個系統內建的使用者:
使用者名稱 |
密碼 |
system |
自己在安裝的時候輸入的管理口令 |
sys as sysdba |
root |
如果不知道system或者sys 的密碼那要如何登陸到系統中
但是登陸的時候還有一個問題,解決方案就是使用sysdba身份登陸
1. 輸入sysplus 斷行符號
2. 使用者名稱輸入 system as sysdba 斷行符號(或者sys as sysdba 斷行符號)
3. 密碼什麼都不輸入直接斷行符號
就可以登入資料庫
其中as sysdba 就是以sysdba登入。oracle登入身份有三種:
normal 普通身份
sysdba 系統管理員身份
sysoper 系統操作員身份
每種身份對應不同的許可權。
4. 使用sql*plus命令進行一些簡單的操作
開始建立資料庫資料表空間,命令格式如下:
create tablespace 資料表空間名 datafile ‘對應的檔案名稱‘ size 大小;
舉例如下:
create tablespacetest_pf datafile ‘D:\testOracle\test_pf.dbf‘ size 300m;
(300m指的是300MB)
其中testOracle需要先建立好,不然會提示資料檔案不存在。
建立使用者
create user 使用者名稱identified by 密碼 default tablespace ;(預設資料表空間)
修改使用者的許可權:
grant 角色1,角色2 to 使用者名稱;
舉例如下:
create user test_user identified by test123 default tablespace test_pf;
grant dba, connect to test_user;
5. 資料表空間和使用者之間的關係
資料表空間和使用者之間是一種多對多的關係,即一個使用者可以操作多個資料表空間,一個資料表空間可以被多個使用者操作。
一個使用者只能分配一個預設資料表空間,但可以分配多個非預設資料表空間。具體的分配文法
alter user test_pf
quota unlimited on xxx1
quota unlimited on xxx2;
6. 總結
關於Oracle資料庫和之前接觸過的sql server比起來資料表空間應該是最大的不一樣,但是除了這個概念是新東西之外,其他的很多東西都和其他的資料庫是想通的,所以雖然是剛開始接觸這個他,但是和之前的知識聯絡起來不會很難的。