自動設定autotrace環境

space6212發表於2019-07-20

/* 作用:由於經常需要在SQL*PLUS檢視執行路徑,但oracle預設是不支援檢視執行路徑的,需要我們手工安裝環境。

本指令碼的目的就是快速安裝檢視執行計劃的環境,並作相關授權。

安裝完畢後,資料庫的所有使用者都可以在SQL*PLUS中使用set autotrace ......

引數:執行該指令碼需要輸入兩個引數:

第一個是目標資料庫的sys密碼;

第二個引數是指向目標資料庫的tnsname,如果連線的是本地資料庫,則該引數留空,注意第二個引數要加"@"

作者:suk

本指令碼在oracle 9i測試透過 */


--定義變數
define pathstr_table=''
define pathstr_plustrce=''
define utlxplan='?/rdbms/admin/utlxplan.sql'
define plustrce='?/sqlplus/admin/plustrce.sql'
--設定變數的新值
column mypathstr_table new_value pathstr_table
column mypathstr_plustrce new_value pathstr_plustrce
--從庫中查詢oracle基於什麼作業系統,如果是windows,路徑層次之間用'',否則用'/'
select replace('&utlxplan','/',decode(sign(instr(lower(banner),'windows')-1),1,'','/')) mypathstr_table from (select banner,rownum rn from v$version ) where rn=4;

select replace('&plustrce','/',decode(sign(instr(lower(banner),'windows')-1),1,'','/')) mypathstr_plustrce from (select banner,rownum rn from v$version ) where rn=4;
--以sys使用者連線資料庫 conn sys/&the_sys_password&the_tnsname as sysdba
--建立PLAN_TABLE @'&pathstr_table' --建立ROLE
@'&pathstr_plustrce'
--授權
create public synonym plan_table for plan_table;
grant all on plan_table to public;
grant plustrace to public;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-63713/,如需轉載,請註明出處,否則將追究法律責任。

相關文章