I would like to run a query on v$sql using Common table expression and CROSS APPLY.
Here is my SQL:
WITH CTE AS
(SELECT
SUM(ELAPSED_TIME/1000/1000)/SUM(EXECUTIONS) AS Avg_Elapsed_Time_sec,
SUM(ELAPSED_TIME/1000/1000) AS Sum_Elapsed_Time_sec,
SUM(ELAPSED_TIME/1000/1000/(executions)) AS Sum_Avg_Elapsed_Time_sec,
SUM(EXECUTIONS) AS Sum_Executions,
SUM(ROWS_PROCESSED) AS Sum_Row_Processed,
SUM(ROWS_PROCESSED) / SUM(executions) AS Avg_Row_Processed,
SUM(FETCHES) AS Sum_Fetches,
SUM(FETCHES) / SUM(EXECUTIONS) AS Avg_Fetch,
SUM(DISK_READS) AS Sum_DiskRead,
SUM(DISK_READS) / SUM(EXECUTIONS) AS Avg_DiskRead,
SUM(APPLICATION_WAIT_TIME) AS Sum_Application_Wait_Time,
SUM(CONCURRENCY_WAIT_TIME) AS Sum_Concurrency_Wait_Time,
SUM(USER_IO_WAIT_TIME) AS Sum_User_IO_Wait_Time,
SUM(PLSQL_EXEC_TIME) AS Sum_PlSql_Exec_Time,
SUM(OPTIMIZER_COST) AS Sum_Optimizer_Cost,
SQL_ID,
HASH_VALUE,
COUNT(*) AS Entries
FROM
v$sql
WHERE
executions > 1
GROUP BY
SQL_ID,
HASH_VALUE
ORDER BY
Avg_Elapsed_Time_sec DESC
)
SELECT D.SQL_FULLTEXT,CTE.* FROM v$sql
CROSS APPLY //Error in this line
(
select SQL_FULLTEXT from v$sql where v$sql.SQL_ID=CTE.SQL_ID and rownum=1
) D
How can I fix this error? but I get this error:
ORA-00933: SQL command not properly ended 00933. 00000 - "SQL command not properly ended" *Cause:
*Action: