首页 > 学院 > 软件教程 > 正文

Oracle进行空间扩展的教程

2020-03-08 04:50:41
字体:
来源:转载
供稿:网友

  Oracle Database是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品,系统可移植性好、功能强,它是一种高效率、可靠性好、适应高吞吐量的数据库解决系统。在平时的学习或工作中,常接触这款软件的朋友会发现有的时候数据库空间显示满了,导致管理软件不效能出现问题或者甚至不能使用,怎么才能解决这个问题呢?今天小编就为大家带来了处理这个问题的方法。

Oracle进行空间扩展的教程

方法/步骤:

oracle 11g 64位

大小:2 GB版本:官方版环境:WinXP, Win7, WinAll

进入下载

  1、查询用户对应的表空间,我们可以看到针对不同的数据库用户Oracle。

  select username, default_tablespace, temporary_tablespace

  from dba_users;

Oracle进行空间扩展的教程

  2、查询用户的对应的数据文件,以及数据文件大小。

  select tablespace_name, file_id, file_name,

  round(bytes/(1024*1024),0) total_space

  from dba_data_files

  order by tablespace_name;

Oracle进行空间扩展的教程

  3、根据第一二个步骤,用户对应的表空间,以及表空间的大小,可以在通过下述语句查看目前使用百分比,如果所用空间不再下述查询范围内,则证明此空间已经满了,没有剩余量的空间在下面的SQL中没有展示,我们可以看到有一个空间已经到了95%

  SELECT a.tablespace_name "表空间名",

  total "表空间大小",

  free "表空间剩余大小",

  (total - free) "表空间使用大小",

  total / (1024 * 1024 * 1024) "表空间大小(G)",

  free / (1024 * 1024 * 1024) "表空间剩余大小(G)",

  (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",

  round((total - free) / total, 4) * 100 "使用率 %"

  FROM (SELECT tablespace_name, SUM(bytes) free

  FROM dba_free_space

  GROUP BY tablespace_name) a,

  (SELECT tablespace_name, SUM(bytes) total

  FROM dba_data_files

  GROUP BY tablespace_name) b

  WHERE a.tablespace_name = b.tablespace_name ;

Oracle进行空间扩展的教程

  4、此时我们执行空间扩增语句。把刚才使用率95%空间从1800M扩增到3000M

  alter database datafile '/u2/oracle/PLM_SD_data' resize 3000m

Oracle进行空间扩展的教程

  5、此时在执行空间使用率查询语句得出如下的结果,可以看到空间扩增成功。

Oracle进行空间扩展的教程

  6、最后我们在通过SQL语句查询一下空间是不是变成了3000M。为了防止空间不够,导致异常,还可以设置空间自动延展。但是不太建议使用此功能,有可能会导致空间的无限蔓延。

Oracle进行空间扩展的教程

  以上就是小编解决数据库空间满了的方法,有需要的朋友快来试一试吧!

  PS:一定要用SYS用户登录才可以使用上述的语句。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表