摘要:在 Linux 系统里,Oracle 数据库的管理可不简单。需要注意的是,在安装 Oracle 数据库的时候,安装完了之后,得创建 Oracle 系统用户,还要在.bash_profile 环境变量里加上几个变量,像 ORACLE_SID、ORACLE_BASE、ORACLE_HOME 这些。比如说:export ORACLE_SID=orcl ,export ORACLE_BASE=oracle_install_dir ,export ORACLE_HOME=/opt 等等。在数据库备份的过程中,要用 expdp 命令来导出数据库,这就得用到环境变量啦,要不然就找不到 expdp 命令,备份就会出错,完不成备份。
这篇文章主要讲的是在 Linux 环境中,Oracle 数据库在备份数据库的时候提示 expdp 错误的处理过程,详细的情况请看下面的内容。
一、登录Linux系统
1.登录系统Linux系统
2.查看oracle安装用户
备注:通过上述命令可以查看oracle的安装用户。
二、查看Oracle运行状态
1.查看Oracle进程的运行状态
执行指令# ps -ef | grep oracle
备注:如果执行该指令后未出现相关进程信息表示oracle未启动。
2.查看Oracle监听状态
执行指令# lsnrctl status
备注:执行该指令后出现报错,根据提示确认oracle服务是否启动。
3.启动Oracle服务
说明:如果确认Oracle的监听已经正常启动,而Oracle还是无法访问,就需要登录Oracle系统启动Oracle服务了。
(1)执行指令# su - oracle切换用户
(2)执行指令# sqlplus /nolog
(3)执行指令# connect /as sysdba启用dba权限
(4)执行指令# startup启动Oracle服务
备注:Oracle启动经历三个阶段,分别是nomount、mount、open,这三个阶段涉及不同的文件,每个状态下数据库做不同的事情,同时这些模式适用于不同的维护需求。如果startup不带参数,则启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式。
三、Oracle数据库的备份
1.制定Oracle数据库的备份脚本
执行指令# vim backup.sh
2.制定Oracle数据库的备份计划
执行指令# crontab -e执行备份计划
3.执行备份计划出现问题及其解决办法
(1)问题描述
最近几天执行备份计划没有成功,查看/var/log目录中的日志。执行那个指令#tail /var/spool/mail/oracle中有错误信息提示expdp: command not found。
(2)解决办法
方法一:需要注意的是,执行expdp命令备份数据库,需要具有执行该命令的权限,一般是安装oracle数据库的那个用户,可以通过执行指令# ps -ef | grep ora 查看这个用户。
然后执行指令# su - oracle用户执行expdp命令了。本文中切换为oracle用户后,手动执行脚本文件,可以成功执行数据库的备份。
方法二:如果方法一还是没有解决上述问题,那么就需要在sh脚本第一行添加source ~/.bash_profile如上述备份脚本文件加入:
同时将~/.bash_profile中得设置好变量如下:
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
保存文件信息后执行source命令使之即时生效。
source ~/.bash_profile
四、其他说明
1.Source命令介绍
说明:source命令也称为”点命令”,也就是一个点符号(.),是bash的内部命令。
其功能就是使Shell读入指定的Shell程序文件并依次执行文件中的所有语句,source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必重新登录。
2.Source命令用法
source filename 或 . filename