本地和远程关闭实例后,sqlplus在客户端怎样远程启动linux下Oracle 10.2的服务端数据库实例?怎样写一个启动批处理文件?[问题点数:50分]
Oracle 10.2实例已启动的情况下,在命令行 执行C:\instantclient_10_2>sqlplus SYS/long0411@remoteGZGA as sysdba可正常连到远程CentOS5.1下的oracle 10g服务端上去!但执行SQL>shutdown immediate后就连不上去了。在CentOS5.1通过localhost.localdomain:1158/em/console/关闭实例后也再连不上去,SQL>startup也不管用。
------------------------------------------------------------
C:\instantclient_10_2>sqlplus SYS/long0411@remoteGZGA as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on 星期二 6月 17 13:16:30 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
ERROR:
ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的 SID
请输入用户名:
-------------------------------------------------------------
C:\instantclient_10_2>sqlplus
SQL*Plus: Release 10.2.0.3.0 - Production on 星期二 6月 17 13:21:18 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
请输入用户名: SYS
输入口令:
ERROR:
ORA-12560: TNS: 协议适配器错误
请输入用户名:
----------------------------------------------------------请教具体该怎么做才能远程启动Oracle 10.2数据库实例,及dbconsole?
怎样在XP下写成一个批处理文件:
双击后直接打开一个命令行终端 并自动进入C:\installClient目录下执行
sqlplus ksxt/1234@remoteGZGA命令。该批处理命令可随着XP系统的启动而自动弹出一个命令行终端并执行sqlplus ksxt/1234@remoteGZGA命令!请教该如何实现?
最好是能自动判断出如果远程Oracle 10g服务端没有正常开启时或网络中断时能判断出来,并在终端命令行中给出相应提示
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 回复次数:62
bobfang
(匆匆过客)
等 级:
2
#1楼 得分:0回复于:2008-06-17 13:45:20检查linux上的oracle是否已经配置。如没配置就会出现你说所的那种情况。
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:收集网易数据库笔试题,欢迎大家拍砖
ll_0605
等 级:
#2楼 得分:0回复于:2008-06-17 13:48:49在C:\instantclient_10_2 目录下安装了从下的instantclient-basic-win32-10.2.0.3-20061115.zip,instantclient-sqlplus-win32-10.2.0.3-20061115.zip.
CentOS5.1下Oracle 10g实例名:gzga 端口是1522,user:ksxt;pwd:1234;Ip:192.168.0.100
以用户SYS可登录gzga;
在C:\instantclient_10_2 目录下a内容如下:
# a Network Configuration File: /u01/app/oracle/product/10.2.0.1/network/a
# Generated by Oracle configuration tools.
LISTENER_GZGA =
(ADDRESS = (PROTOCOL = TCP)(HOST = 19
2.168.0.100)(PORT = 1522))
remoteGZGA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1522))
)
(CONNECT_DATA =
(SID = gzga)
)
)
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:其他论坛Oracle版都是大版,火热的很,为何感觉csdn的Oracle版有些冷清????
ll_0605
等 级:
#3楼 得分:0回复于:2008-06-17 13:50:16引用 1 楼 bobfang 的回复:
检查linux上的oracle是否已经配置。如没配置就会出现你说所的那种情况。
具体怎么配?各参数值是什么?请指教详细步骤!非常感谢!
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:经典SQL语句收集(ORACLE)
gisinfo
(gisinfo)
等 级:
#4楼 得分:0回复于:2008-06-17 14:59:09通过net manager assiant
手动配置
或者在 network文件夹里的监听文件里
填加
LISTENER_GZGA =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1522))
remoteGZGA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1522))
)
(CONNECT_DATA =
(SID = gzga)
)
最好用默认的断口1521
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:oracle面试题目总结---(300分相赠)!
long5973
(long5973)
等 级:
#5楼 得分:0回复于:2008-06-17 16:04:24C:\instantclient_10_2>sqlplus SYS/long0411@remoteGZGA as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on 星期二 6月 17 15:53:33 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的 SID
SQL> startup
ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误, hostdef 扩展名不存在
SQL> set Oracle_sid = remoteGZGA
SP2-0158: 未知的 SET 选项 "Oracle_sid"
SQL> startup
ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误, hostdef 扩展名不存在
SQL> startup remoteGZGA
SP2-0714: 无效的 STARTUP 选项组合
SQL> startup
ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误, hostdef 扩展名不存在
SQL> startup gzga
SP2-0714: 无效的 STARTUP 选项组合
SQL> start up
SP2-0310: 无法打开文件 "up.sql"
SQL> start up
SP2-0310: 无法打开文件 "up.sql"
SQL> startup
ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误, hostdef 扩展名不存在
SQL>
我按楼上说的修改了a文件,重起和数据库,再从客户端连接后的拷屏信息如上,请教原因及解决
方法?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:特难的SQL,请高书帮助,急,跪求各位大峡!!!
long5973
(long5973)
等 级:
#6楼 得分:0回复于:2008-06-17 16:04:32C:\instantclient_10_2>sqlplus SYS/long0411@remoteGZGA as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on 星期二 6月 17 15:53:33 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的 SID
SQL> startup
oracle10g客户端安装步骤ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误, hostdef 扩展名不存在
SQL> set Oracle_sid = remoteGZGA
SP2-0158: 未知的 SET 选项 "Oracle_sid"
SQL> startup
ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误, hostdef 扩展名不存在
SQL> startup remoteGZGA
SP2-0714: 无效的 STARTUP 选项组合
SQL> startup
ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误, hostdef 扩展名不存在
SQL> startup gzga
SP2-0714: 无效的 STARTUP 选项组合
SQL> start up
SP2-0310: 无法打开文件 "up.sql"
SQL> start up
SP2-0310: 无法打开文件 "up.sql"
SQL> startup
ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误, hostdef 扩展名不存在
SQL>
我按楼上说的修改了a文件,重起和数据库,再从客户端连接后的拷屏信息如上,请教原因及解决方法?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
long5973
(long5973)
等 级:
#7楼 得分:0回复于:2008-06-17 16:11:26更正下:是修改了a文件,改后内容如下:
# a Network Configuration File: /u01/app/oracle/product/10.2.0.1/network/a
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0.1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1522))
)
)
LISTENER_GZGA=
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1522))
remoteGZGA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1522))
)
(CONNECT_DATA=
(SID = gzga)
)
localhost ip =192.168.0.100
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
ll_0605
等 级:
#8楼 得分:0回复于:2008-06-17 19:07:27具体该怎么做才能真正做到远程启动Oracle 10g服务端实例?
对我有用[0] 丢个板砖[0] 引用
举报 管理 TOP
hiairfly
(呵呵)
等 级:
#9楼 得分:0回复于:2008-06-17 20:08:23楼主问题的原因很有可能是服务器端数据库服务是动态注册的。
建议在a中静态注册数据库服务。
如:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME=gzga)
(ORACLE_HOME = D:\oracle\product\10.2.0\emes)
(SID_NAME = gzga)
)
)
客户端的a中CONNECT_DATA 节点用SERVICE_NAME替换SID。
(CONNECT_DATA =
(SERVICE_NAME = gzga)
)
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
h92998
(h92998)
等 级:
#10楼 得分:0回复于:2008-06-17 22:01:49怀疑是客户端的配置文件a有问题,请检查
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
bai_jiong
(常青松)
等 级:
#11楼 得分:0回复于:2008-06-18 09:01:56在你的TNSNAMES.ORA文件中,加上数据库的连接方式为专用连接.
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
ll_0605
等 级:
#12楼 得分:0回复于:2008-06-18 11:03:42to bai_jiong:你指的是服务端还是客户端的a?具体怎么设置连接方式为专用连接,请指教!
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
ll_0605
等 级:
#13楼 得分:0回复于:2008-06-18 11:58:42to hiairfly:在CentOS5.1上的u01/app/oracle/product/10.2.0.1 下没有emes目录,这个目录是做什么的?我该怎样指定?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
bai_jiong
(常青松)
等 级:
#14楼 得分:0回复于:2008-06-18 12:45:43在客户端配置
(CONNECT_DATA =
(server = dedicated)
(SERVICE_NAME = gzga)
)
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
ll_0605
等 级:
#15楼 得分:0回复于:2008-06-18 13:43:27非常感谢 hiairfly:根据你的提示,我的功能实现了。
可是我还有一个问题没解决:
怎样在WIN XP下写成一个批处理文件:
双击后直接打开一个命令行终端 并自动进入C:\installClient目录下执行
sqlplus ksxt/1234@remoteGZGA命令连接到远程的CentOS5.1中的10G服务端。该批处理命令可随着XP系统的启动而自动弹出一个命令行终端并执行sqlplus ksxt/1234@remoteGZGA命令!
最好是能自动判断出如果远程Oracle 10g服务端是否正在开启、数据库实例能否连接上或局域网络中断时能判断出来,并在终端命令行中给出相应错误信息提示!
请教该如何实现?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
bobfang
(匆匆过客)
等 级:
2
#16楼 得分:0回复于:2008-06-18 17:25:31给个例子
@echo off
setlocal
pushd "C:\installClient"
set servername=remoteGZGA
set username=ksxt
set password=1234
echo "
测试tnsping %servername% "
tnsping %servername% &p
if %errorlevel% neq 0 (
echo "失败!"
p
pause
) else (
echo "通过"
echo "测试连接数据库"
echo WHENEVER SQLERROR exit -1>test.sql
echo connect %username%/%password%@%servername%>>test.sql
echo exit>>test.sql
sqlplus -s /nolog @test.sql &p
if %errorlevel% neq 0 echo "连接失败,原因是:"
p
pause
)
popd
endlocal
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
ll_0605
等 级:
#17楼 得分:0回复于:2008-06-18 20:00:18请教批处理文件该怎么创建?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
ruihuahan
(飞不起来的笨鸟)
等 级:
3
#18楼 得分:0回复于:2008-06-18 20:46:53windows 平台下有很多的 ssh 客户端可用的,比如 putty。网上下载安装一个,就可以远程登录到 linux 服务器上,从服务器启动 oracle 实例就可以了。
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
ll_0605
等 级:
#19楼 得分:0回复于:2008-06-18 21:00:47我想做成自动启动的服务那样该怎么做?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
long5973
(long5973)
等 级:
#20楼 得分:0回复于:2008-06-20 13:43:32随着WINXP系统的启动进入用户桌面后自动弹出一个终端命令行并执行sqlplus SYS/long0411@remoteGZGA命令!
最好是能自动判断出如果远程Oracle 10g服务端是否正在开启、数据库实例能否连接上或局域网络中断时能判断出来,并在终端命令行中给出相应错误信息提示!
请教该如何实现?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
long5973
(long5973)
等 级:
#21楼 得分:0回复于:2008-06-20 14:48:37顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
bobfang
(匆匆过客)
等 级:
2
#22楼 得分:0回复于:2008-06-20 16:18:37可以这样写BAT
@echo off
setlocal
pushd "C:\installClient"
set servername=remoteGZGA
set username=sys
set password=long0411
echo "正在tnsping %servername% "
tnsping %servername% &p
if %errorlevel% neq 0 (
echo "tnsping失败,数据库无法连接"
p
pause
) else (
echo "tnsping通过."
echo "正在用sqlplus连接数据库"
echo WHENEVER SQLERROR exit -1>test.sql
echo connect %username%/%password%@%servername% as sysdba>>test.sql
echo exit>>test.sql
sqlplus -s /nolog @test.sql &p
if %errorlevel% neq 0 {
echo "连接数据库时出错,错误原因是:"
p
pause
}
)
popd
endlocal
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
long5973
(long5973)
等 级
:
#23楼 得分:0回复于:2008-06-20 20:31:3910g数据库正常启动了,连接数据库的WEB应用也正常跑起来了。
"正在tnsping remoteGZGA "
"tnsping通过."
"正在用sqlplus连接数据库"
"连接数据库时出错,错误原因是:"
请按任意键继续. . .
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
ll_0605
等 级:
#24楼 得分:0回复于:2008-06-22 09:28:30请教上述错误的产生是什么原因?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
bobfang
(匆匆过客)
等 级:
2
#25楼 得分:0回复于:2008-06-23 09:34:19哦,是我写错了。再试试
@echo off
setlocal
pushd "C:\installClient"
set servername=remoteGZGA
set username=sys
set password=long0411
echo 正在tnsping %servername%
tnsping %servername% &p
if %errorlevel% neq 0 (
echo tnsping失败,数据库无法连接
p
pause
) else (
echo tnsping通过.
echo 正在用sqlplus连接数据库
echo WHENEVER SQLERROR exit -1>test.sql
echo connect %username%/%password%@%servername% as sysdba>>test.sql
echo exit>>test.sql
sqlplus -s /nolog @test.sql &p
if %errorlevel% neq 0 (
echo 连接数据库时出错,错误原因是:
p
pause
) else echo 数据库可以正常连接
)
popd
endlocal
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
ll_0605
等 级:
#26楼 得分:0回复于:2008-06-23 12:03:53改后的批处理文件,在数据库没有启动时,运行结果如下:
正在tnsping remoteGZGA
tnsping失败,数据库无法连接
TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 23-6月 -2
008 12:02:09
Copyright (c) 1997 Oracle Corporation. All rights reserved.
已使用的参数文件:
F:\oracle\ora92\network\a
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 192.168.0.100)(PORT = 1522))) (CONNECT_DATA = (SERVICE_NAME = gzga)))
TNS-12535: TNS: 操作超时
请按任意键继续. . .
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
ll_0605
等 级:
#27楼 得分:0回复于:2008-06-23 12:42:27在数据库正常启动后,点击批处理文件后 命令行窗口一闪就关闭了。
命令行窗口中显示:“
正在tnsping remoteGZGA
tnsping通过
正在用sqlplus连接数据库”
我想在sqlplus连接数据库成功后直接进入连接空闲例程而不是迅速关闭命令行窗口,像下面这样:
C:\instantclient_10_2>sqlplus SYS/long0411@remoteGZGA as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on 星期一 6月 23 12:13:43 2008
Copyright (c) 1982, 2006, Oracle. All Rights
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论