环境:
我们在多台机器上托管了大约 100 个数据库。所有数据库都有共同的用户名,但每个数据库的密码都不同。
问题:
如何从外部文件中一一读取密码和 TNS(服务名称)并连接到每个数据库并运行 sql 查询并将输出传递到日志文件。
到目前为止做了什么:
- 创建
pass
的文件包含密码和 Service_Name 以及分隔符“:”
cat pass
Loufr#123:PROD
Brinj#6523:TEST
- 在步骤 1 中
dblist
使用所有(与服务名称匹配)创建另一个文件dbnames
cat dblist
PROD
TEST
DEV
QA
Quality
目标:
从中读取数据库的名称并从该数据库的文件中dblist
查找密码。pass
使用dbname
andpassword
连接到以下字符串中的数据库
sqlplus -s dbsnmp@${TNS}/${Password}
spool output.log
@query.sql
exit