Oracle

SERV_MOD_ACT_TRACE_ENABLE 問題

  • April 11, 2019
SQL> EXECUTIVE DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE(service_name=>'ACC_SRV',waits=>TRUE,binds=>FALSE,instance_name=>'inst1');

為什麼這個函式需要 instance_name 參數?我認為實例和服務之間的關係如下(http://docs.oracle.com/cd/B19306_01/network.102/b14212/concepts.htm):

  • 一個實例一個服務
  • 一個實例的多服務

如果我呼叫 SERV_MOD_ACT_TRACE_ENABLE,則會為使用 ACC_SRV 服務的每個會話創建一個跟踪文件。這個不為空的實例參數有什麼作用?

不需要實例名稱,如您在文件中所見

除非指定了 instance_name,否則此過程將為給定的 Service Name、MODULE 和 ACTION 組合全域啟用 SQL 跟踪。

instance_name 有一個預設值 null 暗示它不是必需的參數。在 RAC 數據庫中,這只會在所有打開的實例中啟用對您的服務的跟踪。

引用自:https://dba.stackexchange.com/questions/160567