How to record All Shell Command Output

Em algumas execuções mais críticas, e que exigem investigação/validação posterior, pode ser necessário recorrer ao recurso deste artigo, que é executado diretamente no sistema operacional.

Neste Lab, um Oracle Linux, utilizarei o comando “SCRIPT” para persistir em arquivo todos os comandos e seus respectivos outputs, tanto para o terminal do S.O quanto para outros utilitários (RMAN, ASMCMD, SQL *PLUS). Para iniciar o processo, basta escrever “script arquivo”. Para encerrar, basta pressionar Ctrl+D ou digitar “end”:

[oracle@oel7 ~]$ pwd
/home/oracle
[oracle@oel7 ~]$ script SWIV_LOGS.log
Script started, file is SWIV_LOGS.log
[oracle@oel7 ~]$ ps -ef | grep pmon
grid      3512     1  0 13:29 ?        00:00:00 asm_pmon_+ASM
oracle    3632     1  0 13:29 ?        00:00:00 ora_pmon_cortex
oracle    4689  4632  0 13:36 pts/3    00:00:00 grep --color=auto pmon
[oracle@oel7 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Jan 7 13:36:55 2023
Version 19.3.0.0.0

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


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> SELECT BANNER FROM V$VERSION;

BANNER
--------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
[oracle@oel7 ~]$ su - grid
Password:
Last login: Sat Jan  7 13:30:47 -03 2023 from oel7.localdomain on pts/1
[grid@oel7 ~]$ asmcmd
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     30716    26964                0           26964              0             N  DG_DATA/
MOUNTED  EXTERN  N         512             512   4096  4194304     20476    17696                0           17696              0             N  DG_FRA/
MOUNTED  EXTERN  N         512             512   4096  4194304     10236    10136                0           10136              0             N  DG_GRID/
MOUNTED  EXTERN  N         512             512   4096  4194304     10236     8668                0            8668              0             N  DG_RECO/
ASMCMD> exit
[grid@oel7 ~]$ exit
logout
[oracle@oel7 ~]$ rman target /

Recovery Manager: Release 19.0.0.0.0 - Production on Sat Jan 7 13:37:50 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

connected to target database: CORTEX (DBID=548968087)

RMAN> REPORT SCHEMA;

using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name CORTEX

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    910      SYSTEM               YES     +DG_DATA/CORTEX/DATAFILE/system.256.1113825875
2    200      TBL_TRAN             NO      +DG_DATA/CORTEX/DATAFILE/tbl_tran.267.1108322511
3    660      SYSAUX               NO      +DG_DATA/CORTEX/DATAFILE/sysaux.257.1039033519
4    340      UNDOTBS1             YES     +DG_DATA/CORTEX/DATAFILE/undotbs1.258.1039033555
5    824      SOE                  NO      +DG_DATA/CORTEX/DATAFILE/soe.266.1065506205
7    5        USERS                NO      +DG_DATA/CORTEX/DATAFILE/users.259.1039033555

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    32       TEMP                 32767       +DG_DATA/CORTEX/TEMPFILE/temp.264.1039033669

RMAN> exit


Recovery Manager complete.
[oracle@oel7 ~]$ exit
Script done, file is SWIV_LOGS.log
[oracle@oel7 ~]$

Fazendo a leitura do arquivo gerado, podemos ver que tudo foi registado (mesmo o que foi executado com usuário que não tinha inicializado o comando script):

[oracle@oel7 ~]$ ll
total 24
drwxr-xr-x. 2 oracle oinstall     6 May  6  2021 BACKUP
drwxr-xr-x. 2 oracle oinstall     6 Dec 31  2020 Desktop
drwxr-xr-x. 2 oracle oinstall     6 Dec 31  2020 Documents
drwxr-xr-x. 2 oracle oinstall     6 Dec 31  2020 Downloads
-rw-r--r--. 1 oracle oinstall   194 Sep 20  2021 log.sql
drwxr-xr-x. 2 oracle oinstall     6 Dec 31  2020 Music
drwxr-xr-x. 2 oracle oinstall     6 Dec 31  2020 Pictures
drwxr-xr-x. 2 oracle oinstall     6 Dec 31  2020 Public
-rw-r--r--. 1 oracle oinstall    35 Jun  9  2021 SS.txt
-rw-r--r--. 1 oracle oinstall  3721 Jan  7 13:38 SWIV_LOGS.log
drwxr-xr-x. 2 oracle oinstall     6 Dec 31  2020 Templates
-rw-r--r--. 1 oracle oinstall 10240 Jun 29  2022 v
drwxr-xr-x. 2 oracle oinstall     6 Dec 31  2020 Videos
[oracle@oel7 ~]$ cat SWIV_LOGS.log
Script started on Sat 07 Jan 2023 01:36:23 PM -03
[oracle@oel7 ~]$ ps -ef | grep pmon
grid      3512     1  0 13:29 ?        00:00:00 asm_pmon_+ASM
oracle    3632     1  0 13:29 ?        00:00:00 ora_pmon_cortex
oracle    4689  4632  0 13:36 pts/3    00:00:00 grep --color=auto pmon
[oracle@oel7 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Jan 7 13:36:55 2023
Version 19.3.0.0.0

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


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> SELECT BANNER FROM V$VERSION;

BANNER
--------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
[oracle@oel7 ~]$ su - grid
Password:
Last login: Sat Jan  7 13:30:47 -03 2023 from oel7.localdomain on pts/1
[grid@oel7 ~]$ asmcmd
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     30716    26964                0           26964              0             N  DG_DATA/
MOUNTED  EXTERN  N         512             512   4096  4194304     20476    17696                0           17696              0             N  DG_FRA/
MOUNTED  EXTERN  N         512             512   4096  4194304     10236    10136                0           10136              0             N  DG_GRID/
MOUNTED  EXTERN  N         512             512   4096  4194304     10236     8668                0            8668              0             N  DG_RECO/
ASMCMD> exit
[grid@oel7 ~]$ exit
logout
[oracle@oel7 ~]$ rman target /

Recovery Manager: Release 19.0.0.0.0 - Production on Sat Jan 7 13:37:50 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

connected to target database: CORTEX (DBID=548968087)

RMAN> REPORT SCHEMA;

using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name CORTEX

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    910      SYSTEM               YES     +DG_DATA/CORTEX/DATAFILE/system.256.1113825875
2    200      TBL_TRAN             NO      +DG_DATA/CORTEX/DATAFILE/tbl_tran.267.1108322511
3    660      SYSAUX               NO      +DG_DATA/CORTEX/DATAFILE/sysaux.257.1039033519
4    340      UNDOTBS1             YES     +DG_DATA/CORTEX/DATAFILE/undotbs1.258.1039033555
5    824      SOE                  NO      +DG_DATA/CORTEX/DATAFILE/soe.266.1065506205
7    5        USERS                NO      +DG_DATA/CORTEX/DATAFILE/users.259.1039033555

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    32       TEMP                 32767       +DG_DATA/CORTEX/TEMPFILE/temp.264.1039033669

RMAN> exit


Recovery Manager complete.
[oracle@oel7 ~]$ exit

Script done on Sat 07 Jan 2023 01:38:24 PM -03
[oracle@oel7 ~]$

Leave a Comment

Your email address will not be published.