1. 在linux redhat 5.0安裝完Oracle11 g 之後,無法使用netca創建監聽,運行時報錯如下
是由於默認的主機名導致的,修改2處
[oracle@jc11g ~]$ cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=test11g
GATEWAY=192.168.1.254
[oracle@jc11g ~]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost test11g
再執行
hostname test11g
讓oracle用戶退出重新登錄就可以正常啟動netca了
2. 如何在linux suse中安裝Oracle 11g創建監聽
在linux suse中安裝Oracle 11g創建監聽的步驟:
在本地oracle用戶模式下 oracle@linux-udly:~> netca
接下來按圖一直點擊NEXT
此處可以修改oracle監聽器的埠號
3. linux oracle 9i 創建監聽問題
直接去
cd /opt/oracle/proct/9.2.0/bin
./netca 即可
4. linux操作系統下oracle資料庫如何配置監聽
1. 修改監聽器配置文件
Linux下Oracle監聽器配置文件在:$ ORACLE_HOME/network/admin/listerer.ora, 如:
/bank/oracle/oracle10g/proct/10.2.0/network/admin/listener.ora
修改並配置要監聽SID的相關信息,如:
#listener.ora Network Configuration File: /bank/oracle/oracle10g/proct/10.2.0/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /bank/oracle/oracle10g/proct/10.2.0)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL DBNAME = bkserver)
(SID_NAME = bkserver)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.7.13.242)(PORT = 1521))
)
)
2. 啟動監聽器
(1). 切換至oracle安裝用戶(一般為oracle)
su - oracle
(2). 啟動監聽器
lsnrctl start
另:停止監聽器
lsnrctl stop
3. 測試監聽器是否運行正常
在客戶端修改tnsnames.ora配置文件就訪問Oracle資料庫,如:
BKSERVER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.7.13.242)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = BKSERVER)
)
)
通過命令tnsping測試是否能訪問到監聽器,如:
M:\>tnsping bkserver
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Proction on 12-8月 -
2010 17:11:04
Copyright (c) 1997, 2005, Oracle. All rights reserved.
已使用的參數文件:
D:\oracle\proct\10.2.0\client_1\network\admin\sqlnet.ora
已使用 TNSNAMES 適配器來解析別名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 10.7.13.242)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVIC
E_NAME = BKSERVER)))
OK (20 毫秒)
注意: 監聽器是否能被tnsping通跟資料庫的開啟/關閉無關,所以就算可以tnsping通監聽器但未必能連接到資料庫,這時請檢查listener.ora文件配置信息是否正確,還有資料庫是否已經被開啟。
5. linux下如何監聽進程
一、supervise
Supervise是daemontools的一個工具,可以用來監控管理unix下的應用程序運行情況,在應用程序出現異常時,supervise可以重新啟動指定程序。
使用:
mkdir test
cd test
vim run 寫入希望執行的操作
supervise test (注意這里是的參數是run文件上層的文件夾,改變run的為可執行 chmod +x run)
二、monit
monit是一個小型的開放源碼工具來管理和監控Unix系統。Monit可以自動維護進程,及時避免進程異常退出等產生的問題。
系統: monit可以監控問題的發生,包括進程狀態、系統cpu負載、內存佔用情況等,例如當apache服務的cpu負載以及內存閘弄情況過高時候,它會重啟apache服務。
進程: monit可以監控守護進程,包括系統進程。例如當某個進行down掉,它會自動恢復重啟該進程。
文件系統:Monit可以監控本地文件、目錄、文件系統的變化,包括時間戳、校驗值、大小的變化。例如,可以監控文件sha1以及md5的值,來監控文件是否發生變化。
網路:monit可以監控網路連接,支持TCP、UDP、Unix domain sockets以及HTTP、SMTP等。
定時腳本:monit可以用來定時測試程序和腳本,獲取程序輸出結果,進而判斷是否成功或其他情況。
安裝:
sudo apt-get install monit
編輯配置:
sudo vim /etc/monit/monitrc
啟動、停止、重啟:
sudo /etc/init.d/monit start
sudo /etc/init.d/monit stop
sudo /etc/init.d/monit restart
設置頁面監控狀態:
set httpd port 2812 and
allow 0.0.0.0/0.0.0.0
allow localhost
增加監控:
需要注意的是,這里需要添加start和stop,缺一個都是不行的
1.根據程序名稱來監控
check process test with MATCHING test.py
start program = "/home/yxd/test.py"
stop program = "xxxxx"
2.根據pid監控
check process apache with pidfile /var/run/httpd.pid
start program = "/etc/init.d/rcWebServer.sh start https"
stop program = "/etc/init.d/rcWebServer.sh stop https"
if changed pid then aler
參考:用monit監控系統關鍵進程
supervisord
Supervisor是一個C/S系統,它可以在類unix操作系統讓用戶來監視和控制後台服務進程的數量。它是由python編寫的,常用於進程異常退出的重啟保護。
安裝:
pip install supervisor
查看配置文件:
echo_supervisord_conf
從該命令的結果中,可以看到各個模塊的配置信息。
創建配置文件:
echo_supervisord_conf > /etc/supervisord.conf
配置應用:
[program:test]
command=python /root/test_supervisor.py
process_name=%(program_name)s
stdout_logfile=/root/test.log
stderr_logfile=/root/test.log
保存,啟動:
/usr/bin/supervisord -c /etc/supervisord.conf
6. linux下怎麼配置本地監聽服務
如果是web伺服器,比如apache,或者tomcat,nginx這種,有相應的配置文件的,比如xxx.conf,這個配置文件中可以設定監聽的埠。
7. 請教,linux下如何建立oracle監聽器
1、命令行執行netca會有圖像界面提示
2、編輯network\admin\listener.ora文件
3、查看:lsnrctl status
8. linux下怎麼實現監聽鍵盤按鍵
在Unix/Linux下,並沒有提供int kbhit(void)這個函數。在linux下開發控制台程序時,需要自己編寫kbhit()實現的程序了。下面是kbhit在Unix/Linux下的一個實現。用到了一種終端操作庫termios。
下面是頭文件kbhit.h:
QUOTE:
#ifndef KBHITh
#define KBHITh
void init_keyboard(void);
void close_keyboard(void);
int kbhit(void);
int readch(void);
#endif
下面式源程序kbhit.c:
QUOTE: #include "kbhit.h"
#include <stdio.h>
#include <termios.h>
static struct termios initial_settings, new_settings;
static int peek_character = -1;
void init_keyboard()
{
tcgetattr(0,&initial_settings);
new_settings = initial_settings;
new_settings.c_lflag &= ~ICANON;
new_settings.c_lflag &= ~ECHO;
new_settings.c_lflag &= ~ISIG;
new_settings.c_cc[VMIN] = 1;
new_settings.c_cc[VTIME] = 0;
tcsetattr(0, TCSANOW, &new_settings);
}
void close_keyboard()
{
tcsetattr(0, TCSANOW, &initial_settings);
}
int kbhit()
{
unsigned char ch;
int nread;
if (peek_character != -1) return 1;
new_settings.c_cc[VMIN]=0;
tcsetattr(0, TCSANOW, &new_settings);
nread = read(0,&ch,1);
new_settings.c_cc[VMIN]=1;
tcsetattr(0, TCSANOW, &new_settings);
if(nread == 1)
{
peek_character = ch;
return 1;
}
return 0;
}
int readch()
{
char ch;
if(peek_character != -1)
{
ch = peek_character;
peek_character = -1;
return ch;
}
read(0,&ch,1);
return ch;
}
9. linux 環境下oracle在創建監聽出現的問題
之前是不是用root用戶創建過監聽
檢查下你的/etc/hosts文件與IP地址 hostname是否一致,監聽出現問題大部分出在/etc/hosts文件上。