广告位联系
返回顶部
分享到

详解Oracle dbf文件移动的方法

oracle 来源:互联网搜集 作者:秩名 发布时间:2020-05-21 15:17:53 人浏览
摘要

背景 oracle空间不足,发现dbf文件未按设计的路径存放,linux磁盘挂载空间未利用,需要移动一下位置错误的dbf文件。 检查文件系统 /home/oracle \df -h文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/lv01-root 22G 4.5G 16G 23% /devtmpfs 3.8G 0 3.8G 0

背景

oracle空间不足,发现dbf文件未按设计的路径存放,linux磁盘挂载空间未利用,需要移动一下位置错误的dbf文件。

检查文件系统

 
/home/oracle \>df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/lv01-root 22G 4.5G 16G 23% /
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.9G 96K 3.9G 1% /dev/shm
tmpfs 3.9G 153M 3.7G 4% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 190M 132M 44M 75% /boot
/dev/mapper/lv02-home 20G 19G 0 100% /home
/dev/mapper/oradatalv-oradata 30G 18G 9.8G 65% /oradata
tmpfs 781M 16K 781M 1% /run/user/42
tmpfs 781M 0 781M 0% /run/user/1001
tmpfs 781M 0 781M 0% /run/user/0
 
 

home挂载点下空间已达到100%。

检查大文件

 
/home/oracle/oradata/ora12c \>ls -lh
总用量 8.7G
\-rw-r-----. 1 oracle oinstall 6.7G 5月 20 13:54 upbs_data.dbf
\-rw-r-----. 1 oracle oinstall 2.0G 5月 20 05:06 upbs_index.dbf
 

发现是dbf文件过大后,准备移动一下。应该存放数据库文件的oradata挂载点下还有剩余空间可以存放dbf文件。

 
/home/oracle/oradata/ora12c >sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on
Wed May 20 14:18:36 2020
Copyright (c) 1982, 2014, Oracle. All rights reserved.
ERROR:
ORA-09817: Write to audit file failed.
Linux-x86_64 Error: 28: No space left on device
Additional information: 12
ORA-09945: Unable to initialize the audit trail file
Linux-x86_64 Error: 28: No space left on device
 

oracle sqlplus直接登录失败,显示空间不足。

删除审计文件日志

 
/home/oracle/audit \>rm \*
/home/oracle/audit \>ll
总用量 0
 
 

删除后查看磁盘空间,发现刚删的审计文件有点少

 
/home/oracle/audit \>df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/lv01-root 22G 4.5G 16G 23% /
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.9G 96K 3.9G 1% /dev/shm
tmpfs 3.9G 153M 3.7G 4% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 190M 132M 44M 75% /boot
/dev/mapper/lv02-home 20G 19G 60K 100% /home
/dev/mapper/oradatalv-oradata 30G 18G 9.8G 65% /oradata
tmpfs 781M 16K 781M 1% /run/user/42
tmpfs 781M 0 781M 0% /run/user/1001
tmpfs 781M 0 781M 0% /run/user/0
 
 

删除后有60k空间剩余,开始没发现aud文件路径有问题, 不是正常的aud路径。

重新查找清理审计日志释放空间

 
/home/oracle/app/oracle/admin/orcl \>find ./ -name \*aud
 

查询出结果后清除前30天的

 
/home/oracle/app/oracle/admin/orcl \>find ./ -name \*aud -mtime +30 \|xargs rm
-f
 
 

关闭数据库

 
/home/oracle/audit \>sqlplus / as sysdba
SQL\*Plus: Release 12.1.0.2.0 Production on Wed May 20 14:14:30 2020
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing
options
SQL\> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
 
 

复制dbf文件

 
/home/oracle/oradata/ora12c \>cp upbs_data.dbf
/oradata/orcl/appdata/upbs_data.dbf
 
 

登录数据库修改dbf文件路径

 
home/oracle/app/oracle/admin/orcl \>sqlplus / as sysdba
SQL\*Plus: Release 12.1.0.2.0 Production on Wed May 20 14:33:30 2020
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
SQL\> startup mount;
ORACLE instance started.
Total System Global Area 2466250752 bytes
Fixed Size 2927384 bytes
Variable Size 671089896 bytes
Database Buffers 1778384896 bytes
Redo Buffers 13848576 bytes
Database mounted.
SQL\> alter database rename file '/home/oracle/oradata/ora12c/upbs_data.dbf' to
'/oradata/orcl/appdata/upbs_data.dbf';
Database altered.
 
 

重启数据库服务

 
SQL\> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL\> startup
ORACLE instance started.
Total System Global Area 2466250752 bytes
Fixed Size 2927384 bytes
Variable Size 671089896 bytes
Database Buffers 1778384896 bytes
Redo Buffers 13848576 bytes
Database mounted.
Database opened.
SQL\>
 
 

plsql重新连接数据库成功,删除原来的dbf文件释放空间


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://blog.csdn.net/qq_21271511/article/details/106244803
相关文章
  • Oracle中的Dual系统表介绍

    Oracle中的Dual系统表介绍
    这几天一直在研究Oracle,常常会用到Dual这个系统表,Dual表到底是一个什么表?带着疑问baidu了一下: Dual表是Oracle提供的最小的工作表(其
  • Oracle删除大量表记录操作介绍
    删除表数据操作 清空所有表记录: 1 TRUNCATE TABLE your_table_name; 或者批量删除满足条件的表记录: 1 2 3 4 5 6 7 BEGIN LOOP DELETE FROM your_table_name W
  • ORACLE中常用的几种正则表达式介绍

    ORACLE中常用的几种正则表达式介绍
    ORACLE正则表达式我基本用到的就一下几种,前四种最长用到 REGEXP_LIKE(source_char, pattern, match_parameter) REGEXP_SUBSTR(source_char, pattern, position, occur
  • SQL案例学习之字符串的合并与拆分方法介绍

    SQL案例学习之字符串的合并与拆分方法介绍
    字符串的合并 在Oracle中可能有多种实现方法,目前我已知的有两种,下面记录下这两种的实现: 字符串合并方法一: 实现SQL: 1 2 3 4 --方法
  • Oracle根据时间查询的一些常见情况汇总

    Oracle根据时间查询的一些常见情况汇总
    1. 查询时间段之内的数据 1 2 3 4 5 查询2021-01-01 至 2021-01- 02 的数据 SELECT * FROM t_table1 t WHERE t.d_time = to_date(2021-01-01 00:00:00, yyyy-mm-dd hh24:mi:ss)
  • oracle删除超过N天数据脚本的方法
    公司内做的项目是工厂内的,一般工厂内数据要求的是实时性,很久之前的数据可以自行删除处理,我们数据库用的oracle,所以就想着写一
  • oracle重置序列从0开始递增1
    oracle序列创建以后,如果想重置序列从 0 开始,逐渐递增1,可以采用如下存储过程: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 create or replace proce
  • 详解CentOS7下Oracle19c rpm安装过程

    详解CentOS7下Oracle19c rpm安装过程
    软件 下载地址 CentOS-7-x86_64-Minimal-2009.iso http://mirrors.163.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso oracle-database-preinstall-19c-1.0-1.el7.x86
  • Oracle创建只读账号的方法

    Oracle创建只读账号的方法
    需求说明 现有数据库账号:HEPSUSR:具有完整权限,增删改查。 需要创建一个数据库账号:HTREADER,对HEPSUSR账号下所有的表具有只读权限。
  • 详解ORACLE数据库应用开发的三十个注意事项
    笔者及所在团队从2000年开始的CRM等系统开发,一直主要使用ORACLE数据库作为应用数据库,开发方式包括使用PLSQL编写存储过程/数据库函数
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计