centos6.4 Final minimal 安装oracle 10g
具体的准备及安装部分见:http://blog.csdn.net/sunnyishere/article/details/3950114。下面主要是较麻烦解决的问题记录。
未装图形界面,静默安装了oracel10g,在配置安装网络监听时一直报错:
[oracle@localhost 102]$ ./bin/netca /silent /responseFile /opt/oracle/netca.rsp Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/oracle/product/102/jdk/jre/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
?单独下载了libXp,libXt,libXi?等包安装未解决,结果:
yum install libXt.i686 libXtst.i686
?给解决了。
?
创建数据库实例继续报错:
?
[oracle@localhost 102]$ ./bin/dbca -silent -responseFile /opt/oracle/dbca.rsp Template General Purpose does not exist. Please specify an existing template for database creation.
?编辑dbca.rsp文件,修改TEMPLATE配置
?
#-----------------------------------------# Name : TEMPLATENAME# Datatype : String# Description : Name of the template# Valid values : Template name as seen in DBCA# Default value : None# Mandatory : Yes#这里原来是 TEMPLATENAME = "General Purpose"#-----------------------------------------TEMPLATENAME = "General_Purpose.dbc"
?然后继续正常,创建有进度百分比了,到了100%成功了。
?
客户端机器用plsql配置好tns,连接报错:
?
?
原本已为一切就绪,只要创建用户,结果在数据库服务器本机sqlplus sys/密码?可以登录,但如何指定服务名sqlplus sys/密码@hzdev as sysdba?就报连接失败,百思不得其解。
使用 ??
?
[oracle@localhost ~]$ lsnrctl status hzdevLSNRCTL for Linux: Version 10.2.0.1.0 - Production on 19-MAR-2013 16:37:10Copyright (c) 1991, 2005, Oracle. All rights reserved.Connecting to (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=hzdev.localdomain))(ADDRESS=(PROTOCOL=TCP)(HOST=60.191.124.xxx)(PORT=1521)))TNS-12535: TNS:operation timed out TNS-12560: TNS:protocol adapter error TNS-00505: Operation timed out Linux Error: 110: Connection timed out
?发现连接的host并不是我本地的ip,百思不得其解。最后一想,反向找这IP发现是公司域名,才勉强想起来,在静默安装数据库实例hzdev时,我设置了 数据库全局名称 GODBNAME=db.hz.xxxxxx.com xxxxx即公司域名。
再用lsnrctl 看状态
?
[oracle@localhost ~]$ lsnrctl status LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 19-MAR-2013 16:46:23Copyright (c) 1991, 2005, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 10.2.0.1.0 - ProductionStart Date 19-MAR-2013 16:12:17Uptime 0 days 0 hr. 34 min. 5 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /opt/oracle/product/102/network/admin/listener.oraListener Log File /opt/oracle/product/102/network/log/listener.logListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.222.138.250)(PORT=1521)))Services Summary...Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...Service db.hz.xxxxx.com has 1 instance(s). Instance "hzdev", status UNKNOWN, has 1 handler(s) for this service...The command completed successfully
?
? ??看到这,将客户端tns里的service_name?由hzdev修改为上面红色域名,客户端终于给连接成功了。
?
用域名做service_name还是不爽的,于是编辑$ORACLE_HOME/network/admin/listener.ora?
将我注册监听
?
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /opt/oracle/product/102) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = db.hz.xxxxx.com) (ORACLE_HOME = /opt/oracle/product/102) (SID_NAME = hzdev) ) )上面的 (GLOBAL_DBNAME = db.hz.xxxxx.com) 给删除了。再lsnrctl reload ,客户端也修改service_name=hzdev 一切都正常了。
?
?
为什么会这样,需要自己去搜下: oracle?监听?动态注册?静态注册了。
? ?
?
?
?
?
?
?
?
?
?
?
?