The problem - recently I created some tablespaces with datafiles play01.dbf and rbs01.dbf. Yesterday when I went to create extra tablespaces play01.dbf, play02.dbf, etc, the unix directory lists 'dba' instead of my account 'sm23', and the permissions are -rw-rw---- instead of -rwxrwxrwx as all previous creations had been. For one of the files showing as 'dba', I used connect system/manager before creating it. The others were done with connect internal/password. As far as I know, nothing substantive has been done to the account to cause this change. Any suggestions?
$ls -ls (partial listing)
5140 -rwxrwxrwx 1 oracle sm23 5251072 Jun 29 19:13 indx01.dbf
12 -rwxrwxrwx 1 oracle sm23 9806 Jun 27 12:09 j27.txt
3084 -rwxrwxrwx 1 oracle sm23 3153920 Jun 29 19:13 play01.dbf
2060 -rw-rw---- 1 oracle dba 2105344 Jun 29 19:22 play02.dbf
2060 -rw-rw---- 1 oracle dba 2105344 Jun 29 19:49 play03.dbf
2060 -rw-rw---- 1 oracle dba 2105344 Jun 29 20:09 play04.dbf
102512 -rwxrwxrwx 1 oracle sm23 104865792 Jun 29 20:20 rbs01.dbf
1032 -rwxrwxrwx 1 oracle sm23 1049088 Jun 29 19:13 redo01.log
1032 -rwxrwxrwx 1 oracle sm23 1049088 Jun 29 19:13 redo02.log
your datafiles look really dodgy, are you sure they are from same database? they are not synced at all....
I think you did a "su -oracle" without a space between the '-' and 'oracle' and then added the data files.
For this to change you should do chown oracle:dba *.dbf as root and chmod 660 *.dbf.
In future do "su - oracle".
I too noticed this.
Can you explain what is the difference between -oracle and - oracle
On my flavour of unix an 'su -oracle' would do nothing.
If you were root when you issue this command (su -oracle)root would own the files and not Oracle.
Anyway, the user MUST have been logged in as oracle as the datafiles were created through sqlplus and oracle owns them.
Unix doesn't do things in half. If you tell it that you want to switch users it will either switch users or not. The significance of 'su - username' is so that the .profile of the user is executed and his environment is set up, truly becoming that user.
Whenever you install Oracle, you are asked what group will be a part of the Oracle software, this is usually 'oinstall'. You obviously haven't created that group.
Both sets of datafiles were created as the 'Oracle' user, the question is why did the groups change.
1. Someone changed the group after the datafiles were created.
2. Someone changed the groups that Oracle belongs to.
log in as oracle and type 'id' or 'groups'
The group with the lowest ID number, or the one displayed first will be the group that owns any files this user creates.
Take it from there.
Once you have eliminated all of the impossible,
whatever remains however improbable,
must be true.
If you do a su -oracle you will become the oracle user owning the rights of the previous user.
It's a UNIX thing (it has an equivalent in oracle "designer rights" executing with the right of an other user)
Thank you, everyone, for your responses.
Click Here to Expand Forum to Full Width