Oracle 建立資料庫

來源:互聯網
上載者:User

標籤:注意   必須   base   大數   mem   end   history   extent   sys   

 Oracle資料庫的建立與刪除 之 CREATE DATABASE語句 2011-08-28 16:42:48

分類: Oracle

 

一、概念

   一個Oracle資料庫,最基本的構成(邏輯):

  1. (1)system資料表空間      1個    --> # 用於存貯“資料字典”
  2. (2)sysaux資料表空間      1個    --> # 用於存貯“不屬於資料字典,但Oracle管理所需要的表”
  3. (3)redo log日誌     2組   --> # 用於“記錄所有已提交資料及動作”
  4.                               a. 需要至少2組,一組寫滿後,切換到另一組。
                                       這時可以對已寫滿的這一組日誌進行備份,備份後清空給下一次使用]
  5.                               b. 一組中可以有多份日誌,但它們的內容是完全相同的。這樣就不用擔心因
                                       為某一個記錄檔出問題而影響以後在恢複過程中的使用。
  6. (4)暫存資料表空間       1個   --> # 用於“記憶體排序”時,工作區空間不夠時使用
  7. (5)undo資料表空間       1個     --> # 用於“回退儲存在磁碟上的未提交的資料”

 

 

二、實踐

  1. create database {ORACLE_NAME}     --> # 資料庫名,一般與ORACLE_SID相同
  2. user sys identified by {密碼}       --> # 不設定,則預設為“change_on_install”
  3. user system identified by {密碼}    --> # 不設定,則預設為“manager”
  4. maxlogfiles 5       --> # 最大日誌組數
  5. maxlogmembers 5     --> # 日誌組中最多成員數
  6. maxloghistory 1     --> #(RAC環境下有效,暫不深入)
  7. maxdatafiles 100    --> # 最大資料檔案數(與“DB_FILES”之間的關係?)
                              // 9i後,由DB_FILES參數來控制“最大資料檔案數”。這個參數名存實亡。
  8. logfile group 1 (‘/u01/app/oracle/oradata/orcl/redo01a.log‘,
                     ‘/u01/app/oracle/oradata/orcl/redo01b.log‘,
                     ‘/u01/app/oracle/oradata/orcl/redo01c.log‘) size 20M,
  9.         group 2 (‘/u01/app/oracle/oradata/orcl/redo02a.log‘,
                     ‘/u01/app/oracle/oradata/orcl/redo02b.log‘,
                     ‘/u01/app/oracle/oradata/orcl/redo02c.log‘) size 20M,
  10.         group 3 (‘/u01/app/oracle/oradata/orcl/redo03a.log‘,
                     ‘/u01/app/oracle/oradata/orcl/redo03b.log‘,
                     ‘/u01/app/oracle/oradata/orcl/redo03c.log‘) size 20M
  11.                                --> # 建立日誌組,及組中成員
  12. character set WE8ISO8859P1     --> # 資料庫字元集
  13. national character set UTF8    --> # 國家字元集
  14. extent management local        --> # 指定system資料表空間中,擴充段的管理方式 
                                                              [ local | dictionary ]
    1. // 使用“本地管理(local)”,即位元影像管理方式。(見後面的“Oracle體繫結構”部分)
      // 設定為“本地管理”時,必須同時指定擴充塊的大小(兩種方式):
               1、UNIFORM SIZE(統一大小){單位:“K” 或 “M”};
               2、AUTOALLOCATE(自動分配)
      // 預設為“字典管理(dictionary)”方式。

    2. e.g//
    3.     extent management local autoallocate
    4.     extent management local uniform size 128k
    5.     extent management dictionary
                                        
  15.         
  16. datafile ‘/u01/app/oracle/oradata/orcl/system01.dbf‘ size 500M  
                                                             --> # 建立“system資料表空間”
  17. sysaux datafile ‘/u01/app/oracle/oradata/orcl/sysaux01.dbf‘ size 500M 
                                                             --> # 建立“sysaux資料表空間”
  18. default tablespace users
  19. datafile ‘/u01/app/oracle/oradata/orcl/users01.dbf‘ size 500M autoextend on maxsize unlimited                            --> # 建立“預設(永久)資料表空間” 
                                      // 使用者建立表時,若沒有指定資料表空間,則放在此資料表空間中
  20. default temporary tablespace temptbs
  21. tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf‘ size 300M 
                                  --> # 建立“預設暫存資料表空間”
  22. undo tablespace undotbs1
  23. datafile ‘/u01/app/oracle/oradata/orcl/undotbs01.dbf‘ size 300M autoextend on maxsize unlimited                          --> # 建立“undo資料表空間”(即:撤銷資料表空間) 
                                      // 注意:這裡的undo資料表空間名,一定要與
                                              “參數檔案中的undo資料表空間”名稱一樣,否則建立失敗
  24. set time_zone = ‘+08:00‘;      --> # 指定時區

 

三、CREATE DATABASE的其他子句

    1. maxinstances                --> # 一個資料庫最多可以有多少個執行個體(用於RAC下)
    2. noarchivelog / archivelog   --> # 非歸檔模式 / 歸檔模式
    3.  force logging              --> # 
除了對暫存資料表空間的操作,對其他對象的所有操作都需要記到日誌中 
  1. set default tablespace smallfile | bigfile --> # 指定資料表空間的物理實現方式
  2.                   // smallfile   一個資料表空間可以有一個或多個資料檔案組成
  3.                               // bigfile   一個資料表空間只能有一個資料檔案組成
                                                                (一般用於ASM環境下)

 

四、技巧

      (1)終端視窗A:

  1. SQL> startup nomount ;

      (2)終端視窗B:

  1. SQL> tail -f $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_orcl.log

      (3)終端視窗A:

  1. SQL> create database ....;

      (4)終端視窗B:

  1. (這時,可以看到create database語句的執行細節)

 

 參考:Oracle資料庫的建立與刪除 之 CREATE DATABASE語句 

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.