如何查看数据库alert日志文件

如何查看数据库alert日志文件,第1张

1、登录Oracle服务器,切换到oracle用户下

#su - oracle

注:需要进入到命令行模式下

2、进入到sqlplus接口

$sqlplus '/as sysdba'

注意:使用角色sysdba

3、查询alter日志目录

show parameter dump

4、找到alert日志

先看一段注释

/* Once created UiccController registers with RIL for "on" and "unsol_sim_status_changed"

* notifications. When such notification arrives UiccController will call

* getIccCardStatus (GET_SIM_STATUS). Based on the response of GET_SIM_STATUS

* request appropriate tree of uicc objects will be created.

*

* Following is class diagram for uicc classes:

*

*                       UiccController

*                            #

*                            |

*                        UiccCard

*                          #   #

*                          |   ------------------

*                    UiccCardApplication    CatService

*                      #            #

*                      |            |

*                 IccRecords    IccFileHandler

*                 ^ ^ ^           ^ ^ ^ ^ ^

*    SIMRecords---- | |           | | | | ---SIMFileHandler

*    RuimRecords----- |           | | | ----RuimFileHandler

*    IsimUiccRecords---           | | -----UsimFileHandler

*                                 | ------CsimFileHandler

*                                 ----IsimFileHandler

*

* Legend: # stands for Composition

*         ^ stands for Generalization

*/

这是UiccController.java文件开头对UiccController的注释,意思很明显UiccController是对Android SIM卡管理的控制器。

下面是SIM卡初始化序列图:

UiccController的初始化是在phone进程启动的时候,PhoneFactory调用makeDefaultPhone()创建默认的Phone,然后走MTK双卡流程中,调用MTKPhoneFactory. makeDefaultPhone()创建的,

{

             for (int l2 = 0l2 <PhoneConstants.GEMINI_SIM_NUMl2++)

               if (j1 == l2)

                 ai[l2] = j

               else

                 ai[l2] = 1

             I = new RIL(context, ai[0], l, 0)

             J = new RIL(context, ai[1], l, 1)

           }

           UiccController.make(context, I, 0)

           UiccController.make(context, J, 1)

           GSMPhone agsmphone[] = new GSMPhone[PhoneConstants.GEMINI_SIM_NUM]

上面是反编译MTK的static_gemini_intermediates库看到的,在RIL创建完成时,使用UiccController.make()初始化:

public static UiccController make(Context c, CommandsInterface ci, int simId) {

   synchronized (mLock) {

     if (FeatureOption.MTK_GEMINI_SUPPORT) {

       if(mInstance[simId] != null) {

         throw new RuntimeException("UiccController.make() should only be called once")

       }

       mInstance[simId] = new UiccController(c, ci, simId)

       return mInstance[simId]

     } else {

       if (mInstance[0] != null) {

         throw new RuntimeException("UiccController.make() should only be called once")

       }

       mInstance[0] = new UiccController(c, ci)

       return mInstance[0]

     }

   }

 }

UiccController的创建使用了单例模式,使用时调用getInstance()获取,

public static UiccController getInstance(int simId) {

   synchronized (mLock) {

     if (FeatureOption.MTK_GEMINI_SUPPORT) {

       if(mInstance[simId] == null) {

         throw new RuntimeException(

           "UiccController.getInstance can't be called before make()")

       }

       return mInstance[simId]

     } else {

       if (mInstance[0] == null) {

         throw new RuntimeException(

           "UiccController.getInstance can't be called before make()")

       }

       return mInstance[0]

     }

   }

 }

 private UiccController(Context c, CommandsInterface ci, int simId) {

   if (DBG) log("Creating UiccController simId " + simId)

   mContext = c

   mCi = ci

   mSimId = simId

   mCi.registerForIccStatusChanged(this, EVENT_ICC_STATUS_CHANGED, null)

   // TODO remove this once modem correctly notifies the unsols

   mCi.registerForOn(this, EVENT_ICC_STATUS_CHANGED, null)

   mCi.registerForVirtualSimOn(this, EVENT_VIRTUAL_SIM_ON, null)

   mCi.registerForVirtualSimOff(this, EVENT_VIRTUAL_SIM_OFF, null)

   mCi.registerForSimMissing(this, EVENT_SIM_MISSING, null)

   mCi.registerForSimRecovery(this, EVENT_SIM_RECOVERY, null)

   mCi.registerForSimPlugOut(this, EVENT_SIM_PLUG_OUT, null)

   mCi.registerForSimPlugIn(this, EVENT_SIM_PLUG_IN, null)

   mCi.registerForInvalidSimDetected(this, EVENT_INVALID_SIM_DETECTED, null)

   IntentFilter filter = new IntentFilter()

   filter.addAction("android.intent.action.ACTION_SHUTDOWN_IPO")

   filter.addAction(GeminiPhone.EVENT_INITIALIZATION_FRAMEWORK_DONE)

   filter.addAction(TelephonyIntents.ACTION_SIM_INFO_UPDATE)

   filter.addAction(ACTION_RESET_MODEM)

   mContext.registerReceiver(mIntentReceiver, filter)

 }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12040788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存