Sim, o Oracle tem tabelas temporárias. Aqui está um link para um artigo do AskTom descrevendo-os e aqui está a documentação oficial do oracle CREATE TABLE.
No entanto, no Oracle, apenas os dados em uma tabela temporária é temporário. A tabela é um objeto regular visível para outras sessões. É uma prática ruim criar e descartar tabelas temporárias com frequência no Oracle.
CREATE GLOBAL TEMPORARY TABLE today_sales(order_id NUMBER)
ON COMMIT PRESERVE ROWS;
O Oracle 18c adicionou tabelas temporárias privadas, que são objetos na memória de sessão única. Consulte a documentação para obter mais detalhes. Tabelas temporárias privadas podem ser criadas e eliminadas dinamicamente.
CREATE PRIVATE TEMPORARY TABLE ora$ptt_today_sales AS
SELECT * FROM orders WHERE order_date = SYSDATE;
Tabelas temporárias podem ser úteis, mas são comumente abusadas no Oracle. Eles geralmente podem ser evitados combinando várias etapas em uma única instrução SQL usando exibições em linha.