메뉴 건너뛰기

Korea Oracle User Group

Install/Configuration

DBCA에서 ORA-12546: TNS:permission denied..

우뽕 2020.02.14 01:37 조회 수 : 863

대상 : ASM 이용한 Single DB  또는 RAC,  RAC OneNode 일듯 합니다. 즉 GRID 를 설치를 해야 하는 경우 입니다.

 

DBCA 즉 DB를 생성 하는도중에  아래와 같은 에러를 만나게 됩니다.

 

dbca_21-1.GIF

 

 

---# Begin Stacktrace #---------------------------

ID: oracle.install.commons.util.exception.AbstractErrorAdvisor:17224

oracle.sysman.assistants.util.step.StepExecutionException: PRCR-1079 : Failed to start resource ora.slasmdb.db

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

ORA-12546: TNS:permission denied

. For details refer to "(:CLSN00107:)" in "/home/grid/app/gi_base/diag/crs/slasm9c/crs/trace/ohasd_oraagent_grid.trc".

 

ORA-12546: TNS:permission denied

CRS-2674: Start of 'ora.slasmdb.db' on 'slasm9c' failed

ORA-12546: TNS:permission denied

        at oracle.sysman.assistants.dbca.backend.PostDBCreationStep.executeImpl(PostDBCreationStep.java:1184)

        at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:310)

        at oracle.sysman.assistants.util.step.Step.execute(Step.java:135)

        at oracle.assistants.dbca.driver.StepDBCAJob.call(StepDBCAJob.java:110)

        at oracle.assistants.dbca.driver.StepDBCAJob.call(StepDBCAJob.java:49)

        at oracle.install.commons.util.progress.JobHelper._execute(JobHelper.java:69)

        at oracle.install.commons.util.progress.JobHelper.executeJobs(JobHelper.java:57)

        at oracle.assistants.dbca.driver.DBCACompositeJob.call(DBCACompositeJob.java:85)

        at oracle.assistants.dbca.driver.DBCACompositeJob.call(DBCACompositeJob.java:57)

        at oracle.assistants.common.AssistantJobHelper.executeJob(AssistantJobHelper.java:99)

        at oracle.assistants.common.base.driver.AssistantConfigDriver.setup(AssistantConfigDriver.java:225)

        at oracle.assistants.dbca.driver.DBConfigDriver.setup(DBConfigDriver.java:478)

        at oracle.assistants.common.action.AssistantConfigAction$StepRunner.call(AssistantConfigAction.java:58)

        at oracle.assistants.common.action.AssistantConfigAction$StepRunner.call(AssistantConfigAction.java:47)

        at java.util.concurrent.FutureTask.run(FutureTask.java:266)

        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

        at java.util.concurrent.FutureTask.run(FutureTask.java:266)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

        at java.lang.Thread.run(Thread.java:748)

 

---# End Stacktrace #-----------------------------

 

 

왜 생기는 걸까요 ?
 
이렇게 설정 하면 생깁니다.
 
## 환경 변수 
export ORACLE_BASE=/home/oracle/app                       
export DB_HOME=$ORACLE_BASE/product/dbhome
export ORACLE_HOME=$ORACLE_BASE/product/dbhome
export GRID_BASE=/home/grid/app/gi_base
export GRID_HOME=/home/grid/app/gihome
 
설명을 좀 하게 되면 이러 합니다.
 
기본 유저 생성을 하게 되면 /home/grid , /home/oracle  이렇게 생깁니다.
그냥 그곳에 설치를 하게 됩니다. ( grid 와 oracle  )   oracle 과 grid 는 유저 생성시 같은 그룹안에 들어가 있습니다.
grid 이상 없음, oracle sw 까지 잘 올라 갑니다. - 이상 없음.
 
그러나 dbca를 한 후 db 생성시 진행을 쭉 하다가 위의 에러를 만납니다.
/home 디렉토리 권한과 그룹을 보았을때 처음에는 root: oinstall 로 되어 있어서  
grid:oinstall 로 변경을 해 보았고 다시 시도를 하였으나,  위의 에러를 만나게 됩니다.
( 디렉토리 퍼미션 변경 하는것은 안 했음)
 
/home을 grid 와 oracle이 같이 쓰는것을 허용을 하지 않은것 같아서 아래와 같이 변경을 해 보고 다시 시도를 해 보았습니다.
  
/  즉   /oracle,  /grid 이렇게 따로 디렉토리 생성 후 grid , oracle sw 까지 정상적으로 올린 후  dbca 수행을 하였고 에러 없이 진행 완료.
 
## 환경 변수 
export ORACLE_BASE=/oracle/app                       
export DB_HOME=$ORACLE_BASE/product/dbhome
export ORACLE_HOME=$ORACLE_BASE/product/dbhome
export GRID_BASE=/grid/app/gi_base
export GRID_HOME=/grid/app/gihome
 
예전에는 grid 와 oracle 이 같은 home 위치에 있을 경우는 에러나 경고등을 뿌려 주어서 회피를 하면서 설치가 가능 했는데.
이젠 에러도 없어진 대신에 dbca에서  퍼미션 에러를 뿌려 주면서  GRID 리소스에 정상적으로 등록이 되지 않게 해 놓았네요.
 --> 지금도 회피를 하면서 설치가능 여부는 미 확인 
 
sqlplus 상에서 db를 내리고 올리는것은 가능 했으나, srvctl 명령어를 이용한 db를 내리고 올리는것은 불가능  합니다.
 
해당버전은 12c 부터 문제가 생기지 않을까 싶네요.  --> 제 생각.
위로