环境:

OS:Oracle Linux Server release 6.3
DB:Oracle 11.2.0.4.0

问题:

根目录磁盘空间不足,还剩6.5G

解决办法:

扩容磁盘空间;
由于安装操作系统时没有使用LVM,不能直接扩容根目录,并且磁盘上的数据库相关文件不能删除;
可以添加新盘,并将数据库文件迁移到新盘上;

1 查看数据库相关文件均在/u01目录下

[root@cjc ~]# cat /home/oracle/.bash_profile
......
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
......
SQL> select file_name from dba_data_files;
FILE_NAME


/u01/app/oracle/oradata/dapuchai/users01.dbf
/u01/app/oracle/oradata/dapuchai/undotbs01.dbf
/u01/app/oracle/oradata/dapuchai/sysaux01.dbf
/u01/app/oracle/oradata/dapuchai/system01.dbf
/u01/app/oracle/oradata/dapuchai/cjc_tbs01a.dbf
/u01/app/oracle/oradata/dapuchai/ogg_tbs01.dbf
6 rows selected.

2 Linux 添加新分区

---关机添加100G磁盘,/dev/sdb
[root@dapuchai ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 28G 20G 6.5G 76% /
tmpfs 1004M 239M 765M 24% /dev/shm
/dev/sda1 194M 51M 134M 28% /boot
[root@cjc ~]# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ccbd2

Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 287 2097152 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 287 3917 29154304 83 Linux

Disk /dev/sdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

3 分区/dev/sdb1

[root@cjc ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xf58baf0e.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): p ---查看

Disk /dev/sdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf58baf0e

Device Boot Start End Blocks Id System

Command (m for help): n ---新增
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4):
Value out of range.
Partition number (1-4): 1
First cylinder (1-13054, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054):
Using default value 13054

Command (m for help): p

Disk /dev/sdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf58baf0e

Device Boot Start End Blocks Id System
/dev/sdb1 1 13054 104856223+ 83 Linux

Command (m for help): w ---写入 保存
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@cjc ~]# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ccbd2

Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 287 2097152 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 287 3917 29154304 83 Linux

Disk /dev/sdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf58baf0e

Device Boot Start End Blocks Id System
/dev/sdb1 1 13054 104856223+ 83 Linux

4 格式化

[root@cjc ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214055 blocks
1310702 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
800 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

5 挂载

[root@cjc ~]# mkdir /u02
[root@cjc ~]# mount /dev/sdb1 /u02
[root@cjc ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 28G 20G 6.5G 76% /
tmpfs 1004M 88K 1004M 1% /dev/shm
/dev/sda1 194M 51M 134M 28% /boot
/dev/sdb1 99G 188M 94G 1% /u02

6 迁移/u01到新加的盘

[root@cjc ~]# mv /u01 /u03
[root@cjc ~]# mv /u02 /u01
mv: cannot move /u02' to /u01': Device or resource busy
[root@cjc ~]# umount /u02
[root@cjc ~]# mv /u02 /u01
[root@cjc ~]# mount /dev/sdb1 /u01
[root@cjc ~]# mv /u03/* /u01
[root@cjc ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 28G 14G 13G 54% /
tmpfs 1004M 88K 1004M 1% /dev/shm
/dev/sda1 194M 51M 134M 28% /boot
/dev/sdb1 99G 6.0G 88G 7% /u01
[root@cjc /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sr1 11:1 1 1024M 0 rom
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 27.8G 0 part /
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part /u01

7 添加自动挂载

[root@cjc ~]# vi /etc/fstab
......
/dev/sdb1 /u01 ext4 defaults 0 0

8 启动数据库

[root@cjc ~]# su - oracle
[oracle@cjc ~]$ lsnrctl start
[oracle@cjc ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Sat Jan 11 15:00:47 2020
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2257880 bytes
Variable Size 541068328 bytes
Database Buffers 289406976 bytes
Redo Buffers 6549504 bytes
Database mounted.
Database opened.
SQL> conn cjc
Enter password:
Connected.
SQL> select count(*) from t1;

COUNT(*)


1
转载自chenoracle

最后修改:2022 年 02 月 27 日
如果觉得我的文章对你有用,请随意赞赏