隐藏ps -ef命令中看到的密码(Hide the password that from the " ps -ef " command)

本文详细介绍了在UNIX环境下安全地使用SQLPLUS和SQLLDR执行Oracle命令的方法,通过设置日志文件并使用参数进行连接,确保了操作的安全性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在UNIX下我常常要执行Oracle的命令,如sqlplus/sqlldr, 这些命令都需要登录到数据才行,这时我们就要用到连接的user和password,如果我们直接用sqlplus来连的话,user和passoword都可以用

 

ps -ef | grep sqlplus

 

看到,出于安全的考虑,这个是很不好的,下面的方法可以很好地解决sqlplus 和sqlldr 这两个命令登录的问题。

 

1. SQLPLUS

 

sqlplus /nolog > $LOG_FILE << ENDSQL
connect $DB_USER/$DB_PASS@$TNSNAME;
@sql/xxx.sql $parameter_1 $parameter_2;
ENDSQL
if [ `grep "ERROR" $LOG_FILE | wc -l` -ne 0 ]
then
  # Error Handling
endif

 

 

2. SQLLDR

sql loader的写有一点特别:

 

set APP_USER=something
set APP_PASS=somepass
set APP_SID=sid

#put the connection parameter at the end.
sqlldr control=contril.ctl data=data.dat << END_OF_SQLLDR
$APP_USER/$APP_PASS@APP_SID
END_OF_SQLLDR

 

 

### Docker环境中 `ps -ef` 命令的作用 在Docker容器内部运行时,可以通过执行 `ps -ef` 命令来查看当前容器内的进程状态。此命令实际上是 Linux 系统中的标准工具 `ps` 的一种形式,用于显示系统中正在运行的进程列表。 当进入一个正在运行的 Docker 容器并执行 `ps -ef` 时,它会展示该容器内所有的进程详情,包括但限于 PID(进程ID)、PPID(父进程ID)、启动时间以及具体的命令行参数等信息[^1]。 #### 如何在Docker中使用 `ps -ef` 要在某个特定的Docker容器里运行这个命令,首先需要知道目标容器的名字或者其唯一的短标识符(short ID)。假设有一个名为 `my_container` 的容器正处在活动状态: ```bash docker exec -it my_container ps -ef ``` 上述指令的意思是从宿主机向指定名称为 `my_container` 的容器发送请求,在其中交互式(`-it`)地执行 `ps -ef` 这一操作,并返回结果给用户终端[^3]。 这里需要注意的是,虽然可以直接通过 `docker top [container_id_or_name]` 查看某容器的所有线程信息,但是相比而言,利用 `exec` 结合传统 Unix/Linux 工具如 `ps`, 可提供更灵活多样的查询选项和过滤功能[^4]。 另外值得注意的一点是,由于每个独立创建出来的Docker容器都相当于一台隔离的小型虚拟机,因此即使多个同的服务分别部署于各自的容器之中互影响;即便如此,仍需合理规划资源分配以免造成必要的性能瓶颈问题发生[^2]。 ### 示例代码 下面给出一段简单的例子演示如何在一个基于 CentOS 镜像构建起来的新容器里面调用 `ps -ef`: ```bash # 启动一个新的centos容器并保持前台运行模式 docker run -it centos:7 /bin/bash # 登录成功之后尝试输入如下命令观察效果 [root@83510e3d5cdd /]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 xx:xx ? 00:00:00 /bin/bash root xxx 1 0 xx:xx pts/0 00:00:00 ps -ef ... ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值