programing

내부적으로 Oracle에 연결하려고 시도하거나 유휴 인스턴스를 얻으려고 합니까?

i4 2023. 7. 5. 20:05
반응형

내부적으로 Oracle에 연결하려고 시도하거나 유휴 인스턴스를 얻으려고 합니까?

Oracle 인스턴스가 있고, 이 시스템에서 실행되고 있다는 것을 알고 있으며, Oracle 사용자에게 suff를 했고, "/ as sysdba"를 사용하여 연결하려고 합니다.그러나 연결하면 인스턴스가 유휴 상태로 표시됩니다.제 애플리케이션이 데이터베이스와 통신하고 있기 때문에 데이터베이스가 열려 있다는 것을 알고 있습니다.경로(ORACLE_HOME 등)가 잘못되었을 수 있습니다. 어떤 설정이 잘못되어 이 문제가 발생할 수 있는지 알고 계십니까?

% sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Dec 8 09:23:22 2008

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to an idle instance.

09:23:22 SQL> Disconnected

% ps -ef | grep smon
 oracle  6961     1   0   Nov 05 ?           1:24 ora_smon_ORA003
%

서버를 시작할 때와 동일하게 Oracle_HOME을 설정해야 합니다. Solaris에서 Oracle 9.2.0.5.0에서 이 문제를 발견했습니다.

ORACLE_HOME=/opt/oracle
ORACLE_HOME=/opt/oracle/

두 가지 다른 문제가 있으며 로컬로 연결하는 문제가 발생할 수 있습니다.

즉, 데이터베이스 인스턴스가 마운트되거나 열려 있지 않습니다.시작 명령을 실행하고 오류가 나타나는지 확인합니다.

감사합니다. ORACLE_HOME 변수의 끝에 있는 추가 앞 슬래시였습니다.

나의 경우, 이상함을 참고하세요 - 서버에 로그인하여 연결을 시도했지만 위의 오류가 발생했습니다.인스턴스가 실행되고 DB가 열려 있다는 것을 알고 있었습니다.ORACLE_HOME을 확인한 이유는 이러한 가능성을 어느 정도 알고 있었기 때문입니다.제가 본 것은 ORACLE_HOME이 괜찮다는 것입니다(마지막에 추가적인 전면 슬래시가 없음).그러다가 이 글을 읽었을 때 많은 노력을 한 끝에 문득 생각이 났습니다.DB는 추가 슬래시가 있는 ORACLE_HOME 세트로 시작되었습니다.그래서 DB는 ORACLE_HOME=/u01/app/oracle/product/10.2.0.3/로 시작했고, 그동안 ORACLE_HOME=/u01/app/oracle/product/10.2.0.3 :(

다시한번 감사합니다.

데이터베이스는 유휴 상태일 수 없으며 응용프로그램에서 동시에 사용 중일 수 없습니다.sqlplus 세션이 애플리케이션과 다른 인스턴스에 연결되어 있어야 하는 것 같습니다.다음과 같이 connect 문에서 connect 식별자를 지정해 보십시오.

sqlplus "/@ConnectIdentifier as sysdba"

*nix 시스템에서는 대소문자가 중요하므로 ORACLE_SID가 인스턴스 이름과 정확히 일치하는지 확인하십시오.이 경우 ORA003은 ora003과 다릅니다.

시스템 콘솔에서 시도

export ORACLE_SID=your sid here
sqlplus /nolog
startup

Windows에서 인스턴스를 시작하기 위한 서비스를 생성하거나 admin -new -sid %ORACLE_SID% -intpwd %oracle_pwd% -startmode A를 생성하는 명령이 있는 것으로 알고 있습니다.

저도 같은 문제가 있었습니다.ORACLE_HOME 끝에 있는 여분의 "/"를 제거함으로써 해결되었습니다.

공유해 주셔서 감사합니다. 이 블로그가 없었다면 이 문제를 진단하고 해결하기가 정말 어려웠을 것입니다.

로그인을 사용해 .sqlplus sys/sys as sysdba

SQL> startup

출력은 다음과 같아야 합니다.\n

Total System Global Area  467652608 bytes
Fixed Size          2214416 bytes
Variable Size         352323056 bytes
Database Buffers      104857600 bytes
Redo Buffers            8257536 bytes
Database mounted.
Database opened.

네, 인스턴스 유휴에 대해 알게 된 것은 spfile과 관련이 있습니다.때때로 당신의init.ora해 있습니다.

.init.ora 당신이 때, 단일당위찾때았을를치신이▁once때찾.

그 코드를 시험해 보세요.startup spfile="C:\location";

인스턴스가 시작되었다고 표시됩니다.

글쎄, 하나는 나를 위해 일했습니다.

잘못된 SID(XE 대신 xe)를 지정하는 동안 동일한 문제가 발생했습니다.rpm으로 데이터베이스를 설치하는 경우 /etc/inid.d/oracle에서 모든 환경을 확인합니다.

데이터베이스 사용량이 너무 많아 세션을 열 수 없는 경우가 문제일 수 있습니다.이 경우 모든 사용자를 사용하는 연결 심지어 더미 연결.

sqlplus 더미/스캐너

실제 문제를 제공하지만 유휴 인스턴스는 제공하지 않습니다.

sqlplus dummy/dummy를 사용해봤는데 실제 문제(메모리 부족)가 발생했습니다.나는 메모리를 사용할 수 있게 했고 문제 없이 로그인할 수 있었습니다.

그냥 입력:

shutdown abort

그리고나서

startup

언급URL : https://stackoverflow.com/questions/349886/trying-to-connect-internally-to-oracle-getting-an-idle-instance

반응형