Linux Oracle啟動自定義指令碼
阿新 • • 發佈:2019-02-14
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.以程序檢測為準來啟動資料庫例項