지 않는 이유는 무엇으로"SYSDBA"작업에서 SQL Developer?
-
29-09-2020 - |
문제
나는 SQL 서버 개발자/DBA 컨설턴트를 돕는 고객에게 최근에 그들의 오라클 DBA.가 수행 개발에서 오라클,하지만 많은 DBA 작업,그리고 멀티홈 환경은 이렇습니다.
문제: 나를 사용하여 연결할 수 있는"SYS As SYSDBA"SQL 에서 플러스,하지만 지 에서 SQL 개발자에서 동일한 시스템입니다.그러나,나 수 을 사용하여 연결"시스템"중 하나 SQL Plus 나 SQL 개발자이다.
상세정보:
이 서버에서 윈도우 관리자 계정(또는 입력한 서버에서 관리자는 Oracle 관리 Asst.),이 DOS 명령을 사용:
D:\Oracle\app\product\11.2.0\dbhome_1\BIN>sqlplus /@MyDb as sysdba
고,Select*from V$인스턴스는 것을 보여줍니다 MyDb 에서는 모두 도구 및 db11.2.0.3
그래서 이것을 하나:
D:\Oracle\app\product\11.2.0\dbhome_1\BIN>sqlplus sys/<pwd>@MyDb as sysdba
(도:입력 잘못된 비밀번호 작품뿐만 아니라(!))
SQL 사용하여 플러스 시작 메뉴에서 옵션을 동(절단,계정 및 가정),이들은 또한 작업:
Enter user-name: /@MyDb as sysdba
Enter user-name: sys/<pwd>@MyDb as sysdba
Select*from V$인스턴스는 것을 보여줍니다 MyDb 에서는 모두 도구 및 db11.2.0.3
액세스하려고 시도 MyDb 에서 동일한 SQL 개발자,성공을 위해"시스템"사용자 이름,하지만 실패에 대한"sys""as sysdba""로 ORA-01031:불충분한 권한".그러나,이러 가 작동 연결하는 경우 다른 데이터베이스에서 다른 서버에 있습니다.
나는 연구이며,대부분의 게시하는 데 도움이 될 것을 목표로 존재하지 않는 경우에는 연결을 모두 만들 수 있습니다하지 않는 경우 여기에.그냥 머리에 떨어져 이들 중 일부:
- 문제가 되지 않는 네트워크하지 않는 설치하기 때문에,SQL 개발자를 위해"시스템"로컬 및 원격으로.
- 문제가 되지 않는 DB/인스턴스가 시작되지 않기 때문에 다시,그것은 작품을 위해"시스템"
- 그것은 나에 연결하는 잘못된 데이터베이스,나는 그것을 확인하를 위해"시스템"
- AFAIK,그것은 나는 잘못 사용하는 구문에서 SQL 개발자에 연결하는 DB"As SYSDBA"작동하기 때문에 연결할 때 다른 서버에서 다른 DBs.
내 창자가 느끼는 중
- 거기에 몇 가지 설정을 말하는"을 허용하지 않 SYSDBA 네트워크를 통해 연결"또는
- 거기에 몇 가지 구성이/권한 문제에서 Oracle 네트워크 수신기에서 그것을 방지 확인하고 윈도우 관리자 계정이며,또한 sys 하지 않는 암호는 무엇이었을 말했었고,마지막으로 Oracle 이 제공하는 무능한 오류 메시지입니다.
어떤 도움 또는 지침에 이 주시면 감사하겠습니다.
그래,그래서 사용하는 지침에서@BalasPapp,나를 찾을 수 있었다 더 다음과 같다:
- 이 데이터베이스에 의해 서비스 두 번째 Oracle11g 집이라는 OraDb11g_home3pathed 하기
D:\Oracle\app\product\11.2.0\dbhome_1D:\Oracle\app\product\11.2.0\dbhome_1
. - 윈도우 서비스 no 시작 매개변수에 대한 그것은 제외하고(DB 이름,of course).
- 명령
show parameter remote_login_passwordfile
쇼의 가치"독".
내용의 수신기.ora:
# listener.ora Network Configuration File: D:\Oracle\app\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\Oracle\app\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\Oracle\app\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = <SERVERNAME>.<networkname>.local)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = D:\Oracle\app
의 내용을 sqlnet.ora:
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES = (NTS)
의 출력 lsnrctl status
:
D:\Oracle\app\product\11.2.0\dbhome_1\BIN>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.3.0 - Production on 23-DEC-2015 12:03:55
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<SERVERNAME>.<networkname>.local)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 11.2.0.3.0 - Production
Start Date 02-DEC-2015 16:25:41
Uptime 20 days 19 hr. 38 min. 17 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File D:\Oracle\app\product\11.2.0\dbhome_1\network\admin\listener.ora
Listener Log File D:\Oracle\app\diag\tnslsnr\<SERVERNAME>\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<SERVERNAME>.<networkname>.local)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "<DBNAME>" has 1 instance(s).
Instance "<DBNAME>", status READY, has 1 handler(s) for this service...
The command completed successfully
D:\Oracle\app\product\11.2.0\dbhome_1\BIN>
매개변수에서 연결할 때 SQL 개발자:
Username: system (or sys)
Password: <...>
Connection
Type: Basic
Role: Default (or SYSDBA)
Hostname: localhost
Port: 1521
SID (or Service name, both work/fail the same):
<dbname>
(Neither OS Authentication nor Kerberos is set)
작품을 위해"시스템 기본값",실패에 대한"sys SYSDBA"와"충분한 권한".내가 노력의 많은 조합을 OS 인증 및 Keberos 설정뿐만 아니라,무 소용이 없습니다.
마지막으로,이러한 두 .ora
에서 파일 /database
디렉토리
SNCF<DBNAME>.ORA (18MB)
SPFILE<DBNAME>.ORA (4kb)
그들은 모두 나타나 바이너리 파일에는 메모장입니다.
도: select * from v$pwfile_users
행을 반환하지 않습니다.
해결책
를 사용하여 연결하는'as sysdba'클라이언트에서 이상 sql*순요
- remote_login_passwordfile 매개 변수가'독점'
- 암호파일(orapw${선택하고 만들기 버튼을 클릭})본 인스턴스에 대해 당신에 연결하려고
- 사용자가 허 sysdba 에서 데이터베이스(sys 가 이 기본값을 사용 passwd 파일 암호입니다.
기본 위치한 암호파일은$ORACLE_HOME/dbs 하지만 이후 Oracle v12 그것에 저장할 수도 있습니다 ASM.는 경우에 당신은 그것을 찾을 사용하여 srvctl