建库前的脚本(建立用户和表空间)

来源:互联网 发布:团队精神 知乎 编辑:程序博客网 时间:2024/06/09 17:54
create user 用户名 identified by 用户密码;
create tablespace ts_lrss_data(表空间名称) datafile '/u01/app/oracle/oradata/orcl11g/lrss_data01.dbf' size 5G;
create tablespace ts_lrss_ind datafile '/u01/app/oracle/oradata/orcl11g/lrss_ind01.dbf' size 5G;
alter user lrss default tablespace ts_lrss_data;
 grant connect,resource to 用户名;

任务:
1、创建2个表空间ts_portal_data和ts_portal_index

2、创建用户portal

3、为用户portal指定默认的表空间

操作:
使用DBA账号执行以下指令:
create tablespace ts_portal_data  datafile '/data/oracle/app/oradata/orcl_dev/portal_data01.dbf' size 2G;
create tablespace ts_portal_index  datafile '/data/oracle/app/oradata/orcl_dev/portal_index01.dbf' size 1G;

/*create user 用户名 identified by 用户密码;
如果没有portal用户就需要执行
create user portal identified by test default tablespace ts_portal_data;
如果已经有了portal用户就需要执行
alter user portal default tablespace ts_portal_data;
*/


 grant connect,resource to portal;


create tablespace ts_mms_data  datafile '/data/oracle/app/oradata/orcl_dev/mms_data01.dbf' size 5G;
create tablespace ts_mms_index  datafile '/data/oracle/app/oradata/orcl_dev/mms_index01.dbf' size 2G;
create user mms identified by test default tablespace ts_mms_data;
 grant connect,resource to mms;

create tablespace ts_pms_data  datafile '/data/oracle/app/oradata/orcl_dev/pms_data01.dbf' size 2G;
create tablespace ts_pms_index  datafile '/data/oracle/app/oradata/orcl_dev/pms_index01.dbf' size 1G;
create user pms identified by test default tablespace ts_pms_data;
 grant connect,resource to pms;






Oracle表空间之基本概念
ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
每个ORACLE数据库均有SYSTEM表空间,这是数据库创建时自动创建的。SYSTEM表空间必须总要保持联机,因为其包含着数据库运行所要求的基本信息(关于整个数据库的数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件产品要求的表)。
一个小型应用的ORACLE数据库通常仅包括SYSTEM表空间,然而一个稍大型应用的ORACLE数据库采用多个表空间会对数据库的使用带来更大的方便。
Oracle表空间之作用
表空间的作用能帮助DBA用户完成以下工作:
1.决定数据库实体的空间分配;
2.设置数据库用户的空间份额;
3.控制数据库部分数据的可用性;
4.分布数据于不同的设备之间以改善性能;
5.备份和恢复数据。
用户创建其数据库实体时其必须于给定的表空间中具有相应的权力,所以对一个用户来说,其要操纵一个ORACLE数据库中的数据,应该:
1.被授予关于一个或多个表空间中的RESOURCE特权;
2.被指定缺省表空间;
3.被分配指定表空间的存储空间使用份额;
4.被指定缺省临时段表空间,建立不同的表空间,设置最大的存储容量。


在一些大型的数据库应用中,我们需要控制某个用户或者某一组用户其所占用的磁盘空间。这就好像在文件服务器中,需要为每个用户设置磁盘配额一样,以防止硬盘空间耗竭。所以,在数据库中,我们也需要限制用户所可以使用的磁盘空间大小。为了达到这个目的,我们就可以通过表空间来实现。
我们可以在Oracle数据库中,建立不同的表空间,为其设置最大的存储容量,然后把用户归属于这个表空间。如此的话,这个用户的存储容量,就受到这个表空间大小的限制。当然,表空间的优势还不仅仅这些,企业对于数据库的性能要求越高,或者数据库容量越大,则表空间的优势就会越大。
下面,我们就具体来看看Oracle数据库中表空间的处理方式,看其在性能与安全性方面是否有足够的优势与SQL Server数据库抗衡。
Oracle空间
[1] 在数据库设计的时候,我们建议数据库管理员按如下顺序设置表空间。
第一步:建立Oracle用户表空间。
在设计数据库的时候,首先需要设计表空间。我们需要考虑,是只建立一个表空间呢,还是需要建立多个表空间,以及各个表空间的存放位置、磁盘限额等等。
到底设计多少个表空间合理,没有统一的说法,这主要根据企业的实际需求去判断。如企业需要对用户进行磁盘限额控制的,则就需要根据用户的数量来设置表空间。当企业的数据容量比较大,而且又对数据库的性能有比较高的要求时,就需要根据不同类型的数据,设置不同的表空间,以提高其输入输出性能。
第二步:建立Oracle用户,并指定用户的默认表空间。
在建立用户的时候,我们建议数据库管理员要指定用户的默认表空间。因为我们在利用CREATE语句创建数据库对象,如数据库表的时候,其默认是存储在数据库的当前默认空间。若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都会存储在数据库默认表空间中,如果想存储在自己建的表空间中,最好自己指定自己建的表空间为默认表空间。
另外要注意,不同的表空间有不同的权限控制。用户对于表空间A具有完全控制权限,可能对于表空间B就只有查询权限,甚至连连接的权限的都没有。所以,合理为用户配置表空间的访问权限,也是提高数据库安全性的一个方法。

原创粉丝点击