| 1 | ALTER SESSION SET CONTAINER=FREEPDB1; |
| 2 | |
| 3 | DECLARE |
| 4 | v_exists NUMBER := 0; |
| 5 | BEGIN |
| 6 | SELECT COUNT(*) INTO v_exists FROM dba_users WHERE username = 'NETDATA'; |
| 7 | IF v_exists = 0 THEN |
| 8 | EXECUTE IMMEDIATE 'CREATE USER netdata IDENTIFIED BY "Netdata123!"'; |
| 9 | END IF; |
| 10 | END; |
| 11 | / |
| 12 | |
| 13 | GRANT CONNECT TO netdata; |
| 14 | GRANT SELECT_CATALOG_ROLE TO netdata; |
| 15 | GRANT SELECT ON V_$SQLSTATS TO netdata; |
| 16 | GRANT SELECT ON V_$SESSION TO netdata; |
| 17 | GRANT SELECT ON V_$SQL TO netdata; |
| 18 | GRANT EXECUTE ON DBMS_LOCK TO netdata; |
| 19 | |
| 20 | BEGIN |
| 21 | EXECUTE IMMEDIATE 'CREATE TABLE netdata.demo (id NUMBER PRIMARY KEY, name VARCHAR2(64))'; |
| 22 | EXCEPTION |
| 23 | WHEN OTHERS THEN |
| 24 | IF SQLCODE != -955 THEN |
| 25 | RAISE; |
| 26 | END IF; |
| 27 | END; |
| 28 | / |
| 29 | |
| 30 | MERGE INTO netdata.demo d |
| 31 | USING (SELECT 1 AS id, 'alpha' AS name FROM dual) s |
| 32 | ON (d.id = s.id) |
| 33 | WHEN NOT MATCHED THEN INSERT (id, name) VALUES (s.id, s.name); |
| 34 | |
| 35 | COMMIT; |