0

I have oracle database 11.2.0.4 on oracle linux 6.7 .

I have install oracle database single instance with asm option .

I have 2 users : oracle and grid

My database is open and all of things are good !

I want to install oracle gateway for connecting database to sql server . This product get me an error : You can not create directory on /u01/app/grid/product/11.2.0/ASM.

For resolving this error , executing the command in below :

chown -R grid:oinstall /u01

chmod -R 775 /u01

After executing these commands , and rebooting server , i can not start database .

My diskgroups are mounted , but i can not start database with oracle user :

sqlplus sys/****** as sysdb

sql > startup

ORA-01078: failure in processing system parameters

ORA-01565: error in identifying file '+DATA/orcl/spfileorcl.ora'

ORA-17503: ksfdopn:2 Failed to open file +DATA/orcl/spfileorcl.ora

ORA-12547: TNS:lost contact

......................

with grid user , the output of command in below is :

srvctl start database -d orcl

PRCR-1079 : Failed to start resource ora.orcl.db

ORA-12547: TNS:lost contact

CRS-5017: The resource action "ora.orcl.db start" encountered the following error:

ORA-12547: TNS:lost contact

. For details refer to "(:CLSN00107:)" in "/u01/app/grid/product/11.2.0/ASM/log/it/agent/ohasd/oraagent_grid/oraagent_grid.log".

CRS-2674: Start of 'ora.orcl.db' on 'it' failed

ORA-12547: TNS:lost contact

Can any one help me ?

  • You completely broke your installs with those chmod/chown. Restore the software from backup, or "copy" the permissions from a working install. – Mat Sep 27 '15 at 6:10
2

Your permissions are incorrect.

Oracle recommends role separation, which it appears you've followed by creating separate oracle and grid users. But I'm willing to wager that your ORACLE_HOME is under /u01/app/database or similar, which means that the chmod and chown commands you ran also changed permissions and ownership on the database home, too. This defeated the role separation Oracle expected, and your database will not start.

The permission structure of an Oracle grid/database installation is far more complex than a simple chmod/chown can duplicate. For one thing, the database binary ($ORACLE_HOME/bin/oracle) requires a setguid bit:

chmod 6751 $ORACLE_HOME/bin/oracle

You also need to have correct ownership of the binary, which should be oracle in your case:

chown oracle:oinstall $ORACLE_HOME/bin/oracle

Those two commands may fix the problem, but I wouldn't trust that everything will work as it should. You could easily get into a situation where fixing one thing just shows you the next thing that's broken.

There are specific permissions required for binaries in the GRID_HOME that will differ (and be more restrictive) from the generic 775 applied to the root directory. Notably, the listener will not start correctly if the permissions and ownership are not correct.

Unfortunately while it may be possible to repair this manually, it is not straightforward. You may be able to correct the permissions in the grid installation with:

$GRID_HOME/crs/install/rootcrs.pl

But, it may just be easier to start from scratch, particularly if you want to avoid future issues and don't have a working installation to compare against.

The original gateway issue may have been that your environment was not set correctly. The gateway installation is applied to the database home; the path you noted is the grid home and includes the word "ASM" suggesting that you were attempting to install in the ASM (storage) database instead of the actual database. ASM is part of the grid installation and will be distinct from your working database.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.