【发布时间】:2017-08-31 23:36:48
【问题描述】:
我需要使用swingbench 来量化给定主机的性能。但是,由于我对数据库非常陌生,因此无法让 datagenerator 程序连接到已在主机上“打开”的 Oracle 数据库实例。
在主机上安装 Oracle 12c(并随之创建数据库)后,我正在启动数据库
第一次,由于初始化文件不存在,我在启动数据库时遇到了问题。所以我必须从现有的“spfile”创建一个“pfile”,我发现它存在于 $ORACLE_HOME
SQL> CREATE PFILE = full path to init.ora FROM SPFILE = full path to existing spfile.ora;
之后我启动“挂载”和“打开”数据库的数据库。
SQL> startup
ORACLE instance started.
Total System Global Area 2421825536 bytes
Fixed Size 2291232 bytes
Variable Size 654313952 bytes
Database Buffers 1744830464 bytes
Redo Buffers 20389888 bytes
Database mounted.
Database opened.
我的数据库中的相关详细信息是:
SQL> SELECT sys_context('USERENV', 'SID') FROM DUAL;
SYS_CONTEXT('USERENV','SID')
--------------------------------------------------------------------------------
355
SQL>
SQL> select sys_context('userenv','instance_name') from dual;
SYS_CONTEXT('USERENV','INSTANCE_NAME')
--------------------------------------------------------------------------------
db1
SQL> select sys_context('userenv', 'server_host') from dual;
SYS_CONTEXT('USERENV','SERVER_HOST')
--------------------------------------------------------------------------------
oracle_12c
我的主机名是:
oracle_12c.localdomain
现在,当我尝试测试从数据生成器到此数据库的连接时(附言,来自安装数据库的同一主机),我总是收到错误消息。我已经尝试使用 service-name(或者它是否称为 instance name??)以及 here 中描述的 SID 连接方法。所以在尝试使用“瘦风格服务名称语法”时,我的连接字符串是:
//oracle_12c.localdomain:1521/db1
我的错误是一个 IO 错误,说无法建立连接而不会付出太多。
我已经尝试过像这样的“瘦样式 SID 语法”:
//oracle_12c.localdomain:1521:355
这给了我一个类似的错误,但没有说明太多。
确切的错误是“无法使用提供的参数进行连接:IO 错误:网络适配器无法建立连接”
有了这些细节,谁能帮我制作一个合适的连接字符串来与数据生成器一起使用?还有一个我可以在主机上tail -f 的文件可以指出它到底在哪里失败?
我还认为listener 不会出现在本地发起的请求中??真的吗?那么是不是意味着listerner.ora不需要为这样的请求配置呢?
编辑:我的 Lister 配置文件是:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle_12C.localdomain)(PORT = 1521))
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=db1)
(SID_NAME=db1)
(ORACLE_HOME=/oracle/product/12.1.0/db_1)
)
)
所以现在在更新这个文件之后,我像这样启动我的监听器:
[oracle@oracle_12c db_1]$ lsnrctl start
LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 06-APR-2017 04:31:38
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Starting /oracle/product/12.1.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 12.1.0.1.0 - Production
System parameter file is /oracle/product/12.1.0/db_1/network/admin/listener.ora
Log messages written to /oracle/diag/tnslsnr/oracle_12c/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle_12c.localdomain)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.1.0 - Production
Start Date 06-APR-2017 04:31:39
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /oracle/product/12.1.0/db_1/network/admin/listener.ora
Listener Log File /oracle/diag/tnslsnr/oracle_12c/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle_12c.localdomain)(PORT=1521)))
Services Summary...
Service "db1" has 1 instance(s).
Instance "db1", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
现在至少看起来我来自 swingbench 的请求确实在我的数据库中命中,因为现在我得到了一个不同的错误:
ORA-01017: invalid username/password, logon denied
所以现在我将用户的大小写从SYS 更改为sys,我收到以下错误:
ORA-28009: Connection as SYS should be as SYSDBA or SYSOPER
我什至尝试将大小写设置为不区分大小写:
SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;
System altered.
但无济于事。 很想听
【问题讨论】:
标签: mysql database oracle jdbc oracle12c