Oracle 12升级SID设置一把梭(oracle12的sid)

Oracle 12升级:SID设置一把梭

Oracle数据库的升级一向需要耗费大量时间和人力,尤其是在修改SID方面更是一件需要耐心和专业技能的工作。但是现在,有一个简单的方法可以让你在升级Oracle 12的过程中轻轻松松地设置SID,代码量也不多,这就是SID设置一把梭。

SID设置一把梭是一个简单的脚本,用于将一个Oracle 11或12数据库升级为Oracle 12c,并自动设置SID。使用这个工具可以节省你大量的时间和精力,并且可以无需专业技能的人员帮忙完成数据库的升级。

以下是设置SID的代码:

#!/bin/bash

# SID设置一把梭脚本

# 确认root用户执行
if [ `whoami` != root ]; then
echo -e "\n请使用root用户运行脚本!\n"
exit 1
fi

# 检查Oracle用户是否存在
if id oracle >/dev/null 2>&1; then
echo "Oracle用户存在! "
else
echo "Oracle用户不存在! "
echo "请使用root用户手动创建Oracle用户! "
exit 1
fi

# 停止Oracle数据库
echo "停止Oracle数据库... "
su - oracle -c "echo shutdown immediate | sqlplus / as sysdba"

# 升级数据库
echo "升级数据库... "
su - oracle -c "echo startup upgrade | sqlplus / as sysdba"
su - oracle -c "echo exit | sqlplus /nolog @\$ORACLE_HOME/rdbms/admin/catupgrd.sql"

# 启动Oracle数据库
echo "启动Oracle数据库... "
su - oracle -c "echo startup | sqlplus / as sysdba"

# 安装OPatch工具并打补丁
echo "打补丁... "
cd /tmp/
unzip OPatch.zip
cd OPatch/
su - oracle -c "\$ORACLE_HOME/OPatch/opatch apply -silent"

# 获取SID并设置
echo "获取SID并设置... "
SID=`su - oracle -c "echo \$ORACLE_SID"`
su - oracle -c "echo \$ORACLE_HOME/network/admin/tnsnames.ora>tnsnames.ora"
echo -e "\n\$SID=$SID" >> /home/oracle/.bash_profile

# 完成
echo "完毕! "
exit 0

从以上代码可以看出,这个工具只是一个简单的脚本,它首先会检查Oracle用户是否存在,然后停止Oracle数据库,进行数据库的升级和打补丁,最后获取SID并将其设置到相应的地方。

使用这个工具之前,你只需确保脚本中一些必须参数(如Oracle主目录和补丁文件名)因版本差异而不同,需要稍作修改。在修改完成后,你可以通过以下方式来运行它:

chmod +x sid_setting_tool.sh //修改脚本权限
./sid_setting_tool.sh //运行脚本

结语

如果你正在考虑升级Oracle 12,但是担心升级过程中繁琐的设置过程会大大降低你的工作效率,那么SID设置一把梭就是可以帮助你轻松完成这项工作的利器。这个工具可以大大提高升级过程的效率和准确性,并且使得整个升级过程更加简单容易。


数据运维技术 » Oracle 12升级SID设置一把梭(oracle12的sid)