以前接觸過的數據庫都沒有聽到過表空間這個詞,在前一段時間看到Oracle數據庫的時候發現表空間無處不在。所以表空間在Oracle數據庫中應該是一個很常用並且很重要的概念。
表空間是一種邏輯上的概念,邏輯上的存儲單元。那麼什麼叫做邏輯上的存儲單元呢。現在通過兩張圖來對比
表空間(table space)是Oracle數據庫中最大的邏輯結構。從邏輯上說,Oracle數據庫是由若干個表空間組成的。表空間與數據庫的物理結構有著十分密切的關系,它與磁盤上若干個數據文件相對應。
從物理上說數據庫的數據被存放在數據文件中,從邏輯上說數據是被存放在表空間中。
表空間這個概念是面向用戶的,當我們使用Oracle數據庫的時候會發現我們都是創建表空間,然後再表空間裡面創建數據庫對象的。而我們不會創建數據文件,然後再在數據庫文件中創建數據庫對象。
第一次連接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
使用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 系統操作員身份
每種身份對應不同的權限。
開始創建數據庫表空間,命令格式如下:
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;
表空間和用戶之間是一種多對多的關系,即一個用戶可以操作多個表空間,一個表空間可以被多個用戶操作。