Oracle的資料表空間和sqlplus,oraclesqlplus

來源:互聯網
上載者:User

Oracle的資料表空間和sqlplus,oraclesqlplus
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比起來資料表空間應該是最大的不一樣,但是除了這個概念是新東西之外,其他的很多東西都和其他的資料庫是想通的,所以雖然是剛開始接觸這個他,但是和之前的知識聯絡起來不會很難的。


問,Oracle資料表空間的各個屬性分別是什??

不用去理解太多,太過複雜,而且記不住資料庫安裝完成後,使用SYS使用者登入到資料庫,建立資料表空間和使用者。
登入的指令碼為sqlplus / as sysdba
建立資料表空間的指令碼:
create tablespace project_data datafile 'E:\oracle\product\10.2.0\oradata\project\project_data.dbf' size 4096M AutoExtend On Next 1024M Maxsize 10240M extent management local segment space management auto;
create temporary tablespace project_temp tempfile 'E:\oracle\product\10.2.0\oradata\project\project_temp.dbf' size 2048m autoextend on next 1024m maxsize 10240m extent management local;
如果伺服器的硬碟空間不夠大,可以適當調小一點參數的大小或者把資料表空間檔案建立到其它空間比較大的硬碟當中。
在實際中,掌握建立資料表空間和臨時空間很重要,要理解這兩段,慢慢去著手,希望能幫到你
 
oracle調整資料表空間

Oracle sql developer 中沒有可視化的資料表空間調整介面,只能用命令的方式。
Oracle的企業管理器中可進行可視化調整。只有11gR2開始才支援資料表空間縮小,以前的版本只能增加,不能縮小。註:11g後就找不到Oracle企業管理器了。
 

相關文章

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.