oracle建表過程的一些指令碼步驟

來源:互聯網
上載者:User

所有代碼均在oracle 9i的sql*plus中測試。以下這些步驟最好各建立獨立檔案來運行。

    一,建立自己的使用者檔案(表的擁有者)。

PROMPT -------------------------------------;
PROMPT This part is to setup object creator.;
PROMPT -------------------------------------;
PROMPT;

DROP USER 你要建立的使用者名稱 CASCADE;
CREATE USER 你要建立的使用者名稱 IDENTIFIED BY 你要建立的使用者密碼
  DEFAULT TABLESPACE USERs(USERs這裡注意8i聽說是USER_DATA)
  TEMPORARY TABLESPACE TEMP;(TEMP這裡注意8i聽說是TEMPORARY_DATA)

GRANT DBA TO 使用者名稱 WITH ADMIN OPTION;

    二、 disc退出;然後用自己建的使用者登入:conn 使用者名稱/密碼@連接字串;
以下操作順序不可顛倒:
    三、建立自己的資料表空間及對應的資料檔案(建立的表都在這些資料表空間上。)檔案

註:我目前的瞭解這些資料表空間個數的建立根據你的資料量,資料量大的表或者模組可以分配單獨的空間。
這裡的資料檔案需要說明一下ora只能建立資料檔案,所以代碼中的存放路徑要你事先建立。
也就是說'd:/database/ora/自訂的模組名a/d01.ora'這塊你要事先在你的系統建立d:/database/ora/自訂的模組名a目錄。
PROMPT;
PROMPT ------------------------------------------;
PROMPT This part is to setup needed table spaces.;
PROMPT ------------------------------------------;

 

CREATE TABLESPACE 自訂的模組名a
  DATAFILE 'd:/database/ora/projet_info/d01.ora' SIZE 2M REUSE
  DEFAULT STORAGE ( INITIAL 50K NEXT 50K
                    PCTINCREASE 0
                    MAXEXTENTS UNLIMITED
                  )
  ONLINE;

CREATE TABLESPACE 自訂的模組名b
.....
代碼幾乎一樣就不重複了。

    四、建立系統用到的角色檔案(根據系統的功能劃分)

PROMPT -----------------------------------;
PROMPT This part is to setup needed roles.;
PROMPT -----------------------------------;
PROMPT;

CREATE ROLE 角色1;

CREATE ROLE 角色2;
。。。。

 

 

GRANT create session,create view TO 角色x,角色y;
grant create session to 角色a;
GRANT create session,
      alter user,create user,drop user,
      grant any role to 角色b;

    五、建立系統一些預設的使用者檔案(如admin,backup等),並分配相應的角色;

PROMPT -----------------------------------;
PROMPT This part is to setup needed users.;
PROMPT -----------------------------------;
PROMPT;

 

DROP USER ADMIN使用者名稱 CASCADE;
CREATE USER admin使用者名稱 IDENTIFIED BY admin密碼
  DEFAULT TABLESPACE USERs(上面提過這裡不重複了)
  TEMPORARY TABLESPACE TEMP;(上面提過這裡不重複了)

GRANT 角色b (這裡結合步驟四來看就是把最大許可權的角色b分給了admin使用者)to admin使用者名稱;

DROP USER 使用者名稱a CASCADE;
CREATE USER 使用者名稱a IDENTIFIED BY 密碼
  DEFAULT TABLESPACE USERs
  TEMPORARY TABLESPACE TEMP;

GRANT 一個前面(四)建立的角色 to test;

DROP USER 使用者名稱b CASCADE;
CREATE USER 使用者名稱b IDENTIFIED BY 密碼
  DEFAULT TABLESPACE USERs
  TEMPORARY TABLESPACE TEMP;

grant create session to 使用者名稱b;
.....

註:四,五這2步不是必需的,根據情況自己選擇吧。

    六、建立表檔案:最好根據實際的業務劃分,分成多個檔案(如all.sql,a.sql,b.sql),方便以後的資料庫維護.
all.sql的內容:@a.sql;
               @b.sql;
a.sql的內容:@table1.sql;
         @table2.sql;
b.sql的內容:@table4.sql;
             @table5.sql;

執行的時候根據需要選擇執行。

補充說明:
1.如果你用的也是SQL*PLUS,執行上述檔案前,先把以上所涉及的各個檔案複製到Oracle安裝目錄下的/bin下面,執行方式如下:
SQL>@檔案名稱;

可能有人會問為什麼純用指令碼建立?便於日後查閱維護。

現學現寫不妥之處還請各位指正。

 

 

出處: http://oracle.chinaitlab.com/induction/717300.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.