oracle - SQL Developer 连接问题

标签 oracle plsql oracle11g oracle-sqldeveloper

我已经安装了jdk 1.6.0_45和Oracle 11g。我可以使用带有 sqldba 凭据的 sqlplus 正确连接到 Oracle 数据库,但是当我尝试使用 SQL Developer 连接到此数据库时,出现错误“监听器当前不知道连接描述符中给出的 SID”。我尝试将“SERVICE_NAME”更改为“SERVICE_NAME as SYSDBA”和其他一些内容,但没有帮助。如何让SQL开发者连接到服务器?这是 tnsname.ora 文件、带有连接设置的 img 和 init.ora 文件以及用于从 sqlplus 连接的 cmd 提示符

# tnsnames.ora Network Configuration File: C:\app\Andriy\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME as SYSDBA = orcl.adobe.com)
    )
  )

enter image description here

# 
# $Header: rdbms/admin/init.ora /main/23 2009/05/15 13:35:38 ysarig Exp $ 
# 
# Copyright (c) 1991, 1997, 1998 by Oracle Corporation
# NAME
#   init.ora
# FUNCTION
# NOTES
# MODIFIED
#     ysarig     05/14/09  - Updating compatible to 11.2
#     ysarig     08/13/07  - Fixing the sample for 11g
#     atsukerm   08/06/98 -  fix for 8.1.
#     hpiao      06/05/97 -  fix for 803
#     glavash    05/12/97 -  add oracle_trace_enable comment
#     hpiao      04/22/97 -  remove ifile=, events=, etc.
#     alingelb   09/19/94 -  remove vms-specific stuff
#     dpawson    07/07/93 -  add more comments regarded archive start
#     maporter   10/29/92 -  Add vms_sga_use_gblpagfile=TRUE 
#     jloaiza    03/07/92 -  change ALPHA to BETA 
#     danderso   02/26/92 -  change db_block_cache_protect to _db_block_cache_p
#     ghallmar   02/03/92 -  db_directory -> db_domain 
#     maporter   01/12/92 -  merge changes from branch 1.8.308.1 
#     maporter   12/21/91 -  bug 76493: Add control_files parameter 
#     wbridge    12/03/91 -  use of %c in archive format is discouraged 
#     ghallmar   12/02/91 -  add global_names=true, db_directory=us.acme.com 
#     thayes     11/27/91 -  Change default for cache_clone 
#     jloaiza    08/13/91 -         merge changes from branch 1.7.100.1 
#     jloaiza    07/31/91 -         add debug stuff 
#     rlim       04/29/91 -         removal of char_is_varchar2 
#   Bridge     03/12/91 - log_allocation no longer exists
#   Wijaya     02/05/91 - remove obsolete parameters
#
##############################################################################
# Example INIT.ORA file
#
# This file is provided by Oracle Corporation to help you start by providing
# a starting point to customize your RDBMS installation for your site. 
# 
# NOTE: The values that are used in this file are only intended to be used
# as a starting point. You may want to adjust/tune those values to your
# specific hardware and needs. You may also consider using Database
# Configuration Assistant tool (DBCA) to create INIT file and to size your
# initial set of tablespaces based on the user input.
###############################################################################

# Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at
# install time)

db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='<ORACLE_BASE>'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300 
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='11.2.0'

C:\>sqlplus

SQL*Plus: Release 11.2.0.1.0 Production on ┬Є. ├Ёє 24 16:26:28 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Enter user-name: sys as sysdba
Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

C:\>lsnrctl status

LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 24-├╨╙-2013 17:00:25

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Production
Start Date                24-├╨╙-2013 09:24:44
Uptime                    0 days 7 hr. 35 min. 43 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   C:\app\Andriy\product\11.2.0\dbhome_1\network\admin\listener.ora
Listener Log File         c:\app\andriy\diag\tnslsnr\andriypc\listener\alert\log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

最佳答案

您的监听器配置为仅监听localhost (127.0.0.1)。默认情况下,数据库将尝试根据服务器的外部主机名( the default when local_listener is blank )进行注册,因此注册似乎失败。

可以修改listener.ora来监听外部地址:

LISTENER = 
(DESCRIPTION_LIST = 
(DESCRIPTION = 
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
(ADDRESS = (PROTOCOL = TCP)(HOST = ANDRIYPC)(PORT = 1521)) 
) 
) 

...或者 IP 地址而不是主机名(如果无法解析),例如192.168.1.134;但如果您使用 DHCP 来获取 IP 地址,那么当您获得不同的 IP 时,该地址就会中断。如果您使用静态地址,则使用该 IP 就可以了。

或者,如果您只从这台 PC 访问此数据库并且不需要它在网络上可见,您可以将监听器保留在 localhost 上并告诉数据库进行注册那里:

alter system set local_listener = '127.0.0.1:1521' scope=both;
alter system register;

无论哪种方式,lsnrctl services 现在应该显示 orcl.adobe.com。从 SQL Developer 连接时,您可以选择“服务名称”单选按钮而不是 SID,并将 orcl.adobe.com 也放入其中。

如果您以 SYS 身份连接,则需要从下拉列表中选择 SYSDBA 角色;但您真正应该做的第一件事是为自己创建一个新用户,然后只使用它。仅将 SYS(和 SYSTEM 以及其他内置帐户)用于实际的 DBA 任务,而不是用于创建您自己的表等。

关于oracle - SQL Developer 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20762447/

相关文章:

oracle - 在 Oracle 中插入一百万行的最快方法

sql - 主键和唯一索引——由 SQL Developer 生成的 sql 脚本

java - 内部错误 : Unknown or unimplemented accessor type: 9

string - Direct Oracle Access 截断 unicode(宽)字符串的末尾

oracle - 如何在 SQL 中以不同的增量循环遍历数字

java.sql.SQLException : ORA-00933: SQL command not properly ended Error with LIKE Sql Query

java - ORA-06553 Oracle 中带有 Blob 的 java 函数参数错误

SQL 查询连接两个表与第一个表行和第二个表值的后续行的一对多关系

plsql - Oracle 分层查询

database - WHENEVER SQLERROR EXIT FAILURE 在 sqlplus 中抛出错误后的评论部分