@ and @@
The @ (at symbol) is equivalent to the START command and is used to run SQL*Plus command scripts. A single @ symbol runs a script in the current directory (or one specified with a full or relative path, or one that is found in you SQLPATH or ORACLE_PATH). @@ will start a sqlplus script that is in the same directory as the script that called it (relative to the directory of the current script).
& and &&
“&” is used to create a temporary substitution variable that will prompt you for a value every time it is referenced. “&&” is used to create a permanent substitution variable. Once you have entered a value (defined the variable) its value will used every time the variable is referenced.
Define variable variablename, if not already defined, and set its value to value
sqlplus /nolog @/gather_stats.sql sdp logfile connection_string
set echo on timing on time on termout on;
exec DBMS_STATS.UNLOCK_SCHEMA_STATS (‘&&schema_name’);
method_opt=>’FOR ALL COLUMNS SIZE AUTO’,cascade=>TRUE);