一、linux下无法启动sqlplus
问题描述:
[root@redhat oracle]# su – oracle [oracle@redhat oracle]$ sqlplus “as/sysdba” -bash: sqlplus: command not found [oracle@redhat oracle]$ /opt/oracle/oracle/product/19.1.0/db_1/bin/sqlplus Error 6 initializing SQL*Plus Message file sp1.msb not found SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory [oracle@redhat oracle]$
解决方法:
由于环境变量没有设置导致的。可以编辑.profile文件可以进行环境变量设置的。
打开/etc/profile底部插入
export ORACLE_SID=ORCLCDB(数据库实例id) export ORACLE_HOME=/opt/oracle/oracle/product/19.1.0/db_1 export PATH=$PATH:$ORACLE_HOME/bin
保存关闭,重启系统或执行source /ect/profile设置立即生效。
二、启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。
1.进入到sqlplus启动实例
[oracle@redhat ~]$ su - oracle --"切换到oracle用户" Password: [oracle@redhat ~]$ lsnrctl start --"打开监听" LSNRCTL for Linux: Version 19.1.0.1.0 – Production on 14-OCT-2019 19:06:40 Copyright (c) 1991, 2005, Oracle. All rights reserved Starting /home/oracle/product/10g/bin/tnslsnr: please wait… TNSLSNR for Linux: Version 19.1.0.1.0 – Production System parameter file is /home/oracle/product/10g/network/admin/listener.ora Log messages written to /home/oracle/product/10g/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC2))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=redhat)(PORT=1522))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC2))) STATUS of the LISTENER ———————— Alias LISTENER Version TNSLSNR for Linux: Version 10.2.0.1.0 – Production Start Date 14-OCT-2009 19:06:40 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /home/oracle/product/10g/network/admin/listener.ora Listener Log File /home/oracle/product/10g/network/log/listener.log Listening Endpoints Summary… (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC2))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=redhat)(PORT=1522))) Services Summary… Service “PLSExtProc” has 1 instance(s). Instance “PLSExtProc”, status UNKNOW, has 1 handler(s) for this service… The command completed successfully [oracle@redhat ~]$ sqlplus /nolog --"进入到sqlplus" SQL*Plus: Release 10.2.0.1.0 – Production on Wed Oct 14 19:06:45 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn /as sysdba --"连接到sysdba" Connected to an idle instance. SQL> startup --"启动数据库实例" ORACLE instance started. Total System Global Area 285212672 bytes Fixed Size 1218968 bytes Variable Size 88082024 bytes Database Buffers 188743680 bytes Redo Buffers 7168000 bytes Database mounted. Database opened. SQL> shutdown immediate --"关闭数据库实例" Database closed. Database dismounted. ORACLE instance shut down. SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production With the Partitioning, OLAP and Data Mining options [oracle@redhat ~]$ lsnrctl stop --"关闭监听" LSNRCTL for Linux: Version 10.2.0.1.0 – Production on 14-OCT-2009 19:08:06 Copyright (c) 1991, 2005, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC2))) The command completed successfully
2.用dbstart和dbshut启动和关闭数据库实例
先启动监听 lsnrctl start 启动实例 dbstart
注意:安装ORACLE时 listener.ora 会默认使用主机名而不是127.0.0.1,后续如果更改了主机名也会导致无法启动,启动失败查看 listener.ora 中的监听是否等于当前主机名,不同的话修改listener.ora或者在/etc/hosts文件加入hosts解决问题