Skip to content

Commit a72af6b

Browse files
authored
Readme update (#234)
* Add makefile secion to update docs with list of privs from code. Add note to grants_wrapper.sql explaining the section is parsed to build the docs. Replace list of privs in the docs with list generated via makefile. * Update documentation to list the operating system dependencies. * Spelling and grammar.
1 parent fa53f9a commit a72af6b

File tree

5 files changed

+182
-175
lines changed

5 files changed

+182
-175
lines changed

Makefile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,20 @@ build: build-collector ## Build and package the collectors
9393
###############
9494
# docs #
9595
###############
96+
.PHONY: doc-privs
97+
doc-privs: ## Extract the list of privileges required from code and create the documentation
98+
cat > docs/user_guide/oracle/permissions.md <<EOF
99+
# Create a user for Collection
100+
101+
The collection scripts can be executed with any DBA account. Alternatively, create a new user with the minimum privileges required.
102+
The included script sql/setup/grants_wrapper.sql will grant the privileges listed below.
103+
Please see the Database User Scripts page for information on how to create the user.
104+
105+
## Permissions Required
106+
107+
EOF
108+
grep "rectype_(" scripts/collector/oracle/sql/setup/grants_wrapper.sql | grep -v FUNCTION | sed "s/rectype_(//g;s/),//g;s/)//g;s/'//g;s/,/ ON /1;s/,/./g" >> docs/user_guide/oracle/permissions.md
109+
96110
.PHONY: gen-docs
97111
gen-docs: ## generate HTML documentation
98112
./.venv/bin/mkdocs build

docs/user_guide/oracle/collection_scripts.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,24 @@
11
# Gather workload metadata
22

3-
The workload collection supports Oracle 11gR2 and newer. Older versions of Oracle are not currently supported.
3+
The workload collection supports Oracle 11gR1 and newer. Older versions of Oracle are not currently supported.
4+
5+
## Sytem environment
6+
7+
The collection script depends on the following to be available on the machine from which it is run:
8+
```shell
9+
bash shell
10+
cat
11+
cut
12+
dirname
13+
grep
14+
mkdir
15+
sed
16+
sqlplus
17+
tar
18+
tr
19+
which
20+
zip or gzip
21+
```
422

523
## Execute collection script
624

Lines changed: 128 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,133 @@
11
# Create a user for Collection
22

3-
The collection scripts can be executed with any DBA account. Alternately, a new user with the minimum privileges required for access with the following steps.
3+
The collection scripts can be executed with any DBA account. Alternatively, create a new user with the minimum privileges required.
4+
The included script sql/setup/grants_wrapper.sql will grant the privileges listed below.
5+
Please see the Database User Scripts page for information on how to create the user.
46

57
## Permissions Required
68

7-
Views:
8-
9-
* AUX_STATS$
10-
* CDB_CONSTRAINTS
11-
* CDB_DATA_FILES
12-
* CDB_DB_LINKS
13-
* CDB_EXTERNAL_TABLES
14-
* CDB_FEATURE_USAGE_STATISTICS
15-
* CDB_FREE_SPACE
16-
* CDB_HIGH_WATER_MARK_STATISTICS
17-
* CDB_HIST_ACTIVE_SESS_HISTORY
18-
* CDB_HIST_IOSTAT_FUNCTION
19-
* CDB_HIST_OSSTAT
20-
* CDB_HIST_SNAPSHOT
21-
* CDB_HIST_SQLSTAT
22-
* CDB_HIST_SQLTEXT
23-
* CDB_HIST_SYSMETRIC_HISTORY
24-
* CDB_HIST_SYSMETRIC_SUMMARY
25-
* CDB_HIST_SYSSTAT
26-
* CDB_HIST_SYSTEM_EVENT
27-
* CDB_HIST_SYS_TIME_MODEL
28-
* CDB_INDEXES
29-
* CDB_OBJECTS
30-
* CDB_PART_TABLES
31-
* CDB_PDBS
32-
* CDB_SEGMENTS
33-
* CDB_SERVICES
34-
* CDB_SOURCE
35-
* CDB_TAB_COLUMNS
36-
* CDB_TABLES
37-
* CDB_TABLESPACES
38-
* CDB_TAB_PARTITIONS
39-
* CDB_TAB_SUBPARTITIONS
40-
* CDB_USERS
41-
* DBA_CONSTRAINTS
42-
* DBA_CPU_USAGE_STATISTICS
43-
* DBA_DATA_FILES
44-
* DBA_DB_LINKS
45-
* DBA_EXTERNAL_TABLES
46-
* DBA_FEATURE_USAGE_STATISTICS
47-
* DBA_FREE_SPACE
48-
* DBA_HIGH_WATER_MARK_STATISTICS
49-
* DBA_HIST_ACTIVE_SESS_HISTORY
50-
* DBA_HIST_IOSTAT_FUNCTION
51-
* DBA_HIST_OSSTAT
52-
* DBA_HIST_SNAPSHOT
53-
* DBA_HIST_SQLSTAT
54-
* DBA_HIST_SQLTEXT
55-
* DBA_HIST_SYSMETRIC_HISTORY
56-
* DBA_HIST_SYSMETRIC_SUMMARY
57-
* DBA_HIST_SYSSTAT
58-
* DBA_HIST_SYSTEM_EVENT
59-
* DBA_HIST_SYS_TIME_MODEL
60-
* DBA_INDEXES
61-
* DBA_OBJECTS
62-
* DBA_PART_TABLES
63-
* DBA_REGISTRY_SQLPATCH
64-
* DBA_SEGMENTS
65-
* DBA_SERVICES
66-
* DBA_SOURCE
67-
* DBA_TAB_COLUMNS
68-
* DBA_TABLES
69-
* DBA_TABLESPACES
70-
* DBA_TAB_PARTITIONS
71-
* DBA_TAB_SUBPARTITIONS
72-
* DBA_USERS
73-
* GV_$ARCHIVE_DEST
74-
* GV_$ARCHIVED_LOG
75-
* GV_$INSTANCE
76-
* GV_$PARAMETER
77-
* LOGSTDBY$SKIP_SUPPORT
78-
* NLS_DATABASE_PARAMETERS
79-
* REGISTRY$HISTORY
80-
* V_$DATABASE
81-
* V_$DIAG_ALERT_EXT
82-
* V_$INSTANCE
83-
* V_$LOG
84-
* V_$LOG_HISTORY
85-
* V_$PDBS
86-
* V_$PGASTAT
87-
* V_$RMAN_BACKUP_JOB_DETAILS
88-
* V_$SGASTAT
89-
* V_$SQLCOMMAND
90-
* V_$TEMP_SPACE_HEADER
91-
* V_$VERSION
9+
SELECT ON SYS.CDB_HIST_ACTIVE_SESS_HISTORY
10+
SELECT ON SYS.CDB_HIST_OSSTAT
11+
SELECT ON SYS.CDB_HIST_SNAPSHOT
12+
SELECT ON SYS.CDB_HIST_SQLSTAT
13+
SELECT ON SYS.CDB_HIST_SQLTEXT
14+
SELECT ON SYS.CDB_HIST_SYSMETRIC_HISTORY
15+
SELECT ON SYS.CDB_HIST_SYSMETRIC_SUMMARY
16+
SELECT ON SYS.CDB_HIST_SYSSTAT
17+
SELECT ON SYS.CDB_HIST_SYSTEM_EVENT
18+
SELECT ON SYS.CDB_HIST_SYS_TIME_MODEL
19+
SELECT ON SYS.DBA_HIST_ACTIVE_SESS_HISTORY
20+
SELECT ON SYS.DBA_HIST_OSSTAT
21+
SELECT ON SYS.DBA_HIST_SNAPSHOT
22+
SELECT ON SYS.DBA_HIST_SQLSTAT
23+
SELECT ON SYS.DBA_HIST_SQLTEXT
24+
SELECT ON SYS.DBA_HIST_SYSMETRIC_HISTORY
25+
SELECT ON SYS.DBA_HIST_SYSMETRIC_SUMMARY
26+
SELECT ON SYS.DBA_HIST_SYSSTAT
27+
SELECT ON SYS.DBA_HIST_SYSTEM_EVENT
28+
SELECT ON SYS.DBA_HIST_SYS_TIME_MODEL
29+
EXECUTE ON SYS.DBMS_UMF
30+
SELECT ON PERFSTAT.STATS$OSSTATNAME
31+
SELECT ON PERFSTAT.STATS$OSSTAT
32+
SELECT ON PERFSTAT.STATS$SNAPSHOT
33+
SELECT ON PERFSTAT.STATS$SQL_SUMMARY
34+
SELECT ON PERFSTAT.STATS$SYSSTAT
35+
SELECT ON PERFSTAT.STATS$SYSTEM_EVENT
36+
SELECT ON PERFSTAT.STATS$SYS_TIME_MODEL
37+
SELECT ON PERFSTAT.STATS$TIME_MODEL_STATNAME
38+
SELECT ON SYS.AUX_STATS$
39+
SELECT ON SYS.CDB_CONSTRAINTS
40+
SELECT ON SYS.CDB_CPU_USAGE_STATISTICS
41+
SELECT ON SYS.CDB_DATA_FILES
42+
SELECT ON SYS.CDB_DB_LINKS
43+
SELECT ON SYS.CDB_EXTERNAL_TABLES
44+
SELECT ON SYS.CDB_FEATURE_USAGE_STATISTICS
45+
SELECT ON SYS.CDB_FREE_SPACE
46+
SELECT ON SYS.CDB_HIGH_WATER_MARK_STATISTICS
47+
SELECT ON SYS.CDB_INDEXES
48+
SELECT ON SYS.CDB_LOB_PARTITIONS
49+
SELECT ON SYS.CDB_LOBS
50+
SELECT ON SYS.CDB_LOB_SUBPARTITIONS
51+
SELECT ON SYS.CDB_MVIEWS
52+
SELECT ON SYS.CDB_OBJECTS
53+
SELECT ON SYS.CDB_OBJECT_TABLES
54+
SELECT ON SYS.CDB_PART_TABLES
55+
SELECT ON SYS.CDB_PDBS
56+
SELECT ON SYS.CDB_SEGMENTS
57+
SELECT ON SYS.CDB_SERVICES
58+
SELECT ON SYS.CDB_SOURCE
59+
SELECT ON SYS.CDB_SYNONYMS
60+
SELECT ON SYS.CDB_TAB_COLS
61+
SELECT ON SYS.CDB_TAB_COLUMNS
62+
SELECT ON SYS.CDB_TABLESPACES
63+
SELECT ON SYS.CDB_TABLES
64+
SELECT ON SYS.CDB_TAB_PARTITIONS
65+
SELECT ON SYS.CDB_TAB_SUBPARTITIONS
66+
SELECT ON SYS.CDB_TEMP_FILES
67+
SELECT ON SYS.CDB_TRIGGERS
68+
SELECT ON SYS.CDB_USERS
69+
SELECT ON SYS.CDB_VIEWS
70+
SELECT ON SYS.CDB_XML_TABLES
71+
SELECT ON SYS.CONTAINER$
72+
SELECT ON SYS.DBA_CONSTRAINTS
73+
SELECT ON SYS.DBA_CPU_USAGE_STATISTICS
74+
SELECT ON SYS.DBA_DATA_FILES
75+
SELECT ON SYS.DBA_DB_LINKS
76+
SELECT ON SYS.DBA_EXTERNAL_TABLES
77+
SELECT ON SYS.DBA_FEATURE_USAGE_STATISTICS
78+
SELECT ON SYS.DBA_FREE_SPACE
79+
SELECT ON SYS.DBA_HIGH_WATER_MARK_STATISTICS
80+
SELECT ON SYS.DBA_INDEXES
81+
SELECT ON SYS.DBA_LOB_PARTITIONS
82+
SELECT ON SYS.DBA_LOBS
83+
SELECT ON SYS.DBA_LOB_SUBPARTITIONS
84+
SELECT ON SYS.DBA_MVIEWS
85+
SELECT ON SYS.DBA_OBJECTS
86+
SELECT ON SYS.DBA_OBJECT_TABLES
87+
SELECT ON SYS.DBA_PART_TABLES
88+
SELECT ON SYS.DBA_REGISTRY_SQLPATCH
89+
SELECT ON SYS.DBA_SEGMENTS
90+
SELECT ON SYS.DBA_SERVICES
91+
SELECT ON SYS.DBA_SOURCE
92+
SELECT ON SYS.DBA_SYNONYMS
93+
SELECT ON SYS.DBA_TAB_COLS
94+
SELECT ON SYS.DBA_TAB_COLUMNS
95+
SELECT ON SYS.DBA_TABLESPACES
96+
SELECT ON SYS.DBA_TABLES
97+
SELECT ON SYS.DBA_TAB_PARTITIONS
98+
SELECT ON SYS.DBA_TAB_SUBPARTITIONS
99+
SELECT ON SYS.DBA_TEMP_FILES
100+
SELECT ON SYS.DBA_TRIGGERS
101+
SELECT ON SYS.DBA_USERS
102+
SELECT ON SYS.DBA_VIEWS
103+
SELECT ON SYS.DBA_XML_TABLES
104+
SELECT ON SYS.GV_$ARCHIVE_DEST
105+
SELECT ON SYS.GV_$ARCHIVED_LOG
106+
SELECT ON SYS.GV_$DATABASE
107+
SELECT ON SYS.GV_$INSTANCE
108+
SELECT ON SYS.GV_$PARAMETER
109+
SELECT ON SYS.GV_$PDBS
110+
SELECT ON SYS.GV_$PGASTAT
111+
SELECT ON SYS.GV_$PROCESS
112+
SELECT ON SYS.GV_$SGASTAT
113+
SELECT ON SYS.GV_$SYSTEM_PARAMETER
114+
SELECT ON SYS.NLS_DATABASE_PARAMETERS
115+
SELECT ON SYS.OBJ$
116+
SELECT ON SYS.REGISTRY$HISTORY
117+
SELECT ON SYS.V_$ARCHIVE_DEST
118+
SELECT ON SYS.V_$DATABASE
119+
SELECT ON SYS.V_$EVENT_NAME
120+
SELECT ON SYS.V_$INSTANCE
121+
SELECT ON SYS.V_$LOGFILE
122+
SELECT ON SYS.V_$LOG_HISTORY
123+
SELECT ON SYS.V_$LOG
124+
SELECT ON SYS.V_$PARAMETER
125+
SELECT ON SYS.V_$PDBS
126+
SELECT ON SYS.V_$PGASTAT
127+
SELECT ON SYS.V_$RMAN_BACKUP_JOB_DETAILS
128+
SELECT ON SYS.V_$SGASTAT
129+
SELECT ON SYS.V_$SQLCOMMAND
130+
SELECT ON SYS.V_$SYSTEM_PARAMETER
131+
SELECT ON SYS.V_$TEMP_SPACE_HEADER
132+
SELECT ON SYS.V_$VERSION
133+
SELECT ON SYSTEM.LOGSTDBY$SKIP_SUPPORT

scripts/collector/oracle/README.txt

Lines changed: 19 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -18,94 +18,25 @@ for analysis by Database Migration Assessment.
1818

1919
b) Database Privileges
2020
----------------------
21-
This utility must be run as a database user with privileges to SELECT from the views
22-
and to execute the packages listed below:
23-
24-
Views:
25-
26-
* AUX_STATS$
27-
* CDB_CONSTRAINTS
28-
* CDB_DATA_FILES
29-
* CDB_DB_LINKS
30-
* CDB_EXTERNAL_TABLES
31-
* CDB_FEATURE_USAGE_STATISTICS
32-
* CDB_FREE_SPACE
33-
* CDB_HIGH_WATER_MARK_STATISTICS
34-
* CDB_HIST_ACTIVE_SESS_HISTORY
35-
* CDB_HIST_IOSTAT_FUNCTION
36-
* CDB_HIST_OSSTAT
37-
* CDB_HIST_SNAPSHOT
38-
* CDB_HIST_SQLSTAT
39-
* CDB_HIST_SQLTEXT
40-
* CDB_HIST_SYSMETRIC_HISTORY
41-
* CDB_HIST_SYSMETRIC_SUMMARY
42-
* CDB_HIST_SYSSTAT
43-
* CDB_HIST_SYSTEM_EVENT
44-
* CDB_HIST_SYS_TIME_MODEL
45-
* CDB_INDEXES
46-
* CDB_OBJECTS
47-
* CDB_PART_TABLES
48-
* CDB_PDBS
49-
* CDB_SEGMENTS
50-
* CDB_SERVICES
51-
* CDB_SOURCE
52-
* CDB_TAB_COLUMNS
53-
* CDB_TABLES
54-
* CDB_TABLESPACES
55-
* CDB_TAB_PARTITIONS
56-
* CDB_TAB_SUBPARTITIONS
57-
* CDB_USERS
58-
* DBA_CONSTRAINTS
59-
* DBA_CPU_USAGE_STATISTICS
60-
* DBA_DATA_FILES
61-
* DBA_DB_LINKS
62-
* DBA_EXTERNAL_TABLES
63-
* DBA_FEATURE_USAGE_STATISTICS
64-
* DBA_FREE_SPACE
65-
* DBA_HIGH_WATER_MARK_STATISTICS
66-
* DBA_HIST_ACTIVE_SESS_HISTORY
67-
* DBA_HIST_IOSTAT_FUNCTION
68-
* DBA_HIST_OSSTAT
69-
* DBA_HIST_SNAPSHOT
70-
* DBA_HIST_SQLSTAT
71-
* DBA_HIST_SQLTEXT
72-
* DBA_HIST_SYSMETRIC_HISTORY
73-
* DBA_HIST_SYSMETRIC_SUMMARY
74-
* DBA_HIST_SYSSTAT
75-
* DBA_HIST_SYSTEM_EVENT
76-
* DBA_HIST_SYS_TIME_MODEL
77-
* DBA_INDEXES
78-
* DBA_OBJECTS
79-
* DBA_PART_TABLES
80-
* DBA_REGISTRY_SQLPATCH
81-
* DBA_SEGMENTS
82-
* DBA_SERVICES
83-
* DBA_SOURCE
84-
* DBA_TAB_COLUMNS
85-
* DBA_TABLES
86-
* DBA_TABLESPACES
87-
* DBA_TAB_PARTITIONS
88-
* DBA_TAB_SUBPARTITIONS
89-
* DBA_USERS
90-
* GV_$ARCHIVE_DEST
91-
* GV_$ARCHIVED_LOG
92-
* GV_$INSTANCE
93-
* GV_$PARAMETER
94-
* LOGSTDBY$SKIP_SUPPORT
95-
* NLS_DATABASE_PARAMETERS
96-
* REGISTRY$HISTORY
97-
* V_$DATABASE
98-
* V_$DIAG_ALERT_EXT
99-
* V_$INSTANCE
100-
* V_$LOG
101-
* V_$LOG_HISTORY
102-
* V_$PDBS
103-
* V_$PGASTAT
104-
* V_$RMAN_BACKUP_JOB_DETAILS
105-
* V_$SGASTAT
106-
* V_$SQLCOMMAND
107-
* V_$TEMP_SPACE_HEADER
108-
* V_$VERSION
21+
This utility must be run as a database user with privileges to SELECT from certain data dictionary views.
22+
The script sql/setup/grants_wrapper.sql is supplied to grant the required privileges. Instructions for
23+
exeuting it are below.
24+
25+
c) System Requirements
26+
----------------------
27+
The collection script depends on the following to be available on the machine from which it is run:
28+
bash shell
29+
cat
30+
cut
31+
dirname
32+
grep
33+
mkdir
34+
sed
35+
sqlplus
36+
tar
37+
tr
38+
which
39+
zip or gzip
10940

11041

11142
2. Preparation

scripts/collector/oracle/sql/setup/grants_wrapper.sql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@ DECLARE
140140

141141
BEGIN
142142

143+
-- The rectype entries in the code blocks below are parsed to generate documentation.
144+
-- Please follow the same format of one entry per line when adding new privileges.
143145
IF upper('&usediagnostics') = 'Y' THEN
144146
dbms_output.put_line('Granting privs for AWR/ASH data');
145147
v_source_table_list := t_source_table_list(

0 commit comments

Comments
 (0)