知识大全 ORACLE启动相关问题
Posted 数据库
篇首语:世事洞明皆学问,人情练达即文章。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ORACLE启动相关问题相关的知识,希望对你有一定的参考价值。
ORACLE启动相关问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在安装ORACLE g完成后 发现不少问题 现整理如下
首先 用oracle用户登陆
sqlplus sys as sysdba
提示输入密码(安装oracle时第一步设置的密码)
启动数据库
SQL>startup
ORACLE instance started
Total System Global Area bytes
Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes
Database mounted
Database opened
若之前已启动 系统将提示 ORA : cannot start already running ORACLE shut it down first
可用如下命令关闭数据库
·shutdown normal 正常方式关闭数据库
·shutdown immediate 立即方式关闭数据库
·shutdown abort 直接关闭数据库 正在访问数据库的会话会被突然终止
SQL> conn scott/tiger
Connected
若scott用户在安装oracle时没被解锁 可通过以下方法解锁scott用户
首先以system帐户登陆sqlplus 密码为安装时设置的
然后 alter user scott account unlock;
提示重输密码 OK了
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
哈哈 又看到久违的这几张表了 说明oracle服务端已正常启动
以下测试通过远程登陆 判断监听是否正常
首先 执行在linux下用oracle用户登陆 输入命令开启监听 lsnrctl start
如果无法正常启动监听 屏幕应该会有一些打印信息 不过 我没碰到 所以暂时就先不讨论异常情况啦!
oracle我是在vm虚拟机上装的(ps:机子配置太低 一路上那个卡啊 还好我意志坚强 再卡都装起来了^_^) 把虚拟机ip设为 (用setup命令里面有个关于网络配置功能) 我的xp系统ip为
默认网关都设为 可通过ping命令判断局域网是否能通 哇 一ping就通了 先恭喜自己一下!
在保证了oracle的服务和监听都能起来 两台机也能ping通的前提下 接着在xp安装oracle客户端 我是装 i的 选择好安装目录 其他的按默认就行了 装好后在安装目录ora \\neork\\admin下 用记事本编辑tnsname ora文件 我的配置如下
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
#orcl 为oracle的sid host为要oracle服务器地址
配置好之后可以cmd里面用tnsping orcl看看是不是能通 诶 延迟才 毫秒~~ 成功啦~
之前有遇到过执行tnsping命令时提示不是内部或外部命令 这是因为环境变量的造成的 只要在path里面加一个oracle安装目录下的bin路径就可以啦 或者土一点 先cd到bin目录下 再执行tnsping~~~不过 还是不建议用这种土鳖的方法 配个环境变量可以一劳永逸嘛~~~~(ps:这里说的都是在xp里执行的 不是linux里哇 只是友情提醒一下 高手看了您别笑我~)
之后我又安装了PLSQL Developer (这个东西 那是相当好用啊!)
一切准备就绪!打开PLSQL Developer 输入username/passwd database选择刚才在tnsname里配的orcl 哎哟 登上去了 灰常开心啊!!!
看来一切都很顺利 下面麻烦来了······
关于dbstart的设置
每次通过上述的方法来启动数据库比较麻烦 下面尝试用dbstart启动数据库
首先 用oracle用户登陆 输入dbstart 发现如下屏幕打印提示
Failed to auto start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr
baidu一下 发现下面这篇文章(截取部分)
看来是listener服务没有起来 但是执行lsnrctl start却能启动listener服务
搜索dbstart文件中的tnslsnr字符串
grep tnslsnr dbstart
返回结果:
if [ f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then
echo Failed to auto start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr
看来可能是ORACLE_HOME_LISTNER环境变量引起的 查找 ORACLE_HOME_LISTNER
grep ORACLE_HOME_LISTNER dbstart
返回结果
# ) Set ORACLE_HOME_LISTNER
ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
if [ ! $ORACLE_HOME_LISTNER ] ; then
echo ORACLE_HOME_LISTNER is not SET unable to auto start Oracle Net Listener
LOG=$ORACLE_HOME_LISTNER/listener log
if [ f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then
$ORACLE_HOME_LISTNER/bin/lsnrctl start >> $LOG >& &
export VER LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep LSNRCTL for | cut d f | cut d f `
echo Failed to auto start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr
$LOGMSG Restart Oracle Net Listener using an alternate ORACLE_HOME_LISTNER: lsnrctl start
其中有一段给ORACLE_HOME_LISTNER环境变量赋值 但是这个路径是不对的 编辑dbstart文件
vi dbstar
将该行改为export ORACLE_HOME_LISTNER=$ORACLE_HOME
保存退出
满心欢喜的再次dbstart 昏 没反应 还有个dbshut也是没反应 继续baidu 如下
dbstart需要修改/etc/oratab
your_sid:/oracle/product/ :N
将最后N修改为Y
更加满心欢喜的再次dbstart 哇哈哈 起来了~~~果然baidu一下你就知道!!(虽然心里觉得似乎更牛 不知道为什么 每次第一反应就是baidu ^_^)
用dbshut也能正常关闭数据库了 怎么有种妇唱夫随的感觉····
再次回到xp用PLSQL Developer登陆 oh yeah~~~连上了!!!看来一切都正常了~~~
终于可以心安理得的休息一下啦···(boo同学借您的 心安理得 用一下 您没意见吧?)
以下是之前看到自动启动数据库的方法 先贴上来 等有空又有心情的时候再试试吧
数据库的启动
欲启动数据库服务 在系统启动后 登录oracle用户
su – oracle
lsnrctl start
dbstart
emctl start dbconsole
isqlplusctl start
这样可以手工启动数据库 若要让数据库在系统启动时随之启动 就需要多动点手了
. 首先修改/etc/oratab 把orcjava:/home/oracle/OraHome_ :N改为orcjava:/home/oracle/OraHome_ :Y
. 然后修改/etc/rc local
添加如下几行
su oracle c lsnrctl start
su oracle c dbstart
su oracle c emctl start dbconsole
su oracle c isqlplusctl start
进入/home/oracle/OraHome_ /bin 修改dbstart文件 将oratab=etc/oratab
重新启动 reboot 看看系统能否自动加载服务
如果仍然不能 请检查环境变量是否正确 如果/etc/下无oratab文件 到/home/oracle/install/目录下 复制oratab文件到/etc下 并修改
#自动启动
~~~~~~~~~~~~~~~~~~~~华丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
前两天在linux里成功的安装了Oracle G 每次启动oracle数据库都是用oracle用户登陆然后执行dbstart启动数据库 每次启动时都会报错
Failed to auto start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr
看来是listener服务没有起来 但是执行lsnrctl start却能启动listener服务
搜索dbstart文件中的tnslsnr字符串
grep tnslsnr dbstart
返回结果:
if [ f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then
echo Failed to auto start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr
看来可能是ORACLE_HOME_LISTNER环境变量引起的 查找 ORACLE_HOME_LISTNER
grep ORACLE_HOME_LISTNER dbstart
返回结果
# ) Set ORACLE_HOME_LISTNER
ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
if [ ! $ORACLE_HOME_LISTNER ] ; then
echo ORACLE_HOME_LISTNER is not SET unable to auto start Oracle Net Listener
LOG=$ORACLE_HOME_LISTNER/listener log
if [ f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then
$ORACLE_HOME_LISTNER/bin/lsnrctl start >> $LOG >& &
export VER LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep LSNRCTL for | cut d f | cut d f `
echo Failed to auto start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr
$LOGMSG Restart Oracle Net Listener using an alternate ORACLE_HOME_LISTNER: lsnrctl start
其中有一段给ORACLE_HOME_LISTNER环境变量赋值 但是这个路径是不对的 编辑dbstart文件
vi dbstar
将该行改为export ORACLE_HOME_LISTNER=$ORACLE_HOME
保存退出 然后执行dbstart就没问题了 呵呵
想系统启动是自动启动数据库可以通过修改/etc/rc d/rc local文件
一开始我写的命令是
su oracle c ora_App/product/ /db_ /bin/lsnrctl start
su oracle c ora_App/product/ /db_ /bin/dbstart
但是su oracle c ora_App/product/ /db_ /bin/lsnrctl start是参数start不起作用 它进入了lsnrctl命令提示符 并没有启动 后来把命令用双引号引起来就可以了如下
su oracle c ora_App/product/ /db_ /bin/lsnrctl start
是可以启动了 但是启动时报错如下:
Message not found; No message file for product=neork facility=TNSTNS : Message not found; No message file for product=neork facility=TNS
TNS : Message not found; No message file for product=neork facility=TNS
但是如果我用oracle用户登陆执行lsnrctl start就不报错 看来是在root用户中执行su oracle c ora_App/product/ /db_ /bin/lsnrctl start 有些Oracle环境变量没有设置 查了一下su 命令的参数 其中有个 l参数
l或 login 改变身份时 也同时变更工作目录 以及HOME SHELL USER LOGNAME 此外 也会变更PATH变量
加上参数
su oracle lc ora_App/product/ /db_ /bin/lsnrctl start
正常了!呵呵 终于弄完了 总算是一晚上没白费
或许这么做比较专业点
可以在/etc/init d/下写一个shell 就叫oracle好了 内容如下
#!/bin/sh
ORACLE_HOME=/home/oracle/oracle/product/ /db_
ORACLE=oracle
case $ in
start )
echo start oracle
su oracle c $ORACLE_HOME/bin/dbstart $ORACLE_HOME &
su oracle c $ORACLE_HOME/bin/lsnrctl start ;;
stop )
echo stop oracle
su oracle c $ORACLE_HOME/bin/dbshut &
su oracle c $ORACLE_HOME/bin/lsnrctl stop ;;
*)
echo usage: $ start|stop
exit
;;
esac
cha138/Article/program/Oracle/201311/17067相关参考
实例结构 oracle实例=内存结构+进程结构 oracle实例启动的过程其实就是oracle内存参数设置的值加载到内存中并启动相应的后台进程进行相关的服务过程 进程结构 oracle进程
ORA-TNS没有监听器 原因没有启动监听器或者监听器损坏如果是前者使用命令 netstartOracleOraHomeTNSListener(名字可能有出入)即可 如果是后者则使用NetC
有关Oracle存储过程的相关问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 详细讲解有关O
以redhat和oracleg为例安装过程参考官方文档以下是实现oracle自启动的方法 配置dbstart和dbshut 在$ORACLE_HOME/bin中有dbstart和dbshut这
先手动建立归档目录在调整oracle启动方式 将oracle设为归档模式 手工在主服务器创建归档目录 $cd$ORACLE_BASE #$ORACLE_BASE所指向的
Oracle多种启动方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! startupnomou
Oracle启动程序方式详细介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!startupnom
在Oracle10g里启动自动归档模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在Oracle
ORACLE删除数据文件后无法启动 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 查看数据库的状
Oracle启动例程STARTUP参数说明 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishi