-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup_trace_utils_sys.sql
More file actions
63 lines (40 loc) · 1.46 KB
/
Copy pathsetup_trace_utils_sys.sql
File metadata and controls
63 lines (40 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
We need a database directory a function can access for user_dump_dest.
As SYS:
*/
SET ECHO ON
DEF owner = "sqlutils"
SET ECHO OFF
ACCEPT owner PROMPT "Enter name of schema to own utilities (Default: sqlutils): " DEFAULT "sqlutils"
ACCEPT dropowner PROMPT "Drop user &&owner and recreate (Y/N, Default:N): " DEFAULT "N"
SET ECHO ON
BEGIN
IF UPPER('&&dropowner') IN ('YES', 'Y') THEN
EXECUTE IMMEDIATE 'DROP USER &&owner CASCADE';
END IF;
END;
/
COL user_dump_dest NEW_VALUE user_dump_dest
SELECT v1.value || '/diag/rdbms/' || LOWER(v2.value) || '/' || i.instance_name || '/trace' user_dump_dest
FROM v$parameter v1, v$parameter v2, v$instance i
WHERE v1.name = 'diagnostic_dest'
AND v2.name = 'db_unique_name';
CREATE OR REPLACE DIRECTORY user_dump_dest AS '&&user_dump_dest';
/*
Needs write access to be able to write the log file
*/
ACCEPT passwd HIDE PROMPT "Enter password for &&owner: "
CREATE USER &&owner IDENTIFIED BY &&passwd;
GRANT CREATE PROCEDURE TO &&owner;
GRANT READ, WRITE ON DIRECTORY user_dump_dest TO &&owner;
CREATE OR REPLACE DIRECTORY bin_dir AS '/home/oracle/scripts';
GRANT READ, EXECUTE ON DIRECTORY bin_dir TO &&owner;
GRANT EXECUTE ON SYS.DBMS_SUPPORT TO &&owner;
GRANT EXECUTE ON SYS.DBMS_SYSTEM TO &&owner;
GRANT SELECT ON v_$session TO &&owner;
GRANT SELECT ON v_$sql TO &&owner;
HOST mkdir ~/scripts
HOST cp ./tkprof.sh ~/scripts
HOST chmod u+x ~/scripts/tkprof.sh
@?/rdbms/admin/dbmssupp
@@setup_trace_utils.sql