oracle ora-01652/oracle表空间

参考:

oracel bigfile tablespace:(推荐)

http://blog.chinaunix.net/uid-20779720-id-3078273.html

ora-01652解决

http://www.cnblogs.com/songling/archive/2011/03/04/1970965.html

出现:ora-01652无法通过128(在表空间xxx中)扩展temp段

这种错误可能曾在两种原因:(下面两种情况针对普通的smallfile tablespace)

注:默认情况下我们创建表空间时,都是smallfile tablespace,除非我们指定了为create bigfile tablespace

1. 如果xxx表空间的数据文件没有达到上限(一般32G),则可能是临时表空间大小不够了,这种情况下,我们可以通过修改临时表空间的大小或者将临时表空间改为autoextend模式,这样一般就可以解决问题。临时表空间在进行大数据的排序等操作时如果表空间太小容易产生这种情况。另外,如果是临时表空间,还有可能是临时表空间爆满导致的,此时可以通过删除临时表空间重建这种简单粗暴的方式解决。

----删除表空间及数据文件
drop tablespace worktmp including contents and datafiles cascade constraints;
----创建临时表空间
create temporary tablespace worktmp tempfile ‘/Oracle11R2/oradata/PMPTGDB/worktmp.dbf‘ size 1024M autoextend on next 100m maxsize unlimited;

临时表空间

    临时表空间主要用途是在数据库进行排序运算[如创建索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、管理索引[如创建索引、IMP进行数据导入]、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。

2. 如果xxx表空间的数的数据文件过大,达到了上限(一般32G),此时无法自动扩展表空间了,在这中情况下,就需要给表空间添加新的数据文件来解决这一问题。

---- 给指定的表空间添加数据文件
alter tablespace work
add datafile ‘/media/hdd1/oradata/PMPTGDB/work1.dbf‘ size 1024M autoextend on next 100m maxsize unlimited;

查看表空间的相关sql语句:

---- 查看表空间
select* from dba_tablespaces;
---- 查看表空间细节
select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_data_files;--dba_temp_fileselect tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_file;---- 查看用户表空间信息select username,temporary_tablespace,default_tablespace from dba_users;---- 修改表空间为自动扩展alter database tempfile ‘/Oracle11R2/oradata/PMPTGDB/worktmp.dbf‘ autoextend on next 100m maxsize unlimited;
时间: 2024-10-23 13:01:09

oracle ora-01652/oracle表空间的相关文章

Oracle bigfile 大文件表空间

Database 是由一个或多个被称为表空间(tablespace)的逻辑存储单位构成.表空间内的逻辑存储单位为段(segment),段又可以继续划分为数据扩展(extent).而数据扩展是由一组连续的数据块(datablock)构成. 大文件表空间 在Oracle中用户可以创建大文件表空间(bigfile tablespace).这样Oracle数据库使用的表空间(tablespace)可以由一个单一的大文件构成,而不是若干个小数据文件.这使Oracle可以发挥64位系统的能力,创建.管理超大

Oracle数据导入指定表空间

Oracle数据导入指定表空间 1. 打开工具Oracle SQL Plus 以dba身份登录sys用户sqlplus /nologconn [email protected] as sysdba 2. 创建用户并指定表空间 使用客户端工具或者Web管理控制台创建表空间以及用户给用户赋予connect.resource.dba权限grant connect,resource,dba to username; 注意:给oracle用户分配connect.resource角色时,此时connect

实例讲解Oracle数据库设置默认表空间问题

实例讲解Oracle数据库设置默认表空间问题 实例讲解Oracle数据库设置默认表空间问题,阅读实例讲解Oracle数据库设置默认表空间问题,DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空 DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空间.导致系统

oracle 所有查询和表空间,以及其关系

select * from dba_users;   查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system select * from all_users;     查看你能管理的所有用户 select * from user_users; 查看当前用户信息 查询用户的表空间: select username,default_tablespace from dba_users;  查询数据库所有用户所在表空间 select username,default_tablesp

Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出

1.1进入到sqlplus启动实例 [[email protected] ~]$ su - oracle                                 --“切换到oracle用户”[[email protected] ~]$ lsnrctl start                               --“打开监听”[[email protected] ~]$ sqlplus /nolog                                --“进入到

Oracle创建用户、表空间并设置权限

代码: sqlplus /nolog conn / as sysdba //创建账号 create user techrpt_data identified by techrpt_data ; //创建临时表空间 create temporary tablespace TECHRPT_DATA_TEMP tempfile 'D:\ORACLE\ORADATA\ORCL\TECHRPT_DATA_TEMP.dbf' size 32m autoextend on next 32m maxsize 2

内网环境下centos7.4离线安装oracle,及不同用户表空间迁移数据

初始环境为Centos7.4 Mini安装后的系统,最开始用镜像iso做为yum源,安装oracle,在静默安装的时候报错,后来用一台同样环境的系统,开启yum缓存,下载安装依赖环境,让rpm包离线下载后,传到这台服务器,在静默安装,还是失败,最后网上找了个离线安装依赖包,成功静默安装及建库,将源oracle下的用户及表空间数据迁移到新安装的oracle用户和表空间下.以后安装可以直接安装离线依赖包 安装前的准备: 1. 修改主机名 #sed -i "s/HOSTNAME=localhost.l

Oracle创建新undo表空间最佳实践(包含段检查)

在处理一则ORA-600 [4194]案例时,参考MOS文档:Step by step to resolve ORA-600 4194 4193 4197 on database crash (文档 ID 1428786.1) 1.对于ORA 600[4194]的解释 2.创建新undo表空间最佳实践(包含段检查) 1.对于ORA 600[4194]的解释: The following error is occurring in the alert.log right before the da

Oracle学习笔记八 表空间

表空间 表空间是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间 . 分区表 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区.表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表. 注意:已经存在的表没有方法可以直接转化为分区表 Oracle允许用户将一个表分成多个分区,用户可以执行查询,只访问表中的特定分区,也

oracle下正确删除表空间的方法

Oracle因为本身的多重验证机制所有在删除表空间时不像MySQL中删除database一样,可以通过外部的删除直接删除掉database文件夹就可以删除掉database,当然这两者是2种不同的东西,在此仅用于举例说明.在Oracle中表空间相当于系统中的硬盘,Oracle可以通过修改配置表空间来对Oracle下的数据进行存储,所以在Oracle下表空间是非常重要的,尤其是在表空间文件处理不当都会造成Oracle的不稳定,在此就说一说如何正确的删除Oracle的表空间. 删除表空间时,需要确定