Data manipulation / Temporary tables |
ALTER SYSTEM SET recyclebin = OFF scope=both
or:
ALTER SESSION SET recyclebin = OFF
The TEMPTABS tablespace must be of type "permanent", as it will hold permanent tables used to emulate Informix temp tables.
Make sure it is big enough to hold all the data, and check for automatic extension.
When using a PDB, the TEMPTABS table space must be created in the context of the PDB.
CREATE TABLESPACE temptabs DATAFILE 'file-path' SIZE 1M AUTOEXTEND ON; -- Give privileges on temptabs tablespace to other users ALTER USER dbuser QUOTA UNLIMITED ON TEMPTABS;
For more details, see "CREATE TABLESPACE" in the Oracle documentation.
ttnumber_original_name
Where <number> is the Oracle AUDSID session id returned by:
SELECT USERENV('SESSIONID') FROM DUAL
As Oracle 9i and 10g table names can't exceed 30 characters in length, and since session ids are persistent over server shutdown, you must pay attention to the names of your temporary tables. For example, if you create a temp table with the name TEMP_CUSTOMER_INVOICES (22c) it leaves 30 - (3 + 22) = 5 characters left for the session id, which gives a limit of 99999 sessions.
To workaround this limitation, you can provide your own SQL command to generate a unique session id with the following FGLPROFILE entry:
dbi.database.dbname.ora.sid.command = "select ..."
As an example, you can use the SID column value from V$SESSION:
SELECT SID FROM V$SESSION WHERE AUDSID = USERENV('SESSIONID')
ttnumber_original_name
CREATE TABLE tab1 ( key INTEGER, tmp1 CHAR(20) ) CREATE TEMP TABLE tmp1 ( col1 INTEGER, col2 CHAR(20) ) SELECT tmp1 FROM tab1 WHERE ...
SELECT * FROM ALL_TABLES WHERE OWNER = 'user_name'
As with other database object names, the user name is stored in uppercase letters if it has been created without using double quotes (create user scott ... = stored name is "SCOTT" ).
Sequences and triggers will be created in the current schema.
See issue about SERIALs for more details.