Возможно вы искали: 'Petz: Dogz Family'

May 15 2025 18:28:48
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Установка Oracle 10g Express Edition на FreeBSD 5.4-RELEASE (oracle freebsd install)

Установка Oracle 10g Express Edition на FreeBSD 5.4-RELEASE (oracle freebsd install)

Ключевые слова: oracle, freebsd, install, (найти похожие документы)

From: Дмитрий Ганенко <dima@apk-inform.com.>
Newsgroups: email
Date: Mon, 23 Jun 2006 14:31:37 +0000 (UTC)
Subject: Установка Oracle 10g Express Edition на FreeBSD 5.4-RELEASE


Установка Oracle 10g Express Edition на FreeBSD 5.4-RELEASE


Пролог

Невозможно сдержать слезу умиления, читая пресс-релиз корпорации Oracle:

"REDWOOD SHORES, штат Калифорния, Москва, 10 ноября 2005 г. - Корпорация
Oracle объявила о выпуске Oracle Database 10g Express Edition
(Oracle Database XE), бесплатной версии всемирно известной СУБД для
разработчиков. Бета-версию Oracle Database XE можно загрузить с Web-сайта
корпорации.

Новая редакция СУБД Oracle Database 10g предоставляет возможность
разработчикам ПО, администраторам баз данных и всем, кто впервые использует
технологии Oracle, получить бесплатную базовую версию СУБД, позволяющую
начать разработку и развертывание собственных приложений. Кроме того, эта
версия предлагается бесплатно независимым разработчикам программного
обеспечения и поставщикам оборудования для свободной дистрибуции или
встраивания в собственные приложения.

"Oracle Database XE предоставляет разработчикам, администраторам БД,
независимым поставщикам ПО и студентам возможность бесплатно изучать, а
также создавать и развертывать собственные разработки на базе самой
передовой СУБД, - говорит Томас Кайт (Thomas Kyte), вице-президент
Oracle. - Никто еще не предлагал подобного - теперь каждый имеет возможность
начать свою работу с самым лучшим решением на рынке".

Вот и самый передовой Oracle стал ближе к простому народу. Но ближе, как
всегда, к пользователям Windows и Linux. Все лучшее - детям! А мы чем хуже?
Ну что ж, студенты, разработчики и администраторы, приступим?


1. Выступаем в роли kernel hackers

Прежде всего, нужно немножко пропатчить исходники ядра. Несколько дней
пытаясь запустить oracle, используя поначалу ktrace - kdump, а потом
догадавшись заглянуть в порты и с радостью обнаружив там linux_kdump,
используя последний, ковыряясь в исходниках ядра, часто почесывая репу,
при всем при этом иногда произнося негромкие ругательства в адрес
программистов корпорации Oracle, разработчиков FreeBSD, Линуса Торвальдса,
Ларри Эллисона ну и само-собой Билла Гейтса (хотя он-то тут причем?), видя
в страшных снах как подросткового вида Демоны с вилами дерутся с Пингвинами
в красных чепчиках и ненадолго примиряясь, идут бить Окна по всей Силиконовой
долине, удалось выяснить, что таки да - ядро надо подрихтовать.

Первый патч исправляет ошибку в эмуляторе Linux в функции linux_times

Файл patch1


--- compat/linux/linux_misc.c.orig Fri Apr 1 01:17:42 2005
+++ compat/linux/linux_misc.c Wed Jun 21 11:14:05 2006
@@ -711,8 +711,9 @@ linux_times(struct thread *td, struct li
tms.tms_cutime = CONVTCK(td->td_proc->p_stats->p_cru.ru_utime);
tms.tms_cstime = CONVTCK(td->td_proc->p_stats->p_cru.ru_stime);

- if ((error = copyout(&tms, args->buf, sizeof(tms))))
- return error;
+ if (args->buf != NULL)
+ if ((error = copyout(&tms, args->buf, sizeof(tms))))
+ return error;

microuptime(&tv);
td->td_retval[0] = (int)CONVTCK(tv);




Второй патч для linprocfs. Не спрашивайте меня, почему нужно именно так,
определено это было опытным путем и путем подсматривания в SuSE Linux 9.2
(а как же оно у них работает-то?).

Файл patch2


--- compat/linprocfs/linprocfs.c.orig Fri Apr 1 01:27:16 2005
+++ compat/linprocfs/linprocfs.c Wed Jun 21 11:14:10 2006
@@ -515,7 +515,7 @@ linprocfs_doprocstat(PFS_FILL_ARGS)
sbuf_printf(sb, "%d", p->p_pid);
#define PS_ADD(name, fmt, arg) sbuf_printf(sb, " " fmt, arg)
PS_ADD("comm", "(%s)", p->p_comm);
- PS_ADD("statr", "%c", '0'); /* XXX */
+ PS_ADD("statr", "%c", 'S'); /* XXX */
PS_ADD("ppid", "%d", p->p_pptr ? p->p_pptr->p_pid : 0);
PS_ADD("pgrp", "%d", p->p_pgid);
PS_ADD("session", "%d", p->p_session->s_sid);
@@ -535,7 +535,7 @@ linprocfs_doprocstat(PFS_FILL_ARGS)
PS_ADD("priority", "%d", 0); /* XXX */
PS_ADD("timeout", "%u", 0); /* XXX */
PS_ADD("itrealvalue", "%u", 0); /* XXX */
- PS_ADD("starttime", "%d", 0); /* XXX */
+ PS_ADD("starttime", "%d", 1); /* XXX */
PS_ADD("vsize", "%ju", (uintmax_t)kp.ki_size);
PS_ADD("rss", "%ju", P2K((uintmax_t)kp.ki_rssize));
PS_ADD("rlim", "%u", 0); /* XXX */




Третий патч исправляет bug (а может быть и фичу) в коде pseudofs (нужен
для linprocfs). Дело в том, что если смонтировать linprocfs и выполнить
такую программку, то функция read прочитает не 4, как ее просили, а на
один меньше, то есть, как нетрудно подсчитать, 3 байта:

Файл test.c


#include <sys/types.h>
#include <sys/uio.h>
#include <unistd.h>
#include <fcntl.h>

main () {
int fd, count;
char buf[10];

fd = open("/compat/linux/proc/self/cmdline", O_RDONLY);
count = read(fd, buf, 4);
buf[4] = '';
printf("count = %d, buf = %sn", count, buf);
}




Не знаю, насколько корректна и в том ли месте кода внесена третья правка.
Это вопрос к настоящим kernel hackers.

Файл patch3


--- fs/pseudofs/pseudofs_vnops.c.orig Mon Sep 6 22:38:01 2004
+++ fs/pseudofs/pseudofs_vnops.c Wed Jun 21 11:14:14 2006
@@ -530,7 +530,7 @@ pfs_read(struct vop_read_args *va)
PRELE(proc);
PFS_RETURN (EIO);
}
- sb = sbuf_new(sb, NULL, buflen, 0);
+ sb = sbuf_new(sb, NULL, buflen+1, 0);
if (sb == NULL) {
if (proc != NULL)
PRELE(proc);




Правим наше ядро:


cp patch1 patch2 patch3 /usr/src/sys
patch < patch1
patch < patch2
patch < patch3




Ну и само-собой, как это всегда делалось для запуска Oracle не только на
FreeBSD, но и на самом Linux, добавляем в конфиг ядра следующее:


options COMPAT_LINUX # это как хотите, можете грузить модуль
options SEMMAP=128
options SEMMNI=128
options SEMMNS=32000
options SEMOPM=100
options SEMMSL=250
options SHMMAXPGS=262144
options SHMMNI=4096
options SHMSEG=4096
options MAXDSIZ="(1024*1024*1024)" # насчет этого и того, что ниже, не уверен
options MAXSSIZ="(1024*1024*1024)" # нужно-ли особо?
options DFLDSIZ="(1024*1024*1024)"




Собираем, устанавливаем, перегружаемся... и идем дальше.


2. Устанавливаем правильный linux_base

Хотя в руководстве по установке Oracle10g Express Edition и написано,
что версия glibc должна быть >=2.3.2, как-то наивно верить всему тому,
что пишут. Работать будет с версией >=2.3.3. Во всяком случае у меня не
заработало, при запуске бинарников что-то говорило о relocation error и
упоминало какие-то symbols GLIBC_2.3.3, или что-то в этом роде. Поэтому
вместо linux_base-8 нужно установить linux_base-fc4, к тому же он теперь
linux_base по умолчанию в FreeBSD. Если лень искать fc4, можно поставить
имеющийся в портах 5.4-RELEASE linux_base-suse-9.2


cd /usr/ports/emulators/linux_base-fc4
make
make install




Где-нибудь находим libaio-0.3.104-2.i386.rpm для FC4 и устанавливаем с
помощью rpm


rpm --root=/compat/linux --ignoreos --ignorearch --nodeps -ivh libaio-0.3.104-2.i386.rpm




Также необходимо смонтировать linux procfs


echo "linproc /compat/linux/proc linprocfs rw 0 0" >> /etc/fstab
mount /compat/linux/proc




3. Устанавливаем Oracle10g Express Edition

Берем с otn.oracle.com дистрибутив Oracle XE для Linux x86
(oracle-xe-univ-10.2.0.1-1.0.i386.rpm). Можете, конечно, стянуть еще и
дистрибутив под Win32, но все выше и ниже написанное к нему никак относиться
не будет.

Устанавливаем с помощью rpm:


rpm --root=/compat/linux --ignoreos --ignorearch --noscripts --nodeps -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm




Устанавливается он в /compat/linux/usr/lib/oracle, но работать, скорее всего,
не будет. Нужно перенести его в /usr/lib/oracle и никак по-другому. Собран он
с этим путем, в скриптах везде этот светлый путь прописан, так что приходится
соглашаться:


mv /compat/linux/usr/lib/oracle /usr/lib




Запускаем следующий скрипт, отвечаем на пару-тройку вопросов и идем курить
(кто не курит, можно чаю попить или кофе). Курить надо быстро, чаем чуть ли
не захлебываться, так как уже через пару минут у вас на FreeBSD будет стоять
и работать Oracle10g Express Edition, который вы можете использовать каким
угодно образом, и при этом совершенно бесплатно, под любимой вами
операционной системой.

Файл install.sh


#!/bin/sh

if [ $(id -u) != "0" ]
then
echo "You must be root to run the configure script. Login as root and then run the
configure script."
exit 1
fi

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
ORACLE_OWNER=oracle
ORACLE_SID=XE
LSNR=$ORACLE_HOME/bin/lsnrctl
SQLPLUS=$ORACLE_HOME/bin/sqlplus
export ORACLE_HOME
export ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH

export LC_ALL=C

if `grep -q ^dba: /etc/group`
then
echo ""
else
pw groupadd dba
fi
id oracle > /dev/null 2>&1
status=$?
if test $status -eq 0
then
groups oracle | grep dba > /dev/null
status=$?
if test $status != 0
then
pw usermod -G dba oracle
fi
else
pw useradd oracle -g dba -G dba -d /usr/lib/oracle/xe -s /compat/linux/bin/bash
fi

chown -R oracle:dba /usr/lib/oracle/xe
/compat/linux/sbin/ldconfig >/dev/null
chown -R oracle:dba /usr/lib/oracle/xe

chmod 755 /compat/linux/etc/init.d/oracle-xe

sgamin=146800640
pgamin=16777216
sgamax=805306368
pgamax=268435456
TM=`cat /compat/linux/proc/meminfo | grep '^MemTotal' | awk '{print $2}'`
TM=`echo $TM / 1024 | bc`
TM=`echo 0.40 * $TM | bc | sed "s/..*//"`
TMSP=`echo $TM-40 | bc`
sga_target=`echo 0.75 * $TMSP | bc`
pga_target=`echo 0.25 * $TMSP | bc `
sga=`echo $sga_target * 1048576 | bc | sed "s/..*//"`
pga=`echo $pga_target * 1048576 | bc | sed "s/..*//"`
check=`echo $sga < $sgamin | bc`
if test $check != 0
then
sga=$sgamin
fi

check=`echo $pga < $pgamin | bc`
if test $check != 0
then
pga=$pgamin
fi

if test `echo $sga + $pga > $sgamax + $pgamax | bc`
then
check=`echo $sga > $sgamax | bc`
if test $check != 0
then
sga=$sgamax
fi

check=`echo $pga > $pgamax | bc`
if test $check != 0
then
pga=$pgamax
fi
fi

sed -i "" "s/%sga_target%/$sga/g" $ORACLE_HOME/config/scripts/init.ora
sed -i "" "s/%pga_aggregate_target%/$pga/g" $ORACLE_HOME/config/scripts/init.ora
sed -i "" "s/%sga_target%/$sga/g" $ORACLE_HOME/config/scripts/initXETemp.ora
sed -i "" "s/%pga_aggregate_target%/$pga/g" $ORACLE_HOME/config/scripts/initXETemp.ora

chmod 6751 $ORACLE_HOME/bin/oracle
chmod 755 $ORACLE_HOME/bin/sqlplus

rm -fr $ORACLE_HOME/rdbms/admin/patch

if [ ! -d /var/tmp/.oracle ]
then
mkdir -p /var/tmp/.oracle;
fi

chmod 01777 /var/tmp/.oracle
chown root /var/tmp/.oracle

if [ ! -d /tmp/.oracle ]
then
mkdir -p /tmp/.oracle;
fi

chmod 01777 /tmp/.oracle
chown root /tmp/.oracle

# configure_perform()
#
# Instantantiate listener.ora,tnsnames.ora,and create the database,
# sets the password,start the listener,and adds database to inittab
# if necessary

configure_perform()
{
sed -i "" "s/%hostname%/`hostname`/g" $ORACLE_HOME/network/admin/listener.ora
sed -i "" "s/%port%/$LISTENER_PORT/g" $ORACLE_HOME/network/admin/listener.ora
chown oracle:dba $ORACLE_HOME/network/admin/listener.ora

sed -i "" "s/%hostname%/`hostname`/g" $ORACLE_HOME/network/admin/tnsnames.ora
sed -i "" "s/%port%/$LISTENER_PORT/g" $ORACLE_HOME/network/admin/tnsnames.ora
chown oracle:dba $ORACLE_HOME/network/admin/tnsnames.ora

sed -i "" "s/%httpport%/$HTTP_PORT/g" $ORACLE_HOME/config/scripts/postDBCreation.sql
chown oracle:dba $ORACLE_HOME/config/scripts/postDBCreation.sql

if test $LISTENER_PORT -ne 1521
then
if [ -f /tmp/local_listener ]
then
cat >/tmp/local_listener$$ <<EOF
###########################################
# Registration of instance with listsner
###########################################
local_listener="(ADDRESS = (PROTOCOL=TCP) (HOST=%hostname%) (PORT=%port%))"
EOF
chmod 664 /tmp/local_listener$$
cat /tmp/local_listener$$ >> $ORACLE_HOME/config/scripts/init.ora
else
cat >/tmp/local_listener <<EOF
###########################################
# Registration of instance with listsner
###########################################
local_listener="(ADDRESS = (PROTOCOL=TCP) (HOST=%hostname%) (PORT=%port%))"
EOF
chmod 664 /tmp/local_listener
cat /tmp/local_listener >> $ORACLE_HOME/config/scripts/init.ora
fi

if test -f /tmp/local_listener
then
rm -fr /tmp/local_listener
elif test -f /tmp/local_listener$$
then
rm -fr /tmp/local_listener$$
fi

sed -i "" "s/%port%/$LISTENER_PORT/g" $ORACLE_HOME/config/scripts/init.ora
sed -i "" "s/%hostname%/`hostname`/g" $ORACLE_HOME/config/scripts/init.ora
chown oracle:dba $ORACLE_HOME/config/scripts/init.ora

fi

sed -i "" "s/%httpport%/$HTTP_PORT/g" $ORACLE_HOME/config/scripts/DatabaseHomePage.sh
chown oracle:dba $ORACLE_HOME/config/scripts/DatabaseHomePage.sh

sed -i "" "s/%httpport%/$HTTP_PORT/g" $ORACLE_HOME/config/scripts/readonlinehelp.sh
chown oracle:dba $ORACLE_HOME/config/scripts/readonlinehelp.sh

if [ -f $ORACLE_HOME/bin/tnslsnr ]
then
echo -n "Starting Oracle Net Listener..."
su -s $ORACLE_OWNER -c "$LSNR start" > /dev/null 2>&1
echo "Done"
fi

echo -n "Configuring Database..."
su -s $ORACLE_OWNER -c "$ORACLE_HOME/config/scripts/XE.sh" > /dev/null 2>&1
err=`grep "ORA-44410" $ORACLE_HOME/config/log/*.log`
if test "$err" != ""
then
echo "Database Configuration failed. Look into $ORACLE_HOME/config/log for details"
exit 1
fi
echo alter user sys identified by "$ORACLE_PASSWORD"; | su -s $ORACLE_OWNER -c "$SQLPLUS -s / as sysdba" > /dev/null 2>&1
echo alter user system identified by "$ORACLE_PASSWORD"; | su -s $ORACLE_OWNER -c "$SQLPLUS -s / as sysdba" > /dev/null 2>&1
echo "Done"

chmod -R 640 /usr/lib/oracle/xe/oradata/XE
chmod 750 /usr/lib/oracle/xe/oradata/XE
# rm -fr $ORACLE_HOME/config/seeddb

if [ -f /etc/oratab ]
then
echo "XE:$ORACLE_HOME:N" >> /etc/oratab
else
echo "XE:$ORACLE_HOME:N" >> /etc/oratab
chown oracle:dba /etc/oratab
chmod 644 /etc/oratab
fi

echo -n "Starting Oracle Database 10g Express Edition Instance..."
pmon=`ps -U $ORACLE_OWNER | egrep pmon_$ORACLE_SID'>' | grep -v grep`

if [ "$pmon" = "" ];
then
su -s $ORACLE_OWNER -c "$SQLPLUS -s /nolog @$ORACLE_HOME/config/scripts/startdb.sql" > /dev/null 2>&1
fi
echo "Done"

echo "Installation Completed Successfully."

return 0
}

configure_ask()
{
cat <<EOF

Oracle Database 10g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express
Edition. The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts. Press <Enter> to accept the defaults.
Ctrl-C will abort.

EOF

#get the http port value
while :
do
while [ 1 ]
do
echo -n Specify the HTTP port that will be used for Oracle Application Express [8080]:
read LINE
if [ -z $LINE ]
then
LINE=8080
fi
port=`netstat -an -p tcp | grep .$LINE | awk '{print $4}' | cut -d'.' -f2`
if [ "$port" = "$LINE" ]
then
echo Port $port appears to be in use by another application.
Please specify a different port.
else
break;
fi
done

case "$LINE" in
"")
break
;;
*[^0-9]*)
echo "Invalid http port: $LINE"
;;
*)
HTTP_PORT=$LINE
break
;;
esac
done

#get the listener port value
while :
do
echo
while [ 1 ]
do
echo -n Specify a port that will be used for the database listener [1521]:
read LINE
if [ -z $LINE ]
then
LINE=1521
fi
echo
port=`netstat -an -p tcp | grep .$LINE | awk '{print $4}' | cut -d'.' -f2`
if [ "$port" = "$LINE" ]
then
echo Port $port appears to be in use by another application.
Please specify a different port.
else
break;
fi
done

case "$LINE" in
"")
break
;;
*[^0-9]*)
echo "Invalid port: $LINE" >&2
;;
*)
if [ "$HTTP_PORT" != "$LINE" ]
then
LISTENER_PORT=$LINE
break
else
echo Database listener cannot be configured on the same port as Oracle Application Express.
fi
;;
esac
done

#get the database password
while :
do
echo -n "Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:"
while [ 1 ]
do
stty -echo > /dev/null 2>&1
temp=`echo $IFS`
export IFS="n"
while [ 1 ]
do
read LINE
while [ -z "$LINE" ]
do
echo
echo -n "Password can't be null. Enter password:"
read LINE
done

# result=`expr index "$LINE" ['"]`
# if [ $result != 0 ];
# then
# echo
# echo -n "The password you entered contains invalid characters. Enter password:"
# else
break
# fi
done
echo
echo -n "Confirm the password:"
read LINE1
echo
if [ "$LINE" != "$LINE1" ];
then
echo
echo -n "Passwords do not match. Enter the password:"
else
break
fi
done
stty echo > /dev/null 2>&1
ORACLE_PASSWORD=$LINE
export IFS=$temp
break;
done
}

configure_ask
configure_perform




После того, как мы насладимся величием только-что совершенного, можно
подумать над тем, как мы будем все это дело стартовать и при необходимости
тушить:

Файл /usr/local/etc/rc.d/oraclexe.sh


#!/bin/sh

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
ORACLE_OWNER=oracle
ORACLE_SID=XE
SQLPLUS=$ORACLE_HOME/bin/sqlplus
LSNR=$ORACLE_HOME/bin/lsnrctl
export ORACLE_HOME
export ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

case "$1" in
start)
echo -n "Starting Oracle Database 10g Express Edition Instance..."
pmon=`ps -U $ORACLE_OWNER | egrep pmon_$ORACLE_SID'>' | grep -v grep`
if [ "$pmon" = "" ];
then
su -s $ORACLE_OWNER -c "$LSNR start" > /dev/null 2>&1
su -s $ORACLE_OWNER -c "$SQLPLUS -s /nolog @$ORACLE_HOME/config/scripts/startdb.sql" > /dev/null 2>&1
fi
echo "Done"
;;
stop)
echo -n "Stopping Oracle Database 10g Express Edition Instance..."
pmon=`ps -U $ORACLE_OWNER | egrep pmon_$ORACLE_SID'>' | grep -v grep`
if [ "$pmon" != "" ];
then
su -s $ORACLE_OWNER -c "$SQLPLUS -s /nolog @$ORACLE_HOME/config/scripts/stopdb.sql" > /dev/null 2>&1
fi
echo "Done"
;;
*)
echo "Usage: `basename $0` {start|stop}"
;;
esac

exit 0




4. Упоминавшиеся люди и вещи
----------------------------

Kernel hackers - люди, пишущие и копающиеся в ядрах операционных систем.
Представляются мне бородатыми дядьками в очках с толстыми линзами, колдующими
у мониторов над тем, чтобы ядро вашей любимой операционной системы было круче
чем ядро операционной системы вашего соседа. Иногда допускают ошибки, и тогда
ваша любимая операционная система становится объектом атак hackers.

Hackers - в принципе почти то же самое, что и kernel hackers, только цели
разные.

Демон-подросток с вилами - эмблема FreeBSD.

Пингвин - эмблема Linux.

Окна - перевод на русский язык английского слова "windows", а также названия
всем известной операционной системы, почти всеми презираемой и почти всеми
же используемой в повседневной жизни.

Линус Торвальдс - человек, которому при жизни нужно памятник поставить (ну
например такой: сидит он в кресле и гладит по голове стоящего рядом на полу
пингвина). Уму непостижимо: как один человек смог написать такую штуку как
Linux. Это-же очень и очень...

Билл Гейтс - невысокого роста, мягкий человек в очках, потому, наверное, и
назвавший свою корпорацию "Microsoft", производящую Окна. Сколотил огромное
состояние на их продаже.

Ларри Эллисон - глава корпорации "Oracle". С недавнего времени занялся
благотворительностью и раздает забесплатно всем страждущим свою передовую
RDBMS, хотя и в несколько урезанном и ограниченном виде. Может посоперничать
с Биллом Гейтсом в размере кошелька.


Эпилог

Ну когда-же разработчики FreeBSD наконец задумаются: как же, наконец, сделать
так, чтобы эмулятор Linux заработал лучше самого Linux? Хотя, конечно, я
понимаю, что это не есть их приоритет... И когда-же, наконец, программисты
Oracle перестанут издеваться над пользователями FreeBSD, а то установка каждой
новой версии Oracle RDBMS превращается в черт знает что...

С наилучшими пожеланиями
Дмитрий Ганенко <dima@apk-inform.com.>
1345 Прочтений •  [Установка Oracle 10g Express Edition на FreeBSD 5.4-RELEASE (oracle freebsd install)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Установка Oracle 10g Express Editio... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка