我需要使用swingbench来量化给定主机的性能。 但是,由于我对数据库还很陌生 ,因此无法使数据生成器程序连接到已在主机上“打开”的Oracle数据库实例。
在主机上安装Oracle 12c之后(并与其一起创建数据库),我将这样启动数据库
由于没有初始化文件,这是我第一次遇到启动数据库的问题。 所以我不得不从我在$ ORACLE_HOME上找到的现有“ spfile”创建一个“ pfile”
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
现在,当我尝试测试从数据生成器到该数据库的连接(来自安装数据库的同一主机上的PS)时,总是出现错误。 我已经尝试使用服务名 (或称为实例名 ??)以及此处所述的SID连接方法。 因此,在尝试使用“瘦样式服务名称语法”时,我的连接字符串为:
//oracle_12c.localdomain:1521/db1
我的错误是IO错误,说如果不付出太多就无法建立连接。
我已经尝试过“稀薄样式SID语法”,如下所示:
//oracle_12c.localdomain:1521:355
这给了我一个类似的错误,却不多说。
确切的错误是“无法使用提供的参数进行连接:IO错误:网络适配器无法建立连接”
有了这些详细信息,任何人都可以帮助我制作适合于datagenerator的连接字符串吗? 还有一个文件,我可以在主机上添加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.
但无济于事。 渴望听到