そういうのがいいブログ

SIerで働く30代サラリーマンSEがインフラエンジニアに憧れてLinux・クラウド・AWSの勉強をするブログ

【Oracle】SQL*Plusのプロンプト「SQL>」をカスタマイズする方法

※[PR]当ブログの記事の中にはプロモーションが含まれています。

SQLPlusのプロンプト

OracleSQL*Plusのプロンプト「SQL>」をカスタマイズする方法

SQL*PlusのプロンプトSQL> の表示をカスタマイズして、ユーザー名やDB名を表示するようにする手順のメモです。

SQL*Plusのプロンプト「SQL>」の表示をカスタマイズする手順です

通常のSQL*Plusのプロンプト

[oracle@SV-PLUTO ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on 土 125 23:54:56 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.



Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
に接続されました。
SQL> show user
ユーザーは"SYS"です。
SQL> alter session set container = FINDTPDB
  2  /

セッションが変更されました。

SQL> show con_name

CON_NAME
------------------------------
FINDTPDB
SQL>

SQL*Plusの事前定義変数

SQL> define
DEFINE _DATE           = "20-01-25" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "ORCLCDB" (CHAR)
DEFINE _USER           = "SYS" (CHAR)
DEFINE _PRIVILEGE      = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1903000000" (CHAR)
DEFINE _EDITOR         = "vi" (CHAR)
DEFINE _O_VERSION      = "Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0" (CHAR)
DEFINE _O_RELEASE      = "1903000000" (CHAR)
SQL>
SQL> define
DEFINE _DATE           = "20-01-26" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "FINDTPDB" (CHAR)
DEFINE _USER           = "FINDTUSER01" (CHAR)
DEFINE _PRIVILEGE      = "" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1903000000" (CHAR)
DEFINE _EDITOR         = "vi" (CHAR)
DEFINE _O_VERSION      = "Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0" (CHAR)
DEFINE _O_RELEASE      = "1903000000" (CHAR)
SQL>

「glogin.sql」の編集

glogin.sql に、set sqlprompt "[_USER'@'_CONNECT_IDENTIFIER] SQL>" を追記します。

vi /opt/oracle/product/19c/dbhome_1/sqlplus/admin/glogin.sql
--
-- Copyright (c) 1988, 2005, Oracle.  All Rights Reserved.
--
-- NAME
--   glogin.sql
--
-- DESCRIPTION
--   SQL*Plus global login "site profile" file
--
--   Add any SQL*Plus commands here that are to be executed when a
--   user starts SQL*Plus, or uses the SQL*Plus CONNECT command.
--
-- USAGE
--   This script is automatically run
--

set sqlprompt "'['_USER'@'_CONNECT_IDENTIFIER']' SQL>"

変更後のSQL*Plusのプロンプト

OS認証の場合

[oracle@SV-PLUTO admin]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on 日 126 00:15:32 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.



Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
に接続されました。
[SYS@ORCLCDB] SQL>

PDBにパスワード認証で接続する場合

[oracle@SV-PLUTO admin]$ sqlplus findtuser01/●●●●●●●●●●●@FINDTPDB

SQL*Plus: Release 19.0.0.0.0 - Production on 日 126 00:16:15 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

最終正常ログイン時間: 日 126 2020 00:14:01 +09:00


Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
に接続されました。
[FINDTUSER01@FINDTPDB] SQL>

SQL*Plusのプロンプトの表示をカスタマイズすることができました

参考にしたサイト

sqlplusのプロンプトをカスタマイズ:Slowly But Surely

VIEW - オラクル・Oracleをマスターするための基本と仕組み

SQLプロンプトにユーザ名などを出力する | SSJ Tech Lab

ラクルデータベースのおススメの勉強法の紹介

私は、某SIerに勤務しながら、入社以来10年以上、オラクルデータベースを使用したシステムに関わる仕事をしています。

ラクルデータベースについて、仕事場以外でも勉強をしたい、おススメの勉強法を知りたい、と考えている方のために、
①おすすめの書籍と、②おすすめのオンライン学習サイト、 を紹介します。

働きながら勉強するための、おススメの書籍とオンラインで学習できるサイトの紹介です

ラクルデータベースの勉強ができるおススメ書籍

朝の通勤時や帰宅時の電車の中や、社外打合せへの移動中などに勉強するなら、やはり書籍が一番だと思います。

Oracleの基本 ~データベース入門から設計/運用の初歩まで

技術エキスパートとして認定されたOracle ACEの渡部亮太さんの書かれた本です。

https://twitter.com/wrcsus4twitter.com

本書では、Oracle初心者/新人エンジニアが押さえておくべき知識とスキルを、現場で活躍するOracleエンジニアたちが、わかりやすく丁寧に解説。
Oracleの使い方はもちろん、データベースの基礎知識から、データ操作のためのSQL、テーブル設計、データベース運用/管理の基礎までしっかり押さえ、実務で使える入門スキルを身につけられます。
Oracleを学びたいすべての人に最適な入門書です。

Oracleの基本 ~データベース入門から設計/運用の初歩まで

プロとしてのOracleアーキテクチャ入門【第2版】

もう1冊、こちらもOracle ACEの渡部亮太さんの書かれた本です。

本書は、Oracle Databaseのアーキテクチャ(内部構成)について解説した入門書です。 本書の内容を理解することで「Oracleの動作の仕組み」を本質的に理解することができます。 これからOracleを使用する初心者の方から、実際にシステムの開発や運用管理を行っている DBエンジニアやシステムエンジニアの方を対象としています。

プロとしてのOracleアーキテクチャ入門【第2版】(12c、11g、10g 対応) 図解と実例解説で学ぶ、データベースの仕組み (Oracle現場主義)