由于 liunx服务器要关机迁移,导致这台服务器部署的oracle需要重启。 但由于部署oracle数据库的时候有些配置不到位。导致重启oracle服务器出现了一些故障。记录下来。
1 、查看ORACLE状态
ps -ef|grep oracle
2、(1) 以oracle身份登录数据库,命令:su - oracle
(2) 进入Sqlplus控制台,命令:sqlplus /nolog
(3) 以系统管理员登录,命令:connect / as sysdba
(4) 先关闭数据库,命令:shutdown immediate
(5) 启动数据库,命令:startup
(6) 退出sqlplus控制台,命令:exit
(7) 进入监听器控制台,命令:lsnrctl
(8)检查oracle监听器运行状态,命令:lsnrctl status
(9) 启动监听器,命令:start
(10) 退出监听器控制台,命令:exit
3、如果是重启实例:
(1) 切换需要启动的数据库实例:export ORACLE_SID=C1
(2) 进入Sqlplus控制台,命令:sqlplus /nolog
(3) 以系统管理员登录,命令:connect / as sysdba
(4) 如果是关闭数据库,命令:shutdown abort
(5) 启动数据库,命令:startup
(6) 退出sqlplus控制台,命令:exit
出现的问题:
1、命令: sqlplus /nolog : 报错bash: sqlplus: command not found
是因为oracle环境变量没有配置
检查$ORACLE_HOME和$PATH环境变量
命令: echo ${ORACLE_HOME}
echo $PATH
如果是空的话,就是没有配置
需要 在/etc/profile文件中用vim 增加这两个环境变量配置,永久生效。
再profile文件下面添加这三行
export ORACLE_HOME=usr/local/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
etc/profile 里的配置 是为所有用户可使用的全局变量。
~/.bash_profile:默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
可能是隐藏的 。 ls -a 查看隐藏文件
使用source profile 使文件生效。(需要root权限)
2、如果 permission denied。 //没有权限
如果要的是test.py文件的权限 ,切换到test.py所在目录,然后chmod 777 -R test.py
其中
-R 是指级联应用到目录里的所有子目录和文件
777 是所有用户都拥有最高权限
chmod -R 777 * 意思就是将当前目录下所有文件都给予777权限
这个在服务器里不能随便敲的,不能在根目录下进行此命令,因为有些进程是指定权限(如755、700...)才能运行的...所以会出错.
3、 lsnrctl start启动监听器失败
(1)配置export ORACLE_SID=orcl
(2)TNS-12555: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00525: Insufficient privilege for operation
Linux Error: 1: Operation not permitted
#chmod -R 777 /var/tmp/.oracle