如何在Oracle下新建用户,并指定表空间

作为一个初级程序员经常接到一个需求,那就是去数据库里新建一个用户,然后导入测试数据。
最开始的时候想法很简单,创建一个用户然后授权就完了呗

create user supermap identified by supermap;
grant connect to supermap;                                        
grant resource to supermap;

后来随着对数据库的学习,发现上述方式有很多的缺陷,如果只是测试还好,但是如果是正式环境有可能会产生问题

那么正确的创建用户的姿势是什么样的呢?

先建立临时表空间

create temporary tablespace user_temp
tempfile '/home/app/oracle/oradata/orcl/supermap_temp.dbf'    /*指定数据库文件*
size 50m     /*数据库文件初始大小*/
autoextend on     /*autoextend on    表空间大小不够用时自动扩展*/
next 50m    /*next 50m 自动扩展增量为50MB */
maxsize 20480m   /*数据文件最大为20g */
extent management local;   /*extent management local   代表管理方式为本地*/

说明一下为什么要建临时表空间,临时表空间主要用途是在数据库进行排序运算]、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。

然后建立数据库表空间

create tablespace supermap
/*logging 是对象的属性,创建数据库对象时,oracle 将日志信息记录到练级重做日志文件中。代表空间类型为永久型 */
logging                 
datafile '/home/app/oracle/oradata/orcl/supermap.dbf'   /*指定数据库文件*/
size 50m							/*数据库文件初始大小*/
autoextend on                  /*autoextend on    表空间大小不够用时自动扩展*/
next 50m 				/*next 50m 自动扩展增量为50MB */
maxsize unlimited      /*数据文件可以无限增大,unlimited慎用 */
extent management local;    /*extent management local   代表管理方式为本地*/
  • datafile子句:在建立表空间的时候,都会生成至少一个数据文件作为表空间信息保存的地方。如果在Create tablespace时没有进行指定datafile子句,那么Oracle会自动依据OMF的方式创建出一个数据文件

  • size子句:指定生成数据文件的初始大小,默认值通常为100m。对成熟的系统部署移植工作而言,通常是可以确定文件的固定大小。避免经常性的文件膨胀,引起性能变化;

  • autoextend开关与next子句:文件大小变化开关是通过autoextend来实现的。如果设置on,表示该文件允许进行动态拓展,文件写满之后就会以next指定的大小进行拓展。如果设置为off,则该文件不进行拓展;

  • next子句:当文件设置为可拓展时,next为每次进行拓展的步长。如果数据文件是经常大批量的增加,设置一个较大的next值为好;

  • maxsize子句:文件大小上限;

创建用户并指定表空间

create user supermapidentified by supermap
default tablespace user_data
temporary tablespace user_temp;

授权

grant connect to supermap;                                        

grant resource to supermap;                                      

grant dba to supermap; 
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值