[Ocfs-users] cp --o_direct

Sunil Mushran Sunil.Mushran at oracle.com
Wed Dec 1 16:13:00 CST 2004


Download textutils rpm for as21 to get o_direct enabled md5sum.

David Sharples wrote:

>Thanks,
>
>all im using to open the database is Oracle itself (9iR2)
>
>Now these files were created on normal ext 3 filesystems and then
>manually copied to the ocfs filesystems using straight copy
>
>I repeated your test and here are the results
>
>[oracle at LNCSTRTLDB03 LPTE3]$ dd if=/dev/zero of=testfile bs=1024000 count=256
>256+0 records in
>256+0 records out
>[oracle at LNCSTRTLDB03 LPTE3]$ ls -ltr testfile
>-rw-r--r--    1 oracle   dba      262144000 Dec  1 17:48 testfile
>[oracle at LNCSTRTLDB03 LPTE3]$ cp --o_direct testfile /ocfs4/oradata/LPTE3/
>
>(worked)
>
>[oracle at LNCSTRTLDB03 LPTE3]$ md5sum --o_direct testfile /ocfs4/oradata/LPTE3/
>md5sum: unrecognised option `--o_direct'
>
> (--o_direct didnt work)
>
>[oracle at LNCSTRTLDB03 LPTE3]$ md5sum testfile /ocfs4/oradata/LPTE3/testfile
>ab3248888d6f10ef30a084fac6a1e2fd  testfile
>ab3248888d6f10ef30a084fac6a1e2fd  /ocfs4/oradata/LPTE3/testfile
>
>(so they are the same)
>
>[oracle at LNCSTRTLDB03 LPTE3]$ cp --o_direct testfile /tmp
>[oracle at LNCSTRTLDB03 LPTE3]$ cp testfile /ocfs4/oradata/LPTE3/testfile
>[oracle at LNCSTRTLDB03 LPTE3]$
>
>
>both those copy command succeeded and the md5sum is the same.
>
>I'm kinda stuck in my thinking now - do I have a problem or not.? Or
>is oracle not opening my files without the o_direct support.  I didnt
>change any db parameters after I moved the files onto ocfs.
>
>Thanks for the effort
>
>Confused
>
>Dave
>
>
>On Wed, 01 Dec 2004 17:28:54 +0000, Bryce <philip.copeland at oracle.com> wrote:
>  
>
>>I've two ocfs FS's mounted
>>[root at localhost root]# df
>>Filesystem           1k-blocks      Used Available Use% Mounted on
>>/dev/hda5               986080    564320    421760  58% /mnt
>>/dev/hda6               985984    836896    149088  85% /mnt2
>>
>>[root at localhost root]# mount | grep ocfs
>>/dev/hda5 on /mnt type ocfs (rw)
>>/dev/hda6 on /mnt2 type ocfs (rw)
>>
>>Ok lets crate a 256Mb test file on /mnt
>>[root at localhost root]# dd if=/dev/zero of=/mnt/testfile bs=1024
>>count=256
>>256+0 records in
>>256+0 records out
>>
>>Now then lets copy it to another ocfs FS
>>[root at localhost root]# cp --o_direct /mnt/testfile /mnt2/testfile
>>
>>Did it copy it correctly?
>>[root at localhost root]# md5sum --o_direct /mnt/testfile /mnt2/testfile
>>ec87a838931d4d5d2e94a04644788a55  /mnt/testfile
>>ec87a838931d4d5d2e94a04644788a55  /mnt2/testfile
>>
>>Good. Now can we just drop it on /tmp?
>>[root at localhost root]# cp --o_direct /mnt/testfile /tmp
>>
>>Hummmmm
>>
>>One possibility is that the database file is not FS block sized aligned
>>but cp should have spotted that and bailed with an error if that was the
>>case.
>>
>>Another possibility is that some other program has opened the database
>>WITHOUT O_DIRECT support. When this happens, O_DIRECT will not be
>>provided with a lock and it will bail out, at least until such time as
>>the non O_DIRECT program closes it's access to the database.
>>
>>If all programs accessing/opening/modifying the file are using O_DIRECT
>>file access then you won't see this problem.
>>
>>
>>
>>Phil
>>=--=
>>
>>On Wed, 2004-12-01 at 17:04, David Sharples wrote:
>>    
>>
>>>Thanks,
>>>
>>>When doing that command it works and the file gets copied.
>>>
>>>and yes I am using AS2.1. and /tmp is ext3
>>>
>>>However I get the same error(?) when I try to copy between two ocfs filesystems
>>>
>>>[oracle at LNCSTRTLDB03 tmp]$ cp /ocfs/oradata/LPTE3/odm01.dbf
>>>/ocfs4/oradata/LPTE3/
>>>cp: cannot stat `/ocfs/oradata/LPTE3/odm01.dbf': No such file or directory
>>>[oracle at LNCSTRTLDB03 tmp]$ cp /ocfs1/oradata/LPTE3/odm01.dbf
>>>/ocfs4/oradata/LPTE3/
>>>cp: cannot open `/ocfs1/oradata/LPTE3/odm01.dbf' for reading: Permission denied
>>>[oracle at LNCSTRTLDB03 tmp]$ cp --o_direct
>>>/ocfs1/oradata/LPTE3/odm01.dbf /ocfs4/oradata/LPTE3/
>>>cp: cannot open `/ocfs1/oradata/LPTE3/odm01.dbf' for reading: Permission denied
>>>[oracle at LNCSTRTLDB03 tmp]$ cp --o_direct=131072,0
>>>/ocfs1/oradata/LPTE3/odm01.dbf /ocfs4/oradata/LPTE3/
>>>[oracle at LNCSTRTLDB03 tmp]$
>>>
>>>just to prove that they are really ocfs :-)
>>>
>>>[root at LNCSTRTLDB03 root]# debugocfs -h /dev/sda1
>>>debugocfs 1.1.2-PROD1 Fri Apr  2 13:59:11 PST 2004 (build
>>>fcb0206676afe0fcac47a99c90de0e7b)
>>>diskheader:
>>>        version = 1.2
>>>        signature = OracleCFS
>>>        mount_point = /ocfs1
>>>
>>>and
>>>
>>>[root at LNCSTRTLDB03 root]# debugocfs -h /dev/sda4
>>>debugocfs 1.1.2-PROD1 Fri Apr  2 13:59:11 PST 2004 (build
>>>fcb0206676afe0fcac47a99c90de0e7b)
>>>diskheader:
>>>        version = 1.2
>>>        signature = OracleCFS
>>>        mount_point = /ocfs4
>>>
>>>Am i missing something here?
>>>
>>>
>>>
>>>On Wed, 01 Dec 2004 16:48:08 +0000, Bryce <philip.copeland at oracle.com> wrote:
>>>      
>>>
>>>>*scratch*
>>>>lets see
>>>>try
>>>>cp --o_direct=131072,0 xdb01.dbf /tmp
>>>>
>>>>which basically says 'try to copy in the file using o_direct blocks of
>>>>128Mb and copy out to /tmp without o_direct'
>>>>
>>>>--o_direct just by itself will assume that the src and destination FS's
>>>>are o_direct capable
>>>>
>>>>In your case, I'm assuming that /tmp isn't and is a ext2 or ext3 FS.
>>>>The use of fileutils suggests that you're using AS2.1 which did not
>>>>silently ignore o_direct on ext3 like EL3 does.
>>>>
>>>>Phil
>>>>=--=
>>>>
>>>>
>>>>
>>>>On Wed, 2004-12-01 at 15:43, David Sharples wrote:
>>>>        
>>>>
>>>>>I have these versions.
>>>>>
>>>>>[root at LNCSTRTLDB03 LPTE3]# rpm -qa | grep tar
>>>>>tar-1.13.25-9
>>>>>[root at LNCSTRTLDB03 LPTE3]# rpm -qa | grep fileutils
>>>>>fileutils-4.1-10.23
>>>>>[root at LNCSTRTLDB03 LPTE3]#
>>>>>
>>>>>They were got from the coreutils page on oss today
>>>>>
>>>>>Thanks
>>>>>
>>>>>
>>>>>On Wed, 1 Dec 2004 07:37:31 -0800, Wim Coekaerts
>>>>><wim.coekaerts at oracle.com> wrote:
>>>>>          
>>>>>
>>>>>>that's odd. if you use odirect it should actually work maybe you ran
>>>>>>into another fileutils bug are you on the latest version ?
>>>>>>we need to be doing a better qa job on the fileutils
>>>>>>
>>>>>>
>>>>>>
>>>>>>On Wed, Dec 01, 2004 at 02:59:15PM +0000, David Sharples wrote:
>>>>>>            
>>>>>>
>>>>>>>Another question.
>>>>>>>
>>>>>>>When my database is running, I do
>>>>>>>
>>>>>>>[oracle at LNCSTRTLDB03 LPTE3]$ cp --o_direct xdb01.dbf /tmp
>>>>>>>cp: cannot open `xdb01.dbf' for reading: Permission denied
>>>>>>>[oracle at LNCSTRTLDB03 LPTE3]$
>>>>>>>
>>>>>>>When the database is shudown it works.
>>>>>>>
>>>>>>>Is this normal for ocfs because with any other filesystem I can just
>>>>>>>copy a file at any time (Its only a testing, I know I cant copy
>>>>>>>datafiles and have them consistent)
>>>>>>>
>>>>>>>Thanks
>>>>>>>_______________________________________________
>>>>>>>Ocfs-users mailing list
>>>>>>>Ocfs-users at oss.oracle.com
>>>>>>>http://oss.oracle.com/mailman/listinfo/ocfs-users
>>>>>>>              
>>>>>>>
>>>>>_______________________________________________
>>>>>          
>>>>>
>>>>        
>>>>
>>>>>Ocfs-users mailing list
>>>>>Ocfs-users at oss.oracle.com
>>>>>http://oss.oracle.com/mailman/listinfo/ocfs-users
>>>>>          
>>>>>
>>>>        
>>>>
>>    
>>
>_______________________________________________
>Ocfs-users mailing list
>Ocfs-users at oss.oracle.com
>http://oss.oracle.com/mailman/listinfo/ocfs-users
>  
>



More information about the Ocfs-users mailing list