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

2021-04-13 00:28:16 字數 2911 閱讀 4057

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

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>@檔名;

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

Oracle 建使用者 表空間指令碼

建表空間 create tablespace 使用者 datafile d oradatadev 使用者 dbf size 200m autoextend onnext 50m maxsize 4096m extent management local create temporary tables...

Oracle 儲存過程動態建表

動態sql,顧名思義就是動態執行的sql,也就是說在沒執行之前是動態的拼接的。任務 傳入引數 新建的表名hd 當前的年和月,例如hd 201105 表結構是 欄位1 id 型別是number,可以自動增加 欄位2 name 型別是varcha2,長度20 欄位3 city 型別是varchar2,長...

oracle 儲存過程的一些基本語法

1.基本結構 create or replace procedure 儲存過程名字 引數1 in number,引數2 in number is 變數1 integer 0 變數2 date begin end 儲存過程名字 2.select into statement 將select查詢的結果存...