前言:測試環境Oracle DG開啓了FLASHBACK有遇到過to timestamp的恢復場景,因爲這個問題有了在sqlplus命令提示符前顯示時間的需求,順着也瞭解了下怎麼在Linux、MySQL命令提示符前顯示時間。
1. Linux命令提示符顯示時間
PS1是Linux終端用戶的一個環境變量,用來定義命令行提示符的參數,PS1的常用參數以及含義:
\d :代表日期,格式爲weekday month date,例如:Wed Dec 12
\H :完整的主機名稱-[root@chengyu ~]# vim /etc/hosts查看
\h :僅取主機的第一個名字,例如我的完整主機名爲chengyu.test,則該值chengyu
\t :顯示時間爲24小時格式,如:HH:MM:SS
\T :顯示時間爲12小時格式
\A :顯示時間爲24小時格式:HH:MM
\u :當前用戶的賬號名稱 如:root
\v :BASH的版本信息
\w :完整的工作目錄名稱,~表示home目錄
\W :利用basename取得工作目錄名稱,所以只會列出最後一個目錄 如上例則只顯示default
\# :下達的第幾個命令
\$ :提示字符,root提示符爲:# ,普通用戶則爲:$
先看下當前的PS1情況:
[root@chengyu ~]# echo $PS1
[\u@\h \W]$
加上日期和時間顯示:
[root@chengyu ~]# vim /etc/profile
export PS1=’[\u@\h:\w\d-\t]\$ ’
[root@chengyu ~]# source /etc/profile
[root@chengyu:~Tue Jul 07-10:42:11]#
實際應用中,僅時間顯示足夠了:
[root@chengyu ~]# vim /etc/profile
export PS1=’[\u@\h:\t \w]\$ ’
[root@chengyu ~]# source /etc/profile
[root@chengyu:10:49:13 ~]#
2. Oracle命令提示符顯示時間
先了解下sqlplus中用來改變提示符的SQLPROMPT:
SQL> define
DEFINE _DATE = "07-JUL-20" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "primdb" (CHAR)
DEFINE _USER = "SYS" (CHAR)
DEFINE _PRIVILEGE = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1803000000" (CHAR)
DEFINE _EDITOR = "vi" (CHAR)
DEFINE _O_VERSION = "Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0" (CHAR)
DEFINE _O_RELEASE = "1803000000" (CHAR)
要永久生效sqlplus提示符顯示,可以根據需要修改$ORACLE_HOME/sqlplus/admin/glogin.sql:
[oracle@chengyu ~]$ vim $ORACLE_HOME/sqlplus/admin/glogin.sql
# 第一步alter時間呈現格式
alter session set NLS_DATE_FORMAT=‘HH24:MI:SS’;
set sqlprompt "_USER@ _CONNECT_IDENTIFIER _date> "
修改後的顯示效果:SYS@ primdb 15:31:45>
-
顯示日期+時間
# 臨時修改
# 修改時間呈現格式
SQL> alter session set NLS_DATE_FORMAT=‘YYYY-MM-DD HH24:MI:SS’;
Session altered.
SQL> set sqlprompt “_date>”
2020-07-07 14:42:35>
# 永久修改
[oracle@chengyu ~]$ vim $ORACLE_HOME/sqlplus/admin/glogin.sql
alter session set NLS_DATE_FORMAT=‘YYYY-MM-DD HH24:MI:SS’;
set sqlprompt "_DATE SQL> "
2020-07-07 15:39:21 SQL> -
只顯示時間
臨時修改
SQL> set time on
14:43:32 SQL>
# 永久修改
[oracle@chengyu ~]$ vim $ORACLE_HOME/sqlplus/admin/glogin.sql
alter session set NLS_DATE_FORMAT=‘HH24:MI:SS’;
set sqlprompt "_DATE SQL> "
15:35:57 SQL>
3. MySQL命令提示符顯示時間
先來看看MySQL客戶端命令:mysql> help
prompt命令用於配置定義默認的“mysql>”提示的字符串,可以包含以下特殊字符: 有幾種設置prompt參數的方式:- 使用MYSQL_PS1環境變量設置提示字符串:
[root@chengyu:11:35:36 ~]# export MYSQL_PS1="mysql:[\d] \R:\m:\s> "
- 使用–prompt選項在命令行上設置提示字符串:
[root@chengyu:11:42:18 ~]# mysql -uroot -p --prompt="mysql:[\d] \R:\m:\s> "
- 在配置文件my.cnf中設置該選項 :
[mysql]
prompt="mysql:[\d] \R:\m:\s> " - 以交互方式使用prompt(或\R)命令更改:
[root@chengyu:14:23:27 ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 8.0.20 Source distribution
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql:[(none)] 14:23:32> prompt
Returning to default PROMPT of mysql:[\d] \R:\m:\s>
mysql:[(none)] 14:23:40> prompt mysql>
PROMPT set to 'mysql>'
mysql>prompt mysql:[\d] \R:\m:\s>
PROMPT set to 'mysql:[\d] \R:\m:\s> '
mysql:[(none)] 14:24:13>
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql:[dbcy] 14:27:13>
完畢!
2020年07月07日
12年4月工作伊始收到的鐘哥的第一封信:未來有變數,心懷期待就有明天。
兩座城,週末戀人,城巴票根是這份堅持的見證者。
12年末我們有了自己的第一輛車,鍾哥開始了至今的每日的兩城奔波,7個字—“呢呢,我到單位了”勝過甜言蜜語萬千。
兩座城,是堅持、是陪伴、是守候,是喜歡一個人的信念。—寫在戀愛15年、畢業8年餘,謹記珍惜!