테스트 환경에서 일어났던 일이다.
CentOS 5.6 64bit, LVM을 안쓰고 파티션만으로 진행했던 내용.

RMAN> report schema;

Report of database schema for database with db_unique_name ORCL

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    820      SYSTEM               ***     /oradata/orcl/system01.dbf
2    590      UNDOTBS1             ***     /oradata/orcl/undotbs01.dbf
3    460      SYSAUX               ***     /oradata/orcl/sysaux01.dbf
4    6        USERS                ***     /oradata/orcl/users01.dbf
5    100      EXAMPLE              ***     /oradata/orcl/example01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    75       TEMP                 32767       /oradata/orcl/temp01.dbf

RMAN> copy datafile 1 to '/dev/raw/raw1';

Starting backup at 27-DEC-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/oradata/orcl/system01.dbf
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 12/27/2012 12:58:11
ORA-19504: failed to create file "/dev/raw/raw1"
ORA-27042: not enough space on raw partition to fullfill request
Additional information: 3
--------------------------------------------------------------------------------------
[oracle@centos5 orcl]$ du -h system*
821M    system01.dbf
--------------------------------------------------------------------------------------
[root@centos5 ~]# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. 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)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-300, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-300, default 300): +850M
--------------------------------------------------------------------------------------
???????????????????????????????????? Why! What!
나는 820MB를 보고 raw1을 850MB정도를 잡았는데 왜 공간이 부족하다고 나오는지 이해하지 못하였다.
--------------------------------------------------------------------------------------
추가로 dd 결과
[oracle@centos5 orcl]$ dd if=/oradata/orcl/system01.dbf of=/dev/raw/raw1 bs=8k 
dd: writing `/dev/raw/raw1': No space left on device
104419+0 records in
104418+0 records out
855396864 bytes (855 MB) copied, 40.0186 seconds, 21.4 MB/s
--------------------------------------------------------------------------------------
추정되는 원인: fdisk시 +850M가 가져오는 결과가 이상한 것으로 판단
850 * 1024가 아닌 850 * 1000 으로 계산하는 것 같다. MB가 아닌 M만 써있는 것과
이번 결과들이 이 추정을 뒷받침해주고 있다.

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

Command (m for help): p

Disk /dev/sdc1: 855 MB, 855396864 bytes
255 heads, 63 sectors/track, 103 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

     Device Boot      Start         End      Blocks   Id  System

855MB라고 써있으나 855396864/1024/1024 = 815.77001953125 로 820mb도 되지 않는다.
-------------------------------------------------------------------------------------
그럼 850 * 1024 * 1024 = 891289600 = 891M 다시 파티션해보았다.(이전 파티션은 다 삭제완료)
byte값인 891289600으로도 진행해 보았으나 value out of range 에러 나타난다. 아니 왜????

[root@centos5 ~]# fdisk /dev/sdc

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-300, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-300, default 300): +891289600
Value out of range.
Last cylinder or +size or +sizeM or +sizeK (1-300, default 300): +890M

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

이후로 정상 성공

'TroubleShoot' 카테고리의 다른 글

ORA-01545: rollback segment 'RBS1' specified not available  (0) 2013.03.08
TNS-12516  (0) 2013.01.24
ORA-00845: MEMORY_TARGET not supported... in LINUX  (0) 2013.01.17
11.2.0.1 shutdown hang  (0) 2012.12.21
32bit<->64bit 이관 후 추가 작업  (0) 2012.12.21
Posted by neo-orcl
,