oracle数据库02195,数据库表空间操作 - osc_w33tzsln的个人空间 - OSCHINA - 中文开源技术交流社区...

注意点:

1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执行

2.确保路径存在,比如 C:\oracle\oradata\Oracle11\ 也就是你要保存文件的路径存在

3.以下语句必须为dba权限的用户才可以执行成功。

分为四步

第1步:创建临时表空间

create temporary tablespace user_temp

tempfile'C:\oracle\oradata\Oracle11\user_temp.dbf'size 50m

autoextend on

next 50m maxsize 20480m

extent management local;

说明:

user_temp 为需要创建的临时表空间的名称,根据实际情况可以自行变更。

tempfile 后面为临时表空间文件存放的磁盘位置,文件不需要创建,但文件夹需要创建好。

Create [TEMPORARY] TABLESPACE tablespace_name TEMPFILE|DATAFILE 'fileName.dbf' size xx

#TEMPFILE|DATAFILE 指的是我们存储的数据文件的类型和名字。

#size 表示数据文件的大小

#[TEMPORARY] 如果我们创建的是临时表空间,那么需要在create关键字后加上TEMPORARY的关键字,而且使用TEMPFILE关键字。

创建永久表空间

create tablespace FNBANK

datafile'/opt/11g/oracle/oradata/nontax/bank.dbf'size 50m

autoextend on

next 50m maxsize 20480m

extent management local;

创建临时表空间会报错:

ORA-02195: 尝试创建的PERMANENT对象在TEMPORARY表空间中

解决方案:把临时表空间删除。新建永久表空间

----删除表空间

DROP TABLESPACE 表空间名字 INCLUDING CONTENTS AND DATAFILES;----查看表空间select * fromdba_tablespaces;----查看表空间存储位置select * from dba_data_files

第2步:创建数据表空间

create tablespace user_data

logging

datafile'C:\oracle\oradata\Oracle11\user_data.dbf'size 50m

autoextend on

next 50m maxsize 20480m

extent management local;

说明:

user_data 为需要创建的临时表空间的名称,根据实际情况可以自行变更。

datafile 后面为表空间文件存放的磁盘位置,文件不需要创建,但文件夹需要创建好。

第3步:创建用户并指定表空间

create user username identified by passworddefaulttablespace user_data

temporary tablespace user_temp;

说明:

username 为需要创建数据库用户的用户名,根据实际情况可以自行变更。

password为需要创建数据库用户的用户密码,根据实际情况可以自行变更

user_data 为分配给该用户的表空间,根据实际情况可以自行变更

user_data 为分配给该用户的临时表空间,根据实际情况可以自行变更

第4步:给用户授予权限

grant connect,resource,dba to username;

说明:

username 为需要分配权限用户的用户名,根据实际情况可以自行变更。

connect,resource,dba 分别三种不同操作权限,根据实际情况可以自行变更。

实例:

CREATE TABLESPACE FS_BSAF_TBS

LOGGING

DATAFILE'+DATA/bspjdb/datafile/FS_BSAF_TBS_01.dbf'SIZE 2G

AUTOEXTEND ON NEXT 100M MAXSIZE 2G

EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

一个表空间的大小也不是可以通过添加数据文件的方式随便加的。

如果你建的是一般的表空间(smallfile)的话一个表空间的最大大小应该是4m个oracle块。

如果你建的是bigfile表空间的话,一个表空间的最大大小应该是4g个oracle块。

不过不建议把一个表空间建的太大,如果太大的话一方面备份花费的时间长,另外一方面是,对存放在该表空间上的数据不安全,如果表空间出错了,那么该表空间上的数据都会丢掉。

查看表空间的使用情况:

https://blog.csdn.net/high2011/article/details/50674081

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值