|
31 | 31 | ################################################################################ |
32 | 32 |
|
33 | 33 | ## Version of this script. Simply uses the date in YYYY-MM-DD format |
34 | | -GV_OCENV_VERSION="2022-03-28" |
| 34 | +GV_OCENV_VERSION="2022-08-10" |
35 | 35 |
|
36 | 36 | ############################################################################### |
37 | 37 | ## Environment support homogenization |
@@ -1402,8 +1402,26 @@ rotate_file() { |
1402 | 1402 | } |
1403 | 1403 |
|
1404 | 1404 | bkup_api_list_jobs () { |
1405 | | - local P_LINE_COUNT="${1}" |
1406 | | - local P_BACKUP_TYPE="${2}" |
| 1405 | + local P_LINE_COUNT P_BACKUP_TYPE |
| 1406 | + local re='^[0-9]+$' |
| 1407 | + if [[ -n "${1}" ]] |
| 1408 | + then |
| 1409 | + if [[ "${1}" =~ $re ]] |
| 1410 | + then |
| 1411 | + P_LINE_COUNT="${1}" |
| 1412 | + else |
| 1413 | + P_BACKUP_TYPE="${1}" |
| 1414 | + fi |
| 1415 | + fi |
| 1416 | + if [[ -n "${2}" ]] |
| 1417 | + then |
| 1418 | + if [[ "${2}" =~ $re ]] |
| 1419 | + then |
| 1420 | + P_LINE_COUNT="${2}" |
| 1421 | + else |
| 1422 | + P_BACKUP_TYPE="${2}" |
| 1423 | + fi |
| 1424 | + fi |
1407 | 1425 | local LV_LINE_FILTER |
1408 | 1426 | if [[ -z "${GV_DB_UNIQUE_NAME}" ]] |
1409 | 1427 | then |
@@ -1715,10 +1733,21 @@ set_ora_home_env() { |
1715 | 1733 | export PATH=${ORACLE_HOME}/bin:${ORACLE_HOME}/OPatch:${ORIGINAL_PATH_PRE_ENVLOAD} |
1716 | 1734 | unset GV_PDB_LIST |
1717 | 1735 | } |
| 1736 | +fill_pdb_details_list () { |
| 1737 | + unset GV_PDB_LIST_DETAILS |
| 1738 | + |
| 1739 | + if [[ "${GV_IS_CDB}" == "YES" ]] |
| 1740 | + then |
| 1741 | + while read -r LV_PDB_ELEM |
| 1742 | + do |
| 1743 | + GV_PDB_LIST_DETAILS[${#GV_PDB_LIST_DETAILS[@]}]="${LV_PDB_ELEM}" |
| 1744 | + done <<< "$(exec_sql_data "SELECT name ||'|'|| open_mode ||'|'|| restricted ||'|'|| TO_CHAR(open_time, 'YYYY-MM-DD HH24:MI:SS') ||'|'|| DECODE(local_undo, 1, 'YES', 'NO') FROM v\$pdbs WHERE name <> 'PDB\$SEED' ORDER BY name")" |
| 1745 | + fi |
| 1746 | +} |
1718 | 1747 | list_pdbs() { |
1719 | 1748 | if [[ "${GV_IS_CDB}" == "YES" ]] |
1720 | 1749 | then |
1721 | | - exec_sql_data "SELECT name FROM v\$pdbs WHERE name <> 'PDB\$SEED'" |
| 1750 | + exec_sql_data "SELECT name FROM v\$pdbs WHERE name <> 'PDB\$SEED' ORDER BY name" |
1722 | 1751 | fi |
1723 | 1752 | } |
1724 | 1753 | list_user_sessions() { |
@@ -1851,6 +1880,16 @@ SELECT 'x' FROM dual" |
1851 | 1880 | eval "$(echo "${LV_ENV_VAR_CMDS}" | grep '^export')" |
1852 | 1881 | fi |
1853 | 1882 | } |
| 1883 | +print_pdb_listing() { |
| 1884 | + unset GV_PDB_LIST |
| 1885 | + printf " %-15s %-10s %-10s %-19s %-10s\n" "PDB NAME" "STATUS" "RESTRICTED" "OPEN TIME" "LOCAL UNDO" |
| 1886 | + printf " %-15s %-10s %-10s %-19s %-10s\n" "---------------" "----------" "----------" "-------------------" "----------" |
| 1887 | + for LV_PDB_DETAIL in "${GV_PDB_LIST_DETAILS[@]}" |
| 1888 | + do |
| 1889 | + GV_PDB_LIST[${#GV_PDB_LIST[@]}]=$(echo "${LV_PDB_DETAIL}" | cut -d"|" -f1) |
| 1890 | + echo "${LV_PDB_DETAIL}" | awk -F"|" '{printf(" %-15s %-10s %-10s %-19s %-10s\n", $1, $2, $3, $4, $5)}' |
| 1891 | + done |
| 1892 | +} |
1854 | 1893 | unalias sta 2>/dev/null |
1855 | 1894 | sta() { |
1856 | 1895 | get_sid_info |
@@ -1878,13 +1917,10 @@ sta() { |
1878 | 1917 | if [[ "${GV_IS_CDB}" == "YES" ]] |
1879 | 1918 | then |
1880 | 1919 | echo "PDBs" |
1881 | | - LV_PDB_STRING=$(list_pdbs) |
1882 | | - unset GV_PDB_LIST |
1883 | | - for LV_PDB in ${LV_PDB_STRING} |
1884 | | - do |
1885 | | - GV_PDB_LIST[${#GV_PDB_LIST[@]}]="${LV_PDB}" |
1886 | | - done |
1887 | | - echo "${GV_PDB_LIST[@]}" | awk '{printf(" %s\n", $0)}' |
| 1920 | + |
| 1921 | + fill_pdb_details_list |
| 1922 | + |
| 1923 | + print_pdb_listing |
1888 | 1924 | fi |
1889 | 1925 | fi |
1890 | 1926 | fi |
@@ -1957,7 +1993,10 @@ list_homes() { |
1957 | 1993 | local LV_ORA_INSTLOC_LIST |
1958 | 1994 | while read -r LV_ORA_INSTLOC_ELEM |
1959 | 1995 | do |
1960 | | - LV_ORA_INSTLOC_LIST[${#LV_ORA_INSTLOC_LIST[@]}]="${LV_ORA_INSTLOC_ELEM}" |
| 1996 | + if [[ -n "${LV_ORA_INSTLOC_ELEM}" ]] |
| 1997 | + then |
| 1998 | + LV_ORA_INSTLOC_LIST[${#LV_ORA_INSTLOC_LIST[@]}]="${LV_ORA_INSTLOC_ELEM}" |
| 1999 | + fi |
1961 | 2000 | done <<< "$( ( awk -F: '/^[^#]*:[^#]+:/{printf("%s/oraInst.loc\n", $2)}' /etc/oratab 2>/dev/null; awk -F: '/[^[:space:]]/{printf("%s/oraInst.loc\n", $1)}' /etc/oragchomelist 2>/dev/null; awk -F= '/crs_home/{printf("%s/oraInst.loc\n", $2)}' /etc/oracle/olr.loc 2>/dev/null; ls -1 /etc/oraInst.loc 2>/dev/null) | sort -u)" |
1962 | 2001 | if [[ "${#LV_ORA_INSTLOC_LIST[@]}" -gt 0 ]] |
1963 | 2002 | then |
|
0 commit comments