[Ocfs-users] cp --o_direct

David Sharples davidsharples at gmail.com
Thu Dec 2 04:48:03 CST 2004


One more thing I found, I tried with dd as well instead of copy

dd if=/ocfs1/oradata/LPTE3/odm01.dbf of=/tmp/testfile2
 failed (as expected)

with the --o_direct flag 

[oracle at LNCSTRTLDB03 LPTE3]$ dd --o_direct
if=/ocfs1/oradata/LPTE3/odm01.dbf of=/tmp/testfile2
40976+0 records in
40976+0 records out
[oracle at LNCSTRTLDB03 LPTE3]$

It worked, is it possible I have a funny version of cp which is
stopping me from copying a file

I also tried rman backup, that worked, transportable tablespaces
worked - the only thing that doesnt is alter tablespace begin backup,
copying file off and ending the backup



On Thu, 2 Dec 2004 09:37:26 +0000, David Sharples
<davidsharples at gmail.com> wrote:
> Hi, I downloaded lsof and ran it against some datafiles - basically
> oracle is the only one holding any locks
> 
> ./lsof_4.73 /ocfs1/oradata/LPTE3/odm01.dbf
> COMMAND   PID   USER   FD   TYPE DEVICE     SIZE    NODE NAME
> oracle  26149 oracle   31uW  REG    8,1 20979712 2948608
> /ocfs1/oradata/LPTE3/odm01.dbf
> oracle  26151 oracle   33u   REG    8,1 20979712 2948608
> /ocfs1/oradata/LPTE3/odm01.dbf
> oracle  26155 oracle   28u   REG    8,1 20979712 2948608
> /ocfs1/oradata/LPTE3/odm01.dbf
> 
> 
> [root at LNCSTRTLDB03 root]# ps -ef | grep 26149
> oracle   26149     1  0 09:13 ?        00:00:00 ora_dbw0_LPTE3
> [root at LNCSTRTLDB03 root]# ps -ef | grep 26151
> oracle   26151     1  0 09:13 ?        00:00:00 ora_lgwr_LPTE3
> [root at LNCSTRTLDB03 root]# ps -ef | grep 26155
> oracle   26155     1  0 09:13 ?        00:00:00 ora_smon_LPTE3
> 
> So database writer, log writer and smon are using the file which is
> stopping me from copying it using the standard command, is it possible
> Oracle isnt playing the game here?
> 
> 
> 
> 
> On Wed, 01 Dec 2004 18:17:04 +0000, Bryce <philip.copeland at oracle.com> wrote:
> > On Wed, 2004-12-01 at 18:02, 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)
> >
> > yeah, I updated textutils with a version of md5sum that supported
> > --o_direct.  you don't absolutely need to have it but it's nice to hae
> > around 8)
> >
> >
> >
> > > [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
> >
> >
> > before copying type
> > lsof <dir>/odm01.dbf
> > and see what other processes have open locks on it
> >
> > eg lsof /dev/tty1 will show all processes with open handles on /dev/tty1
> >
> > Phil
> > =--=
> >
> >
> >
> >
> > > 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
> > > > > >
> > > > > >
> > > >
> > > >
> >
> >
>


More information about the Ocfs-users mailing list