Oracle Script編寫

一,創建自己的用戶文件(表的擁有者)。

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;


PROMPT是打印這一行,註釋用/*  */


    二、 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>@文件名;


可能有人會問爲什麼純用腳本建立?便於日後查閱維護。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章