Skip to content

Commit a8cd687

Browse files
committed
ocenv: update to 2022-08-10
1 parent a7d8223 commit a8cd687

File tree

2 files changed

+54
-12
lines changed

2 files changed

+54
-12
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
minor_changes:
3+
- "ocenv: update to 2022-08-10 (#261)"

roles/oradb_manage_db/files/ocenv

Lines changed: 51 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
################################################################################
3232

3333
## 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"
3535

3636
###############################################################################
3737
## Environment support homogenization
@@ -1402,8 +1402,26 @@ rotate_file() {
14021402
}
14031403

14041404
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
14071425
local LV_LINE_FILTER
14081426
if [[ -z "${GV_DB_UNIQUE_NAME}" ]]
14091427
then
@@ -1715,10 +1733,21 @@ set_ora_home_env() {
17151733
export PATH=${ORACLE_HOME}/bin:${ORACLE_HOME}/OPatch:${ORIGINAL_PATH_PRE_ENVLOAD}
17161734
unset GV_PDB_LIST
17171735
}
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+
}
17181747
list_pdbs() {
17191748
if [[ "${GV_IS_CDB}" == "YES" ]]
17201749
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"
17221751
fi
17231752
}
17241753
list_user_sessions() {
@@ -1851,6 +1880,16 @@ SELECT 'x' FROM dual"
18511880
eval "$(echo "${LV_ENV_VAR_CMDS}" | grep '^export')"
18521881
fi
18531882
}
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+
}
18541893
unalias sta 2>/dev/null
18551894
sta() {
18561895
get_sid_info
@@ -1878,13 +1917,10 @@ sta() {
18781917
if [[ "${GV_IS_CDB}" == "YES" ]]
18791918
then
18801919
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
18881924
fi
18891925
fi
18901926
fi
@@ -1957,7 +1993,10 @@ list_homes() {
19571993
local LV_ORA_INSTLOC_LIST
19581994
while read -r LV_ORA_INSTLOC_ELEM
19591995
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
19612000
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)"
19622001
if [[ "${#LV_ORA_INSTLOC_LIST[@]}" -gt 0 ]]
19632002
then

0 commit comments

Comments
 (0)