在安装oracle 11g完成后,发现不少问题,现整理如下:
首先:用oracle用户登陆
1. sqlplus sys as sysdba
2. 提示输入密码(安装oracle时第一步设置的密码)
3. 启动数据库
SQL>startup
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218892 bytes
Variable Size 92276404 bytes
Database Buffers 171966464 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
若之前已启动,系统将提示:ORA-01081: cannot start already-running ORACLE - shut it down first
可用如下命令关闭数据库:
·shutdown normal 正常方式关闭数据库。
·shutdown immediate 立即方式关闭数据库。
·shutdown abort 直接关闭数据库,正在访问数据库的会话会被突然终止
4. SQL> conn scott/tiger
Connected
若scott用户在安装oracle时没被解锁,可通过以下方法解锁scott用户
首先以system帐户登陆sqlplus,密码为安装时设置的。
然后 alter user scott account unlock;
提示重输密码,OK了。
5. SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
哈哈,又看到久违的这几张表了,说明oracle服务端已正常启动。
以下测试通过远程登陆,判断监听是否正常:
首先:执行在linux下用oracle用户登陆,输入命令开启监听:lsnrctl start
如果无法正常启动监听,屏幕应该会有一些打印信息,不过,我没碰到,所以暂时就先不讨论异常情况啦!
oracle我是在vm虚拟机上装的(ps:机子配置太低,一路上那个卡啊,还好我意志坚强,再卡都装起来了^_^),把虚拟机ip设为192.168.0.3(用setup命令里面有个关于网络配置功能),我的xp系统ip为192.168.0.1
默认网关都设为192.168.0.1 可通过ping命令判断局域网是否能通,哇,一ping就通了,先恭喜自己一下!
在保证了oracle的服务和监听都能起来,两台机也能ping通的前提下,接着在xp安装oracle客户端,我是装9i的,选择好安装目录,其他的按默认就行了。装好后在安装目录ora92\network\admin下,用记事本编辑tnsname.ora文件,我的配置如下:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
#orcl 为oracle的sid host为要oracle服务器地址
配置好之后可以cmd里面用tnsping orcl看看是不是能通,诶,延迟才0毫秒~~,成功啦~
之前有遇到过执行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
返回结果
# 3) 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 2>&1 &
export VER10LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep "LSNRCTL for " | cut -d' ' -f5 | cut -d'.' -f1`
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
#p#副标题#e#
将该行改为export ORACLE_HOME_LISTNER=$ORACLE_HOME
保存退出。
满心欢喜的再次dbstart,昏,没反应,还有个dbshut也是没反应,继续baidu,如下:
dbstart需要修改/etc/oratab,
your_sid:/oracle/product/9.2.0.4:N
将最后N修改为Y
更加满心欢喜的再次dbstart,哇哈哈,起来了~~~果然baidu一下你就知道!!(虽然心里觉得g.cn似乎更牛,不知道为什么,每次第一反应就是baidu ^_^)
用dbshut也能正常关闭数据库了,怎么有种妇唱夫随的感觉····
再次回到xp用PLSQL Developer登陆,oh yeah~~~连上了!!!看来一切都正常了~~~
终于可以心安理得的休息一下啦···(boo同学借您的"心安理得"用一下,您没意见吧?)
以下是之前看到自动启动数据库的方法,先贴上来,等有空又有心情的时候再试试吧
数据库的启动:
欲启动数据库服务,在系统启动后,登录oracle用户:
su – oracle
lsnrctl start
dbstart
emctl start dbconsole
isqlplusctl start
这样可以手工启动数据库。若要让数据库在系统启动时随之启动,就需要多动点手了:
1. 首先修改/etc/oratab 把orcjava:/home/oracle/OraHome_1:N改为orcjava:/home/oracle/OraHome_1:Y
2. 然后修改/etc/rc.local
添加如下几行:
su - oracle -c 'lsnrctl start'
su - oracle -c 'dbstart'
su - oracle -c 'emctl start dbconsole'
su - oracle -c 'isqlplusctl start'
3. 进入/home/oracle/OraHome_1/bin 修改dbstart文件,将oratab=etc/oratab
重新启动:reboot 看看系统能否自动加载服务
如果仍然不能,请检查环境变量是否正确。如果/etc/下无oratab文件,到/home/oracle/install/目录下,复制oratab文件到/etc下,并修改。
关键词标签:ORACLE启动问题
相关阅读
热门文章 Oracle中使用alter table来增加,删除,修改列oracle中使用SQL语句修改字段类型-oracle修使用低权限Oracle数据库账户得到管理员权限Oracle对user的访问控制
人气排行 ORACLE SQL 判断字符串是否为数字的语句Oracle中使用alter table来增加,删除,修改列的语法ORACLE和SQL语法区别归纳(1)oracle grant 授权语句如何加速Oracle大批量数据处理Oracle删除表的几种方法ORACLE修改IP地址后如何能够使用Oracle 10g创建表空间和用户并指定权限
查看所有0条评论>>