SQL*Plusプロンプト上で作業している時にLinuxコマンドを打ちたい時、わざわざexitしてOSコマンドを実行するのは面倒ですし時間の無駄になります。
今回はSQL*Plus上からOSコマンドを実行する方法を紹介します。
SQL*Plusへの接続
まずは普通にSQL*Plusで対象のデータベースに接続します。以下の例は”HOGEPDB”という接続サービス名で接続しています。
[oracle@ol77 ~]$ sqlplus dekiruengineer@HOGEPDB
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL>
OSコマンドの実行
OSコマンドの実行は先頭にビックリマーク”!“を付けるだけです。以下はLinuxのdateコマンドとlsコマンドを実行する例です。
SQL> !date
Tue Mar 6 16:17:37 JST 2021
SQL> !ls -l /u01/app/oracle/product/19.0.3/dbhome_1/network/admin/tnsnames.ora
-rw-r----- 1 oracle oinstall 572 Jul 6 2020 /u01/app/oracle/product/19.0.3/dbhome_1/network/admin/tnsnames.ora