Инсталиране на Oracle Database 10g Express Edition на Debian x64

Здравейте,

Oracle не са направили пакет на техния Oracle 10g XE за amd64 архитектура и е необходимо да инсталираме i386 пакет. След справка в няколко форума и обобщение на няколко поста стигнах до работещ и проверен начин за инсталация на въпросното приложение върху Debian 5 Lenny:

  1. Инсталираме необходимите пакети:
    apt-get install ia32-libs libc6-i386 bc
  2. Изтегляме една допълнителна библиотека:
    wget -c http://oss.oracle.com/debian/dists/unstable/main/binary-i386/libaio_0.3.104-1_i386.deb
  3. Инсталираме библиотеката и Oracle XE
    dpkg -i –force-architecture libaio_0.3.104-1_i386.deb
    dpkg -i –force-architecture oracle-xe-universal_10.2.0.1-1.0_i386.deb (този файл може да бъде изтеглен само след регистрация на сайта на Oracle)
  4. Задължително след инсталацията трябва да конфигурираме базата:
    /etc/init.d/oracle-xe configure
    Отговаряме на няколко лесни въпроса – на кой порт ще работи уеб приложението за конфигурацията, на кой порт ще работи самия сървър и каква е паролата за потребителя SYSTEM. Аз лично ги оставих със стойностите по подразбиране, за което после съжалявах, тъй като уеб приложението искаше да работи на порт 8080 (localhost). В последствие реших, че на localhost не ми е удобно за конфигурация, затова трябваше да разреша достъп от всички интерфейси. Проблема с порт 8080 е, че много често се сканира от ботове и пълни лог файловете с много ненужни записи, затова може да си измислите някакъв ненормален порт като 18238 :)
  5. Добавяме следните редове в ~/.bashrc
    ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
    PATH=$PATH:$ORACLE_HOME/bin
    export ORACLE_HOME
    export ORACLE_SID=XE
    export PATH
  6. С това сме готови и имаме работещ сървър Oracle Database 10g Express Edition. Посетете адреса http://127.0.0.1:<port>/apex за да достъпите контролния панел.

Разбира се елементарни конфигурационни промени могат да се направят от конзолата или през уеб приложението. Например:

  • Ако сте се прецакали (като мен) да ползвате порт 8080 и искате да го смените може да изпълните следната заявка през конзолата:
    1. Логвате се на конзолата:
      sqlplus system@xe
      с паролата, която въведохте по време на конфигурацията
    2. SQL> begin
      2    dbms_xdb.sethttpport(’18230′);
      3    dbms_xdb.setftpport(’0′);
      4  end;
      5  /

      с което сте готови.
  • Ако искате да разрешите IP адрес за достъп до apex, различен от 127.0.0.1:
    1. Логвате се на конзолата:
      sqlplus system@xe
    2. EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

Засега това е всичко и това е първия ми сблъсък с Oracle, дано на някой да му е полезна информацията. Ще допълвам статията с нови неща, а и тя е един вид записка, която ще мога да ползвам при необходимост :)

Публикувано в Debian 5 Lenny, Linux | 1 коментар

Прехвърляне на вече инсталирана Debian Linux 5 Lenny система от PATA хард диск към SATA хард диск

Здравейте,

Имам няколко стари сървърчета, със сравнително големи хард дискове, но достатъчно нови, за да поддържата SATA твърди дискове. Тъй като съврърите са бюджетни, при закупуването им дори не е ставало дума за един твърд диск повече за изграждането на RAID1 масив.

В много от фирмите продаващи твърди дискове изчезват наличностите от старите ATA дискове, затова се принудих да закупя SATA твърд диск с обем (може би обем не е точното определение за големина на диска) 500GB.

Допуски:

  • root дяла е в /dev/hda1
  • новия диск е /dev/sda
  • използваме GRUB като boot loader

Предварителното планиране изглежда така:

  1. закачаме новия диск и зареждаме какъвто и да е линукс от компакт диск или USB флаш памет. Всичко върши работа, аз предпочитам system rescue cd. Може да използвате дори мрежовия инсталационен компакт диск на Debian 5 Lenny. Важно е да съобразите дали сте инсталирали i386 или amd64 порт, за да изберете същия порт, от който ще заредите ОС
  2. на новия диск създаваме същия брой дялове, както на стария диск. тук можем да променим големината на дяловете, ако случайно някой от тях не е достатъчно голям, аз лично използвам fdisk за разделянето
  3. Уточнявам процеса за /dev/hda1, който е root дяла. За другите дялове важи същата процедура. mount-ваме новия диск в произволна директория – например /mnt/sda1, копираме всичко от / в /mnt/sda1, няма нужда да се копира /dev, /proc, /sys, /tmp но тези директории трябва да се създадат празни.
  4. След като сме копирали всички данни от всички дялове, трябва да редактираме два файла /mnt/sda1/etc/fstab и /mnt/sda1/boot/grub/menu.lst. В първия файл заместваме всички hda с sda. Във втория файл променяме root=/dev/hda1 с root=/dev/sda1, това казва на boot loader-a, че трябва да търси ядрото на новия диск
  5. Трябва да инсталираме boot loader-a в MBR (Master Boot Record) на новия диск. Тази стъпка може да се изпълни по няколко начина в зависимост от това какъв диск използвате.  Ще разгледам по-универсалния вариант, при който не използваме инсталационния компакт диск на Дебиан. Трябва да пресъздадем proc и dev директориите в chroot средата, това става по следния начин:
    1. mount -o bind /proc /mnt/sda1/pro
    2. mount -o bind /dev /mnt/sda1/dev
    3. chroot /mnt/sda1
    4. Вече сме в chroot средата, остава единствено да инсталираме boot loader-a в MBR, това става с командата /usr/sbin/grub-install /dev/sda

Дотук добре, рестартираме сървъра, след като сме изключили стария диск за всеки случай. Всичко работеше перфектно докато не излезе нов пакет за ядрото на Дебиан, който обнових по стандартния начин apt-get update; apt-get upgrade.

Системата не зареди. Какво се случи?

При ъпдейт на ядрото се извиква един скрипт, наречен update-grub. Той не би трябвало да създаде проблем, но уви, не стана точно така. При стартиране на сървъра, той се опитва да намери ядрото на /dev/hda1, вместо на /dev/sda1. WFT? Нали работеше, сървъра е рестартиран няколко пъти и не е имало този проблем.

Оказа се, че трябва да се внимава и за коментираните редове, тъй като тази програма взема предвид и тях, за да генерира нови записи в /boot/grub/menu.lst. Реда:

# kopt=root=/dev/hda1 ro noapic

се използва от update-grub, така че този ред също трябва да се редактира, въпреки че е коментиран.

Публикувано в Debian 5 Lenny, Linux | 1 коментар