I have always used EM Database Control or the EM Console (that is installed with Oracle Client) to extract any DDL from Oracle Database. I believe the main reason is Oracle has been encouraging young admins like me to use the GUI tools by insisting on using them in all Oracle’s training courses (DB Admin I and II comes to mind).
Today, I had to extract the DDL for a tablespace, without any of the GUI tools.
Luckily, Google saved the day, and I found this thread on the Oracle forums.
Basically, a function for this has already been included in Oracle inside the DBMS_METADATA package.
Just use the GET_DDL function:
SELECT DBMS_METADATA.GET_DDL('TABLESPACE','TABLESPACE_NAME') FROM dual;