Finally came up with a trigger which works:
set serveroutput on;
CREATE OR REPLACE TRIGGER ddl_trig
BEFORE CREATE
ON DATABASE
DECLARE
sql_text DBMS_STANDARD.ora_name_list_t;
v_stmt VARCHAR2(2000);
n PLS_INTEGER;
BEGIN
IF (ora_dict_obj_type = 'TABLESPACE' ) AND (ora_sysevent = 'CREATE') THEN
n := ora_sql_txt(sql_text);
FOR i IN 1..n LOOP
v_stmt := v_stmt || sql_text(i);
END LOOP;
dbms_output.put_line('------------Query Used---------------');
dbms_output.put_line(v_stmt);
END IF;
END ddl_trig;
/
show errors;
Got the list of events from Oracle Doc. My sincere thanks to @David @Steve for the pointers.