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


可能有人会问为什么纯用脚本建立?便于日后查阅维护。 

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