oracle 9.2 на fedora 1
с администрированием оракла сталкнулся первый раз....
/etc/init.d/oracle start
Tuning kernel parameters for Oracle: [ ОК ]
Unable to run program lsnrctl [ ОК ]
[ СБОЙ ]Что может быть? Нужно срочно запустить... помогите...
При agentctl start:
DBSNMP for Linux: Version 9.2.0.4.0 - Production on 05-люп-2008 12:03:47
Copyright (c) 2003 Oracle Corporation. All rights reserved.
nmiclbg_ensureAlive:: Initialize error for nmigenctxДо перезагрузки сервера все работало....
там написано почему он не стартует причин полно
$ORACLE_HOME/admin/orcl/bdump/alert_orcl.log
cat alert_orcl.log
Shutting down instance (abort)
License high water mark = 3
Instance terminated by USER, pid = 3882
Wed Mar 5 12:54:45 2008
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
SCN scheme 2
Using log_archive_dest parameter default value
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up ORACLE RDBMS Version: 9.2.0.4.0.
System parameters with non-default values:
processes = 150
timed_statistics = TRUE
shared_pool_size = 268435456
large_pool_size = 16777216
java_pool_size = 83886080
control_files = /oracle/oradata/orcl/control01.ctl, /oracle/oradata/orcl/control02.ctl, /oracle/oradata/orcl/control03.ctl
db_block_size = 8192
db_cache_size = 33554432
compatible = 9.2.0.0.0
db_file_multiblock_read_count= 16
fast_start_mttr_target = 300
undo_management = AUTO
undo_tablespace = UNDOTBS1
undo_retention = 10800
remote_login_passwordfile= EXCLUSIVE
db_domain =
instance_name = bm
dispatchers = (PROTOCOL=TCP) (SERVICE=orclXDB)
job_queue_processes = 4
hash_join_enabled = TRUE
background_dump_dest = /oracle/admin/orcl/bdump
user_dump_dest = /oracle/admin/orcl/udump
core_dump_dest = /oracle/admin/orcl/cdump
sort_area_size = 524288
db_name = orcl
open_cursors = 300
star_transformation_enabled= FALSE
query_rewrite_enabled = FALSE
pga_aggregate_target = 25165824
aq_tm_processes = 1
PMON started with pid=2
Wed Mar 5 12:54:46 2008
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521))'
DBW0 started with pid=3
LGWR started with pid=4
CKPT started with pid=5
SMON started with pid=6
RECO started with pid=7
CJQ0 started with pid=8
QMN0 started with pid=9
Wed Mar 5 12:54:46 2008
starting up 1 shared server(s) ...
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
Wed Mar 5 12:54:46 2008
ALTER DATABASE MOUNT
Wed Mar 5 12:54:53 2008
Successful mount of redo thread 1, with mount id 643766617.
Wed Mar 5 12:54:53 2008
Database mounted in Exclusive Mode.
Completed: ALTER DATABASE MOUNT
Wed Mar 5 12:54:53 2008
ALTER DATABASE OPEN
Wed Mar 5 12:54:53 2008
Beginning crash recovery of 1 threads
Wed Mar 5 12:54:53 2008
Started first pass scan
Wed Mar 5 12:54:53 2008
Completed first pass scan
1856 redo blocks read, 114 data blocks need recovery
Wed Mar 5 12:54:53 2008
Started recovery at
Thread 1: logseq 1761, block 3, scn 0.0
Recovery of Online Redo Log: Thread 1 Group 3 Seq 1761 Reading mem 0
Mem# 0 errs 0: /oracle/oradata/orcl/redo03.log
Wed Mar 5 12:54:53 2008
Completed redo application
Wed Mar 5 12:54:53 2008
Ended recovery at
Thread 1: logseq 1761, block 1859, scn 0.298296234
114 data blocks read, 114 data blocks written, 1856 redo blocks read
Crash recovery completed successfully
Wed Mar 5 12:54:53 2008
Thread 1 advanced to log sequence 1762
Thread 1 opened at log sequence 1762
Current log# 1 seq# 1762 mem# 0: /oracle/oradata/orcl/redo01.log
Successful open of redo thread 1.
Wed Mar 5 12:54:53 2008
SMON: enabling cache recovery
Wed Mar 5 12:54:53 2008
Undo Segment 1 Onlined
Undo Segment 2 Onlined
Undo Segment 3 Onlined
Undo Segment 4 Onlined
Undo Segment 5 Onlined
Undo Segment 6 Onlined
Undo Segment 7 Onlined
Undo Segment 8 Onlined
Undo Segment 9 Onlined
Undo Segment 10 Onlined
Successfully onlined Undo Tablespace 1.
Wed Mar 5 12:54:53 2008
SMON: enabling tx recovery
Wed Mar 5 12:54:53 2008
Database Characterset is CL8MSWIN1251
replication_dependency_tracking turned off (no async multimaster replication found)
Completed: ALTER DATABASE OPEN
Извините за полный лог, просто не знаю, что выкладывать...
Тут говорится о том что база запустилась нормально время только немного странное но на работу это не влияет значит мог не запуститься какой то дочерний процесс типа emctl (без него все будет работать только вебины не будет)lsnrctl (без него нельзя по сети подключиться но похоже он стартовал так написано в первом листинге) isqlplusctl (обойдемся без него)
так что просьба выслать листинг скрипта /etc/init.d/oracle не ясно что именно не запустилось
# Source function library.
. /etc/rc.d/init.d/functions# pull in sysconfig settings
if [ -f /etc/sysconfig/oracle ]; then
. /etc/sysconfig/oracle
else
ORA_OWNER="oracle"
START_ORACLE="yes"
START_LISTENER="yes"
START_AGENT="no"
START_ORA_APACHE="no"
START_CMANAGER="no"
fitest $START_ORACLE = "yes" || exit 0
RETVAL=0
setORAkern() {
# Do these here instead of /etc/sysctl.conf since they are Oracle
# specific, and we don't want to muck unless we are in fact going
# to start Oracle
echo -n $"Tuning kernel parameters for Oracle: "# Set shared memory parameters
echo ${SHMMAX:-2147483648} > /proc/sys/kernel/shmmax
echo ${SHMMNI:-4096} > /proc/sys/kernel/shmmni# Set the semaphore parameters:
# see Oracle release notes for Linux for how to set these values
# SEMMSL, SEMMNS, SEMOPM, SEMMNI
echo ${SEMMSL:-250} ${SEMMNS:-32000} ${SEMOPM:-100} ${SEMMNI:-128} > /proc/sys/kernel/sem
echo_success
echo
}
# get and check environment (e.g. ORACLE_HOME)
test -f /etc/profile.d/oracle.sh && . /etc/profile.d/oracle.sh
if [ -z "$ORACLE_HOME" -o ! -d $ORACLE_HOME -o -z "$ORACLE_SID" ]; then
echo "Cannot find ORACLE_HOME directory, or ORACLE_SID not set."
echo -n "Environment settings are wrong? Check /etc/profile.d/oracle.sh"
failure $"Checking Oracle environment"
exit 1
fistart() {
# the database will not start if no entries in /etc/oratab are "Y"
grep -s -q ":Y" /etc/oratab >&/dev/null || {
echo -n "No entries in /etc/oratab are Y"
failure $"Checking /etc/oratab"
exit 1
}if [ ! -f $ORACLE_HOME/bin/dbstart -o -z "$ORA_OWNER" ]; then
echo "No such file: \$ORACLE_HOME/bin/dbstart"
echo -n "Oracle could not be found (ORACLE_HOME wrong?)"
failure $"Checking for $ORACLE_HOME/bin/dbstart"
exit 1
fisetORAkern
echo -n $"Starting Oracle: "
daemon --user $ORA_OWNER $ORACLE_HOME/bin/dbstart
RET1=$?
if [ "${START_LISTENER:-no}" = "yes" ] && [ -x $ORACLE_HOME/bin/lsnrctl ]; then
daemon --user $ORA_OWNER $ORACLE_HOME/bin/lsnrctl start
RET2=$?
fi
if [ "${START_AGENT:-no}" = "yes" ] && [ -x $ORACLE_HOME/bin/agentctl ]; then
daemon --user $ORA_OWNER $ORACLE_HOME/bin/agentctl start
RET3=$?
fi
if [ "${START_ORA_APACHE:-no}" = "yes" ] && [ -x $ORACLE_HOME/Apache/Apache/bin/apachectl ]; then
# Note: This is because JServ thinks it needs X to resize and do other image file manipulation
# Crazy, I know. - Dax
test -z "$DISPLAY" && export DISPLAY=":42000.0"
daemon --user $ORA_OWNER $ORACLE_HOME/Apache/Apache/bin/apachectl start
RET4=$?
fi
if [ "${START_CMANAGER:-no}" = "yes" ] && [ -x $ORACLE_HOME/bin/cmctl ]; then
daemon --user $ORA_OWNER $ORACLE_HOME/bin/cmctl start
RET5=$?
fi
if [ $RET1 -eq 0 ] && [ ${RET2:-0} -eq 0 ] && [ ${RET3:-0} -eq 0 ] && [ ${RET4:-0} -eq 0 ] && [ ${RET5:-0} -eq 0 ]; then
touch /var/lock/subsys/oracle
echo_success
echo
return 0
else
failure
echo
return 1
fi# start iAS
# (to be done)
}stop() {
echo -n "Stopping Oracle: "# the database will not stop if no entries in /etc/oratab are "Y"
grep -s -q ":Y" /etc/oratab >&/dev/null || {
echo -n "No entries in /etc/oratab are Y"
failure $"Checking /etc/oratab"
exit 1
}if [ ! -f $ORACLE_HOME/bin/dbshut -o -z "$ORA_OWNER" ]; then
echo "No such file: \$ORACLE_HOME/bin/dbstart"
echo -n "Oracle could not be found (ORACLE_HOME wrong?)"
failure $"Checking for $ORACLE_HOME/bin/dbshut"
exit 1
fiif [ "${START_CMANAGER:-no}" = "yes" ] && [ -x $ORACLE_HOME/bin/cmctl ]; then
su - $ORA_OWNER -c "$ORACLE_HOME/bin/cmctl stop" > /dev/null 2>&1
RET5=$?
fi
if [ "${START_ORA_APACHE:-no}" = "yes" ] && [ -x $ORACLE_HOME/Apache/Apache/bin/apachectl ]; then
# Note: This is because JServ thinks it needs X to resize and do other image file manipulation
# Crazy, I know. Needed for stopping too??? - Dax
test -z "$DISPLAY" && export DISPLAY=":42000.0"
su - $ORA_OWNER -c "$ORACLE_HOME/Apache/Apache/bin/apachectl stop" > /dev/null 2>&1
RET4=$?
fi
if [ "${START_AGENT:-no}" = "yes" ] && [ -x $ORACLE_HOME/bin/agentctl ]; then
su - $ORA_OWNER -c "$ORACLE_HOME/bin/agentctl stop" > /dev/null 2>&1
RET3=$?
fi
if [ "${START_LISTENER:-no}" = "yes" ] && [ -x $ORACLE_HOME/bin/lsnrctl ]; then
su - $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop" > /dev/null 2>&1
RET2=$?
fi
su - $ORA_OWNER -c "$ORACLE_HOME/bin/dbshut" > /dev/null 2>&1
RET1=$?
if [ $RET1 -eq 0 ] && [ ${RET2:-0} -eq 0 ] && [ ${RET3:-0} -eq 0 ] && [ ${RET4:-0} -eq 0 ] && [ ${RET5:-0} -eq 0 ]; then
rm -f /var/lock/subsys/oracle
success
echo
return 0
else
failure
echo
return 1
fi# stop iAS
# (to be done)
}restart() {
stop
start
}case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
tunekernel)
setORAkern
;;
condrestart)
[ -f /var/lock/subsys/oracle ] && restart || :
;;
*)
echo "Usage: $0 {start|stop|restart|tunekernel|condrestart}"
exit 1
esac
exit $?
Вот еще perl'ом конекчусь с удаленного хоста:
failed: ORA-12541: TNS:no listener (DBD ERROR: OCIServerAttach)Локально: sqlplus userneme/password - соединяется нормально...
Удаленно и локально sqlplus username/password@11.11.11.11 - ORA-12541: TNS:нет прослушивателя
попробуй в скрипте закоментить строки
if [ "${START_AGENT:-no}" = "yes" ] && [ -x $ORACLE_HOME/bin/agentctl ]; then
su - $ORA_OWNER -c "$ORACLE_HOME/bin/agentctl start" > /dev/null 2>&1
RET3=$?
fi
это отменит запуск агента не сможешь управлялку через вэб запустить но база будет доступна или просто запусти базу руками
su - oracle
export ORACLE_HOME=??????
export ORACLE_SID=????sqlplus / as sysdba
startup
quit;lsnrctl start
этого достаточно для работы базы и подключения снаружи а вот потом уже нужно разбираться с агентом
скрипт поменял, все рано пишет
/etc/init.d/oracle start
Tuning kernel parameters for Oracle: [ ОК ]
Unable to run program lsnrctl [ ОК ]
[ СБОЙ ]запускаю вручную:
SQL> startup
ORA-01031: привилегий недостаточнокакой пароль может быть по-умолчанию или как сменить пароль (root'у в oracle)?
нужно старотовать базу от имени пользователя который для нее создан то есть сначала залогиниться под ним и потом именно как sqlplus / as sysdba подключиться после этогго у тебя sys права и ты можешь все стартовать проверь правильность ORACLE_HOME ORACLE_SID
пользватель для нее oracle
su oracle
sqlplus / as sysdba : вываливается справкаа в ORACLE_HOME и ORACLE_SID все верно...
echo $ORACLE_HOME
/oracle/oracle
echo $ORACLE_SID
orclP.s. может незачем, но lsnrctl start выдает: Unable to run program lsnrctl
и при nmap 11.11.11.11 не вижу, что открыт порт 1521
>[оверквотинг удален]
>
>а в ORACLE_HOME и ORACLE_SID все верно...
>echo $ORACLE_HOME
>/oracle/oracle
>echo $ORACLE_SID
>orcl
>
>P.s. может незачем, но lsnrctl start выдает: Unable to run program
>lsnrctl
>и при nmap 11.11.11.11 не вижу, что открыт порт 1521Извините за банальность, а с файрволлом как дела обстоят ?
с фаером все в порядке...
в процессах очень много: oraclebm (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
и нету /oracle/oracle/bin/tnslsnr LISTENER -inherit
т.е. по моему что-то с листенором...
>[оверквотинг удален]
>
>а в ORACLE_HOME и ORACLE_SID все верно...
>echo $ORACLE_HOME
>/oracle/oracle
>echo $ORACLE_SID
>orcl
>
>P.s. может незачем, но lsnrctl start выдает: Unable to run program
>lsnrctl
>и при nmap 11.11.11.11 не вижу, что открыт порт 1521su - oracle
^^^
все рано не работает.... от oracle запускается только dbstart
tnsping orcl:
Использованы файлы параметров:
/oracle/oracle/network/admin/sqlnet.ora
Использован адаптер TNSNAMES для разрешения псевдонима
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = sitex.site.ru)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
TNS-12541: TNS:нет прослушивателя информации
может кому что скажет
lsnrctl status:
Unable to run program lsnrctl
ты когда листнер стартуешь ты SID перед этим экспортировал уже ? если да то $ORACLE_HOME/network/admin/listener.ora сюда давай
и $ORACLE_HOME/network/log/listener.log
lsnrctl0 start
от пользователя oracle стартанул tns, все зарабоало
всем спасибо..!
поему он автоматом так не стартует и почему lsnrctl0 а не lsnrctl, загадка!
lsnrctl0 вообще то не есть правильно но да ладно
а вообще есть у меня одно объяснение с которым сам столкнулся как то не работал загрузчик ldrctl
был походу битый бинарник ldrctl подменил его тупо с другой системы все наромально работать стало но как так вышло для меня осталось загадкой.
спасибо, помог! действительно, смотрю а у меня этот файл в 2 раза меньше веит.... тупо скопироал со второй и все работает при загруке тперь!