그래서 어제 같이 일하고 있었는데cx_Oracle 가져오기마침내 성공했습니다. 그러나 데이터베이스에 연결할 수 없습니다. 그래서 Oracle 데이터베이스에 연결할 수 있는지 확인하기 위해 sqlplus를 확인했습니다. 구성 중에 설정된 비밀번호를 사용하여 SYS, SYSTEM 및 SCOTT/TIGER를 시도했지만 아무 도움도 되지 않으며 항상 같은 오류가 발생합니다. 인쇄된 내용은 다음과 같습니다.
[gruszczy@gruszczy-laptop matches]$ sqlplus
SQL*Plus: Release 11.2.0.2.0 Beta on Sat Jun 11 12:33:48 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name: sys
Enter password:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0
Enter user-name: system
Enter password:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0
Enter user-name: scott
Enter password:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0
무엇이 설정되지 않을 수 있는지 알고 있나요? ORACLE_HOME 및 ORACLE_SID 설정에 후행 슬래시가 없어야 한다는 정보를 Google에서 찾았습니다. 저는 다음 두 가지 작업을 수행했습니다.
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=XE
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
제가 뭔가 잘못하고 있는 걸까요, 아니면 뭔가를 더 설정해야 하는 걸까요?
편집하다
내 tnsnames.ora:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = gruszczy-laptop)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
편집하다
제안된 작업을 수행해 보았고 다음과 같은 결과를 얻었습니다.
$ sudo su - oracle
$ -bash-4.2$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Beta on Sat Jun 11 21:47:15 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=gruszczy-laptop)(PORT=1521))'
SQL> Disconnected
-bash-4.2$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.2.0 - Beta on 11-JUN-2011 21:47:43
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 2: No such file or directory
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=gruszczy-laptop)(PORT=1521)))
이것은 나에게 아무 것도 알려주지 않으며 이것이 어떻게 구성되어야 하는지 전혀 모릅니다. 이전에는 이것을 설정할 필요가 없었습니다. 일반적으로 어떤 작업을 수행하기 전에 "데이터베이스 시작" 응용 프로그램을 사용하여 데이터베이스를 시작합니다.
답변1
데이터베이스가 시작되지 않은 것 같습니다. ~와 연결하다
sqlplus / as sysdba
startup
그런 다음 명령을 실행하십시오 .
또한 리스너가 아직 실행되고 있지 않다면 실행 중인지 확인 lsnrctl status
하세요 lsnrctl start
.
답변2
구성 파일의 항목 끝에 후행이 있습니까 /
?ORACLE_HOME
listener.ora
그렇다면 삭제하세요.