关闭和打开Oracle数据库及例程的实验

呵呵,还是有点曲折的,第一次做这个操作

环境是windows server 2003,Oracle database 10g 10.2.0.1.0

首先了解启动和关闭的命令及命令参数,见本blog 转贴的《Oracle的几种启动和关闭方式》

而后启动sqlplus,用sys登录数据库,

执行shutdown immediate,提示:

数据库已经关闭

已经卸载数据库

Oracle例程已经关闭

OK!成功!心中暗喜,原来挺简单滴。。。

之后没有关闭sqlplus,又接着执行打开数据库命令startup,报告如下错误

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

晕!怎么不灵了?!

再执行之,于是原地没动又执行了一次startup,错误提示变了,提示如下错误

ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误, hostdef 扩展名不存在

啊!!此时突然想到,既然数据库和Oracle例程都已经关闭了,当然先前用sqlplus做的登录会失效了。。。而且同时也想到我已经没办法登录到数据库了,果然用sqlplus一试,已经没能登录数据库了

想到既然关闭后可以打开,那么一定有不登录关闭和打开数据库的方式,于是到网上查了一些方式并且请教了一些朋友他们也给了一些方式

例如:

c:/sqlplus  /nolog     --不登录数据库方式启动sqlplus,在此基础上执行一些命令

c:/sqlplus  "/as sysdba"    --以sysdba角色启动sqlplus,在此基础上执行一些命令

等等

这些都是可以不登录数据库启动sqlplus的方式。。。。。

对其中第二个例子有些奇怪,查过sqlplus帮助,其中是提到过/as sysdba的方式,但是帮助中并没有提到需要加双引号,而且这种方式是与“以用户名/密码@连接字符串登录数据库启动sqlplus”和“以nolog方式不登录数据库启动sqlplus”两种方式并列的,后两种方式都不需要加双引号,但是/as sysdba两端必须加以双引号,奇怪ing

一开始在网上查到很多资料中也都是直接执行sqlplus /as sysdba,但只要这么输入就会返回一个sqlplus参数帮助(帮助中并没提及引号问题)。。。当时比较困惑,后来给一个朋友打电话,朋友说他是在两端加了双引号执行的,结果试了试果然不见帮助返回了,呵呵,可是又返回ORA-12560: TNS: 协议适配器错误

但是不论哪种方式最后都几乎报告同一个错误:ORA-12560: TNS: 协议适配器错误

经过几次尝试,我开始意识到,我计算机上装了多个Oracle实例,那么怎么能通知我的命令是针对哪个Oracle实例呢?

开始尝试各种假象的方法,例如:

在sqlplus "/as sysdba"命令后面加@TNSNAME

或者先以sqlplus /nolog启动sqlplus,然后执行shutdown或者startup命令,在命令的后面也加上@TNSNAME

但是都失败了,因为这些命令根本不支持这种参数

继续在网上查找,无意间查到了OS命令提示符下设置Oracle SID环境变量,抱着试一试的心态,执行

C:/set oracle_sid=mysidname

然后再执行先前试过的几个报告“ORA-12560: TNS: 协议适配器错误”的方法,都好使了,哈哈!!!

使用先设置Oracle SID环境变量,再以不登录方式通过sqlplus执行关闭和打开数据库的命令,均获得成功!!!

----------至此本次试验宣告基本成功,虽然是个很初级的试验

但是!!如何在远程执行打开关闭数据库的指令呢?

刚才设置OracleSID环境变量,并不是针对TNSNAME,而是针对Oracle实例的

而且刚才的几种方式,例如:C:/sqlplus "/as sysdba"启动sqlplus,再执行打开和关闭数据库等,都没有通过例如TNSNAME指定远程数据库的命令参数,这个问题还有待查阅相关资料了。

如果哪位朋友知道,也请不吝赐教,谢谢!!!

 

 ——————————————————————————————————————————————

×××下面总结一下启动和关闭Oracle数据库及例程的方法(并非解释命令)

1、打开OS 命令提示符界面,我用的是Windows server 2003,所以在运行窗口敲入cmd

2、如果系统中装有多个Oracle实例,那么要设置OracleSID环境变量,执行一下命令

C:/set oracle_sid=sid名

3、启动sqlplus,可以有两种方式,效果应该是一样的

(1)执行,C:/sqlplus /nolog

          执行,sql>connect as sysdba

(2)执行,C:/sqlplus "/as sysdba"

这两种方式都可以不登录数据库并以sysdba角色启动sqlplus工具

4、执行相关打开或关闭数据库命令,命令动词如下:

打开数据库:startup.....

关闭数据库:shutdown......

至于加什么参数,就要看具体需要了

完成!

关于startup和shutdown的一些参数介绍可见本blogOracle资料整理中转贴的《Oracle的几种启动和关闭方式

——2007-06-17

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值