当前位置: 首页 > news >正文

被环境变量虐过一遍获得的启示

Oracle数据库环境存在两个数据库版本12C及19C,在执行一些操作时需要设置对应版本的环境变量
计划登录12C环境,于是按如下方式设置环境变量

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_HOME/product/12.2.0/dbhome_1
export ORACLE_SID=db12c

可是通过sqlplus登陆后却显示19C版本信息
针对这个问题,最开始的方式是在root中修改bash_profile文件,然后登录到oracle用户,很是麻烦
后面一直寻找更简单的方式,通过which查看sqlplus使用的是哪个

which sqlplus
/u01/app/oracle/product/19.3.0/dbhome_1/bin/sqlplus

此时考虑which命令是根据什么寻找到这个sqlplus的
通过查阅资料获取如下信息

which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

查看当前PATH信息

echo $PATH
/opt/java/jdk1.8.0_231/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/u03/app/oracle/product/19.3.0/dbhome_1/bin/:/usr/local/python3/bin:/root/bin:/u02/app/oracle/product/12.2.0/dbhome_1/bin/:

里面有两个Oracle的路径,第一个是19C,第二个是12C
这说明which在查找到19C的环境变量后就直接使用了,没有再往后找,那操作系统也应该是这个思路,索性我直接修改PATH的信息

export PATH=/opt/java/jdk1.8.0_231/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/root/bin:
export ORACLE_BASE=/u02/app/oracle/
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1/bin/
export ORACLE_SID=db12c
export PATH=$PATH:$ORACLE_HOMME/bin:.

顺利通过测试
再尝试一次19C

export PATH=/opt/java/jdk1.8.0_231/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/root/bin:
export ORACLE_BASE=/u03/app/oracle/
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1/bin/
export ORACLE_SID=db19c
export PATH=$PATH:$ORACLE_HOMME/bin:.

通过测试
将这两个环境变量写入文件,直接调用

vim .bash_profile_12C
export PATH=/opt/java/jdk1.8.0_231/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/root/bin:
export ORACLE_BASE=/u02/app/oracle/
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1/bin/
export ORACLE_SID=db12c
export PATH=$PATH:$ORACLE_HOMME/bin:.vim .bash_profile_19C
export PATH=/opt/java/jdk1.8.0_231/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/root/bin:
export ORACLE_BASE=/u03/app/oracle/
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1/bin/
export ORACLE_SID=db19c
export PATH=$PATH:$ORACLE_HOMME/bin:.

直接调用即可,长舒一口气,不知道大家还有没有更好的办法

http://www.lryc.cn/news/238188.html

相关文章:

  • 关于Hbase的一些问题
  • level=warning msg=“failed to retrieve runc version: signal: segmentation fault“
  • 电力工作记录仪、智能安全帽、智能布控球助力智能电网建设
  • 【CSS】各百分比透明度 opacity 对应的 16 进制颜色值(例如:#FFFFFF80)
  • 有依次对应关系的数组X、Y、Z,如何排序其中一个X数组,使得另外的数组还与排序完成后的数组相对应(C语言实现)
  • Mysql之聚合函数
  • Flutter笔记:拖拽手势
  • 软件运维面试题
  • 代码随想录算法训练营第23期day53|1143.最长公共子序列、1035.不相交的线、53. 最大子序和
  • MySQL 的执行原理(五)
  • 如何快速将txt类型的日志文件转换为excel表格并进行数据分析报表统计图(如:饼图、折线图、柱状图)?
  • 内网穿透的应用-如何在Docker中部署MinIO服务并结合内网穿透实现公网访问本地管理界面
  • 关于Unity自带的保存简单且持久化数据PlayerPrefs类的使用
  • 力扣贪心——跳跃游戏I和II
  • 【SA8295P 源码分析 (三)】132 - GMSL2 协议分析 之 GPIO/SPI/I2C/UART 等通迅控制协议带宽消耗计算
  • 毕业论文GPT说:
  • Week-T10 数据增强
  • 史上最全!PMP实用应试技巧汇总!
  • 037、目标检测-SSD实现
  • 【开题报告】基于SpringBoot的摄影作品展示网站的设计与实现
  • SVR和SVM是什么关系
  • Flutter 3.16 中带来的更新
  • 批量插入数据与分页的原理及推导
  • SMART PLC累计流量功能块(梯形积分法+浮点数累加精度控制)
  • 【金融分析】Python:病人预约安排政策 | 金融模拟分析
  • 后端接口测试,令牌校验住,获取tocken 接口的方式
  • Ghidra逆向工具配置 MacOS 的启动台显示(Python)
  • 关于交换芯片调试 tx_delay rx_delay 的一点经验
  • 【图像分类】【深度学习】【轻量级网络】【Pytorch版本】MobileNets_V2模型算法详解
  • Spring Cloud 简介