主库USERS表空间不足 通过RENAME解救空间紧缺的DG系统

周日为了挽救主库USERS表空间不足临时扩了20G表空间,导致DG库的/bak/datafile/目录不足。 日志应用到扩表空间的归档就崩溃,同时更悲剧的是空间不足导致SYSTEM表空间写入也发生了异常。 对于该问题首先想到系统级别扩容,通过系统级别的resize2fs经过确认无法扩容。通过分区合并由于没有相邻的分区也无法进行,只有采用ORACLE层面的方式。我们的DG系统因为空间紧缺数据文件写到了两个不同的文件夹,既然数据可以写到两个目录,肯定可以写到三个目录,会不会是控制文件里有定义,马上创建了PFILE,但从PFILE里面没有发现有用的数据文件重定向信息,又查找资料,发现了救命的RENAME命令,通过RENAME命令解决了数据文件迁移的问题。

文件系统              容量  已用 可用 已用% 挂载点
/dev/sda3              19G  470M   18G   3% /
/dev/sda12            125G  105G   14G  89% /bak
/dev/sda10            9.5G  151M  8.9G   2% /tmp
/dev/sda9             9.5G  318M  8.7G   4% /var
/dev/sda8              19G  173M   18G   1% /opt
/dev/sda7              19G  4.0G   14G  23% /weblogic
/dev/sda2              48G  4.0G   41G   9% /usr
/dev/sda6              48G   28G   18G  61% /home
/dev/sda5              95G   76G   15G  85% /u01
/dev/sda1             1.9G   42M  1.8G   3% /boot
tmpfs                 3.9G     0  3.9G   0% /dev/shm
[root@L-DB-163-18 datafile]# umount /weblogic
[root@L-DB-163-18 datafile]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda3              19G  470M   18G   3% /
/dev/sda12            125G  105G   14G  89% /bak
/dev/sda10            9.5G  151M  8.9G   2% /tmp
/dev/sda9             9.5G  318M  8.7G   4% /var
/dev/sda8              19G  173M   18G   1% /opt
/dev/sda2              48G  4.0G   41G   9% /usr
/dev/sda6              48G   28G   18G  61% /home
/dev/sda5              95G   76G   15G  85% /u01
/dev/sda1             1.9G   42M  1.8G   3% /boot
tmpfs                 3.9G     0  3.9G   0% /dev/shm    

[root@L-DB-163-18 datafile]# e2fsck -f /dev/sda12
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/bak: 24/33718272 files (12.5% non-contiguous), 28482930/33714402 blocks
[root@L-DB-163-18 datafile]# resize2fs /dev/sda12 128G;
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/sda12 is mounted on /bak; on-line resizing required
Performing an on-line resize of /dev/sda12 to 33554432 (4k) blocks.
The filesystem on /dev/sda12 is now 33554432 blocks long.
空间不够,通过UNMOUNT其他文件系统扩容需要的文件系统后来仔细研究了下确实是不行的。
必须从分区层面进行,尝试fdisk /dev/sda\d\7\w删除了无用的分区,研究分区合并也行不通,
因为sda12相邻的分区没有可用空间,从分区层面扩容无法成行,    

在数据库层面原本可以通过OPEN数据库把数据文件重命名的动作由于SYSTEM表空间未完全写完一个事物而无法OPEN,
RENAME操作报错,具体如下。
SQL> alter tablespace TEMP rename datafile '/bak/datafile/temp01.dbf' to '/usr/datafile/temp01.dbf';
alter tablespace TEMP rename datafile '/bak/datafile/temp01.dbf' to '/usr/datafile/temp01.dbf'
*
ERROR at line 1:
ORA-01109: database not open

SQL> alter database open read only;
alter database open read only
*
ERROR at line 1:
ORA-16004: backup database requires recovery
ORA-01196: file 1 is inconsistent due to a failed media recovery session
ORA-01110: data file 1: '/bak/datafile/system01.dbf'

    按照常理,DG数据库可以在MOUNT下执行RENAME操作,但试了很多次却不行。
再仔细一看报错信息,居然有如下提示ORA-01275: Operation RENAME is not allowed if standby file management is automatic.
SQL> startup nomount;
ORACLE instance started.    

Total System Global Area 4596957184 bytes
Fixed Size                  2090048 bytes
Variable Size             838863808 bytes
Database Buffers         3741319168 bytes
Redo Buffers               14684160 bytes
SQL> alter database mount standby database;    

Database altered.    

SQL> alter database rename file '/bak/datafile/namin_data.dbf' to '/usr/datafile/namin_data.dbf';
alter database rename file '/bak/datafile/namin_data.dbf' to '/usr/datafile/namin_data.dbf'
*
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01275: Operation RENAME is not allowed if standby file management is
automatic.
上ORACLE查了下,在DG模式下文件有两种管理方式(show parameter standby可以查),自动和手动管理,如果是自动管理,是没法重命名的,
马上尝试改成手动模式。    

SQL>  show parameter standby    

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
standby_archive_dest                 string      ?/dbs/arch
standby_file_management              string      AUTO
SQL> alter system set standby_file_management=MANUAL;    

System altered.    

SQL> show parameter standby    

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
standby_archive_dest                 string      ?/dbs/arch
standby_file_management              string      MANUAL
SQL> alter database rename file '/bak/datafile/namin_data.dbf' to '/usr/datafile/namin_data.dbf';    

Database altered.    

SQL> alter database rename file '/bak/datafile/temp01.dbf' to '/usr/datafile/temp01.dbf';    

Database altered.
至此更改文件路径成功,数据文件已经定向到了新的路径/usr/datafile/。
再此药注意的是重命名前必须把文件原封不动的拷贝过去,否则会报如下错误。
SQL> alter database rename file '/bak/datafile/sysaux01.dbf' to '/usr/datafile/sysaux01.dbf';
alter database rename file '/bak/datafile/sysaux01.dbf' to '/usr/datafile/sysaux01.dbf'
*
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01141: error renaming data file 3 - new file '/usr/datafile/sysaux01.dbf'not found
ORA-01110: data file 3: '/bak/datafile/sysaux01.dbf'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3    

这下空间有了,事情就好办了,只要/bak/datafile/下有20G以上的空间,应用了USERS表空间扩容的归档。
其余就是很好操作的事情。归档日志满可以把已经应用的归档给删除掉,如果不小心把未应用的归档删除了怎么办,
也不用慌,如果用了ASM,可以用RMAN从主库提取归档,然后FTP给DG,如果用普通文件系统,那么直接FTP。
EG:
RMAN> copy archivelog '+DATA/log/archivelog/2_5585_697238176.dbf' to '/u01/rman/2_5585_697238176.dbf';

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索dev
, 文件
, rename
, database
, dbf
, 配置问题 求解救
, 表空间
sda
oracle users表空间、oracle users表空间满、对表空间users无权限、users表空间满了、users表空间,以便于您获取更多的相关知识。

时间: 2024-11-08 23:15:04

主库USERS表空间不足 通过RENAME解救空间紧缺的DG系统的相关文章

SQL 某张表中每个字段占用的空间

问题描述 SQL 某张表中每个字段占用的空间 比如表 Student 含有字段 ID**Name****Class****Tel**那么我现在想知道**Name**这个字段下的数据占了多少空间,**Class**这个字段下的数据又占了多少空间 解决方案 这个与你的字段的数据类型有关系啊 如果是VARCHAR(MAX)的话 你的字符串是多少位 就占据多少的空间 如果INT的话 是4位 解决方案二: 取决于你所定义的字段类型,不同的数据库稍有差别.

oracle 占有很大空间-oracle中多出一些$$结尾表,占有很大的空间,忘高手帮忙看看。

问题描述 oracle中多出一些$$结尾表,占有很大的空间,忘高手帮忙看看. oracle中多出一些$$结尾表,占有很大的空间,忘高手帮忙看看. 使用Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name查询出: 解决方案 参考关于LOBSEGMENT和SYS_LOB**$$的释疑清理 oracle lobsegment

itpub坛友问题--基于普通表或分区表创建索引,会占用临时表空间及何时回收临时表空间

个人简介: 8年oracle从业经验,具备丰富的oracle技能,目前在国内北京某专业oracle服务公司从事高级技术顾问.        服务过的客户:           中国电信           中国移动           中国联通           中国电通           国家电网           四川达州商业银行           湖南老百姓大药房           山西省公安厅           中国邮政           北京302医院         

Win8如何查看还原点所占空间和设置最大可用空间

  Win8查看还原点所占空间和设置最大可用空间的方法如下: 1.进入控制面板,点击"系统和安全". 2.点击"系统". 3.点击左侧"系统保护". 4.点击"系统还原"选项卡中的"配置". 5.在此界面可以查看还原点所占磁盘空间和设置最大可使用空间.

网络空间相对于物理空间来说是一个新空间

跨境电子商务是基于网络发展起来的,网络空间相对于物理空间来说是一个新空间,是一个由网址和密码组成的虚拟但客观存在的世界.网络空间独特的价值标准和行为模式深刻地影响着跨境电子商务,使其不同于传统的交易方式而呈现出自己的特点. 而现在跨境电子商务的快速发展,越来越多的朋友选择去做跨境电子商务,跨境电子商务作为推动经济一体化.贸易全球化的技术基础,具有非常重要的战略意义.跨境电子商务不仅冲破了国家间的障碍,使国际贸易走向无国界贸易,同时它也正在引起世界经济贸易的巨大变革.对企业来说,跨境电子商务构建的

《网络空间欺骗:构筑欺骗防御的科学基石》一1.6 网络空间欺骗链与网络空间杀伤链

1.6 网络空间欺骗链与网络空间杀伤链 本文讲的是网络空间欺骗:构筑欺骗防御的科学基石一1.6 网络空间欺骗链与网络空间杀伤链,攻击者在目标网络空间中对有价值的信息实施攻击时都遵从一个通用的行为模式.攻击者通常利用的网络空间攻击策略,可被网络空间杀伤链或者攻击周期划分为6个阶段.类似于网络空间杀伤链,网络空间欺骗链并非一直是线性的.每前进的一步都可能是递归或者不连贯的.杀伤链的一次运行可以模拟一次入侵,但是多重跨越式入侵则是以前一次的入侵结果为基础,且省略了一些必要阶段的(见图1.5).类似地,

谈谈免费空间 为什么有人提供免费空间

中介交易 SEO诊断 淘宝客 云主机 技术大厅 免费空间.免费域名.免费邮箱.免费网盘.免费相册,这些耳熟能详的名词,相信大家都不陌生.而且可以说,以上提到的这些免费资源,所有站长都使用过和经历过. 我们为什么要使用免费空间,因为我们有这个需求.使用免费空间的对象是谁,或者说我们主要用免费空间来做什么呢?据观察,用免费空间的对象主要是:刚接触互联网的站长.对网站感兴趣的在校生.需用免费空间做网站测试的人员.以及一些经济紧缺的人员.大部分新站长在正式购买空间前,都会用"免费空间"打头阵,

WEBSITEZ为您提供100M-500M的全能型免费空间服务_免费全能空间

以下信息来自网络,未得到本站的确认,请自行分辨.请看以下提供商的介绍说明:] 免费空间申请要求 以下内容为当时演示为例!!具体情况和改动以本站数据为准!谢谢合作空间线路: 电信网通智能线路关于申请空间的说明::1:虽然现在外面没有任何要求的免费空间很多,但是我们有些小要求,就是通过论坛发帖获取免费空间!目的吗!当然是希望大家多多支持我们的网站2:我们保证在我们日后的免费空间内不提供任何广告3:我们将会保证我们的免费空间最起码可用一年以上.4:我们将会努力保证我们服务器的安全!使服务器不会因为安全

最火爆的3G超大免费空间 免费全能空间申请_免费全能空间

提供3G免费全能空间申请,超大免费空间,注册即可开通,免费空间完全支持ASP.PHP.ACCESS.MYSQL.FTP.顶级域名绑定.手机建站.论坛.FLASH 播放.ZIP.RAR下载,流量不限,速度快,无广告,可谓目前国内功能最全最好的免费空间 申请地址:http://www.66232.com (ff96649)正在使用,很不错哦.