1. 程式人生 > >Linux Oracle啟動自定義指令碼

Linux Oracle啟動自定義指令碼

1.啟動程式

#include<stdio.h>

#include<string.h>

#include<math.h>

#include<stdlib.h>

#define ORACLE_START_TXT "/home/qual/tmp/oracle_startup.txt" //檢測程序啟動檔案
#define SYSTEM_COMMAND(command) system(command)           //系統執行命令巨集

int main(){

        char str[200]={0};
        char *tns;
        FILE *fp;

        void findLsn();
        findLsn();

        fp=fopen(ORACLE_START_TXT,"r");
        fgets(str,100,fp);
        tns=strstr(str,"tnslsnr");

        if(tns==NULL){

        SYSTEM_COMMAND("nohup dbstart > /home/qual/tmp/oracle_startup.log 2>&1 &");

        }

 SYSTEM_COMMAND("cat $ORACLE_HOME/startup.log > /home/qual/tmp/oracle_startup.log");

}

void findLsn(){

        SYSTEM_COMMAND("ps -ef|grep tns > /home/qual/tmp/oracle_grep.txt");
        SYSTEM_COMMAND("grep tnslsnr /home/qual/tmp/oracle_grep.txt >/home/qual/tmp/oracle_startup.txt");

}

2,使用者配置:

.bash_profile 內 

#ORACLE STARTUP

oracle_startup

3.以程序檢測為準來啟動資料庫例項