mnshome.info
marzenia się spełniają



  Centos 6.7 + PHP 5.6 + OCI8 + Oracle Client + Apache22
27.04.2016 19:20

Краткая статья про установку системы, с учетом бага OCI8

Базовая система: Centos 6.7

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
yum update -y

/etc/yum.repos.d/remi.repo
Поставить "enabled=1" в секциях [remi-php56] и [remi-php56-debuginfo]

yum install mc
yum install subversion

php -v
yum list
yum list | grep php

yum install php
yum install php-devel
yum install php-pear
yum install php-mysql
yum install php-mbstring
yum install php-pecl-memcache
yum install php-intl

yum -y install memcached
chkconfig memcached on
service memcached start
chkconfig httpd on
service httpd restart

Делаем все как в посте http://www.mnshome.info/?id=336

yum install gcc
yum install libaio

rpm -i oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
rpm -i oracle-instantclient11.2-devel-11.2.0.2.0.x86_64.rpm
rpm -i oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm

reboot

# Установка OCI8

/usr/include/php/main/php_config.h
Коментируем строку:
/* #define HAVE_OCI8_DTRACE 1 */

pecl download oci8-2.0.8
phpize
./configure --disable-dtrace --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib/
make
make install

/etc/php.d/20-oci8.ini
Вставляем строку:
extension=oci8.so

service httpd restart

  Табличка сессий Oracle
17.05.2013 17:21

select SID, USERNAME, STATUS, OSUSER, MACHINE, TERMINAL, PROGRAM, MODULE, LOGON_TIME from v$session where username like '%WEB%'

  Oracle client на UBUNTU
28.06.2012 12:54

Устанавливаем по статье автора, но с небольшими замечаниями по части переменных окружения

1. Устанавливаем зависимости: libaio1. Необходим для Oracle 11g, для 10g вроде не нужен, но я не вижу большого смысла устанавливать 10g клиента, 11-й замечательно работает и с 10-ым сервером.

apt-get install libaio1

2. Устанавливаем средство конвертации пакетов alien

apt-get install alien

3. Скачиваем с сайта Oracle: www.oracle.com/technetwork/database/features/instant-client/index.html необходимые пакеты в rpm-формате для вашей архитектуры. После открытия страницы, найдите ссылку "See Instant Client downloads for all platforms", пройдя по которой, выберите нужную архитектуру "Instant Client for Linux x86" или "Instant Client for Linux x86-64". Я скачал basic, devel и sqlplus.

4. Переделываем rpm пакеты в deb с помощью alien:

alien oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
alien oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm
alien oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm

5. Устанавливаем полученные пакеты:
$ sudo dpkg -i oracle-instantclient11.1-basic_11.1.0.7.0-2_i386.deb oracle-instantclient11.1-devel_11.1.0.7.0-2_i386.deb oracle-instantclient11.1-sqlplus_11.1.0.7.0-2_i386.deb

6. Устанавливаем переменные окружения как у меня в посте или для 64-х битной реализации 

  Прибавление месяцев к дате
20.05.2012 19:11

select add_months(to_date('31.10.2011','dd.mm.yyyy'),18) from dual

  CLOB / BLOB patch
24.01.2012 15:18

Читаем ссылку на описание 

После этого смотрим пример и юзаем:

use DBD::Oracle qw(:ora_types);
...
my $dbh = $::ora->connect();
$dbh->{LongReadLen} = 5*1024*1024; #5 meg
$sql = "...";
...
$sth->bind_param_inout(":o_result", \$report, 0, {ora_type => ORA_CLOB});
$sth->execute();

 

  Oracle client для Windows 7 (32)
02.01.2012 16:55

1. Ставим с официального сайта-производителя Oracle пару программ:

http://www.oracle.com/technetwork/topics/winsoft-085727.html

Instant Client Downloads for Microsoft Windows (32-bit)

-- Instant Client Package - Basic: All files required to run OCI, OCCI, and JDBC-OCI applications
-- Instant Client Package - SQL*Plus: Additional libraries and executable for running SQL*Plus with Instant Client

Разархивируем содержимое вложенной папки instantclient_11_2 в каталог c:\oracle\

2. Устанавливаем переменные окружения

правой кнопкой мыши на "Компьютер" -> меню "свойства" -> "Дополнительные параметры системы" -> кнопка "Переменные среды..."

Там в секции системыех переменных добавляем переменные:

ORACLE_HOME = C:\oracle
LD_LIBRARY_PATH = C:\oracle
TNS_ADMIN = C:\oracle
NLS_LANG = AMERICAN_AMERICA.CL8MSWIN1251

а в переменную PATH дописываем взад:

;C:\oracle

3. В файл c:\oracle\tnsnames.ora вносим данные для TNS (см. резервные копии этого файла)

4. Открываем консоль и запускаем sqlplus:

sqlplus web@PROD

Профит!!!

  centos + php + oracle_client + apache
26.12.2011 13:52

yum install php-devel
yum install php-pear
pecl install oci8
echo extension=oci8.so > /etc/php.d/oci8.ini
echo extension=oci8.so > /etc/php.d/oci.ini
service httpd restart

PS: 

Если возникают ошибки ненахождением каталога инклуд oracle cleent oci.h и других, то собираем ручками:

pecl download oci8

извлекаем tar.gz и переходим в папку

phpize
configure

правим Makefile и вставляем строку -I/usr/include/oracle/11.2/client64:

INCLUDES = -I/usr/include/oracle/11.2/client64 -I/usr/include/php ...

make
make install

PPS:

Если на 64-х битной системе не ставится то, возможно, проблема с установкой oci8. Ставить нужно с предварительным конфигурированием:

./configure --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib/

 

  Запрос данных по номеру
06.12.2011 21:01

select * from pp.sql_pp_extension ext, pp.pn_abonent pn
where 1=1
and ext.pptln_number=pn.pnabn_phone(+)
and ext.ppcnt_id in (select ppcnt_id from pp.sql_pp_extension where 1 = 1
and ppext_finish_date is null
and pptln_number='499xxxyyzz')

  Установка полноценного проекта dealers2 на centos 64-bits
16.11.2011 13:27

Внимание! Все логины и пароли вымышленные!

1. Ставим cvs

yum install cvs

2. Копируем файлы rpm клиента oracle в домик для установки

scp user@host:~/oracle64/*.rpm ~/

3. Ставим все, gcc и libaio

rpm -i ~/oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
rpm -i ~/oracle-instantclient11.2-devel-11.2.0.2.0.x86_64.rpm
rpm -i ~/oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm

yum install gcc
yum install libaio

4. Правим файл /etc/oracle/tnsnames.ora

PROD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.160)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = PROD)
)
)

PRODT =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.205)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PRODT)
)
)

5. В системны профайл /etc/profile вставляем экспортированные переменные

ORACLE_HOME=/usr/lib/oracle/11.2/client64
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
TNS_ADMIN=/etc/oracle/
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
#NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
PATH=$PATH:${ORACLE_HOME}/bin
export ORACLE_HOME LD_LIBRARY_PATH NLS_LANG TNS_ADMIN

6. В системную конфигурацию профиля апач (/etc/sysconfig/httpd) делаем так:

ORACLE_HOME=/usr/lib/oracle/11.2/client64
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
TNS_ADMIN=/etc/oracle/


7. В файл конфигурации apache (/etc/httpd/conf/httpd.conf) добавляем строку:

PassEnv ORACLE_HOME LD_LIBRARY_PATH NLS_LANG TNS_ADMIN

8. Ставим зависимые пакеты через yum

libwww (perl-libwww-perl)
XML::Simple (perl-XML-Simple)
Try::Tiny (perl-Try-Tiny)
Time::HiRes (perl-Time-HiRes)

9. Ставим или обновляем пакеты через CPAN (важна последовательность!!!)

ExtUtils::MakeMaker
Module::Runtime
ExtUtils::CBuilder
Math::Round
Test::Exception
DateTime::Locale
DateTime::TimeZone
DateTime
DateTime::Format::Mail
DBD::Oracle
DBI
File::Spec
FindBin
Getopt::Long
IPC::Open2
LWP::UserAgent
Pod::Usage
Sys::SigAction
TemplateM
Text::SimpleTable
Time::HiRes
Try::Tiny
XML::Simple
YAML
Text::CSV
CGI::Session
MIME::Lite
Apache::AuthDBI

10. Берем свеженький файлик monitoring.pl

11. Тестируем мониторингом соединение с ORACLE (после сразу вводим SQL и жмем ^D):

./monitoring.pl --orasid=PROD --oralogin=ЛОГИН --orapassword=ПАРОЛЬ --oratimeout=10 --encode=windows-1251 oracle /stdin

12. Убедиться что не работает SELinux, командой setup - отключить его в разделе файрволла

Такая ситуация может быть при ошибке вида:

install_driver(Oracle) failed: Can't load
'/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so'
for module DBD::Oracle: libnnz11.so: cannot enable executable stack as shared object
requires: Permission denied at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm
line 230, line 1. at (eval 33) line 3 Compilation failed in require at (eval 33) line 3,
line 1. Perhaps a required shared library or dll isn't installed where expected
at /var/www/dealers/mon/monitoring.pl line 414

а также при любых других странностях поведения apache, например ненормальной работе web-проектов в папке /home/username/*

13. Создаем папки проектов

/var/www/activation
/var/www/dealers

14. Извлекаем проект из CVS

cd /var/www/activation
cvs -d:ext:minus@cvs.allo:/data/cvs/www co -d /var/www/activation dealers2

15. Создаем файл /var/www/activation/.htaccess


AuthName "activation.allo authorization and authentication via PRODT"
AuthType Basic
PerlAuthenHandler Apache::AuthDBI::authen
PerlAuthzHandler Apache::AuthDBI::authz

PerlSetVar Auth_DBI_data_source dbi:Oracle:PRODT
PerlSetVar Auth_DBI_username user
PerlSetVar Auth_DBI_password password

PerlSetVar Auth_DBI_pwd_table '(SELECT s.login login, LOWER(u.password) password FROM tablename) vv'
PerlSetVar Auth_DBI_uid_field vv.login
PerlSetVar Auth_DBI_pwd_field LOWER(vv.password)
PerlSetVar Auth_DBI_encrypted on
PerlSetVar Auth_DBI_encryption_method /sha1hex/

require valid-user


15. Линкуем аналог проекта без авторизации в папку /var/www/dealers

cd /var/www/dealers
ln -s /var/www/activation/css ./css
ln -s /var/www/activation/img ./img
ln -s /var/www/activation/inc ./inc
ln -s /var/www/activation/js ./js
ln -s /var/www/activation/shtml ./shtml
ln -s /var/www/activation/config.yml ./config.yml
ln -s /var/www/activation/favicon.gif ./favicon.gif
ln -s /var/www/activation/index.cgi ./index.cgi
mkdir -m 777 log
mkdir -m 777 cache
cp /var/www/activation/.htaccess ./

16. Для работы с mod_perl корректируем файл /etc/httpd/conf.d/perl.conf

LoadModule perl_module modules/mod_perl.so

SetHandler perl-script
PerlResponseHandler Apache2::Status

PerlRequire "/etc/httpd/conf.d/mod_perl-startup.pl"
PerlModule Apache::AuthDBI

17. Создаем /etc/httpd/conf.d/mod_perl-startup.pl

#!/usr/bin/perl -w
# Taken from http://perl.apache.org/docs/2.0/user/handlers/server.html#Startup_File
if ( ! $ENV{MOD_PERL}) { die "GATEWAY_INTERFACE not Perl!"; }

use ModPerl::Util (); #for CORE::GLOBAL::exit

use Apache2::RequestRec ();
use Apache2::RequestIO ();
use Apache2::RequestUtil ();

use Apache2::ServerRec ();
use Apache2::ServerUtil ();
use Apache2::Connection ();
use Apache2::Log ();

use APR::Table ();

use ModPerl::Registry ();

use Apache2::Const -compile => ':common';
use APR::Const -compile => ':common';

use Apache2::Status;
use Apache::DBI;
1;

18. Для работы с activation.allo создаем /etc/httpd/conf.d/activation.allo.conf


ServerName activation.allo
ServerAlias activation-test.allo
ServerAlias activation-dev.allo

ServerAdmin web@countrycom.ru

ErrorLog logs/activation.allo-error_log
CustomLog logs/activation.allo-access_log combined

# Directory section
DocumentRoot /var/www/activation

Options All
AllowOverride All
Order allow,deny
Allow from all


ErrorDocument 400 /shtml/error/HTTP_400.shtml
ErrorDocument 401 /shtml/error/HTTP_401.shtml
ErrorDocument 403 /shtml/error/HTTP_403.shtml
ErrorDocument 404 /shtml/error/HTTP_404.shtml
ErrorDocument 408 /shtml/error/HTTP_408.shtml
ErrorDocument 500 /shtml/error/HTTP_500.shtml
ErrorDocument 502 /shtml/error/HTTP_502.shtml
ErrorDocument 503 /shtml/error/HTTP_503.shtml

AddDefaultCharset Windows-1251


19. Для работы с dealers.allo создаем /etc/httpd/conf.d/dealers.allo.conf


ServerName dealers.allo
ServerAlias dealers1.allo
ServerAlias dealers2.allo

ServerAdmin web@countrycom.ru

ErrorLog logs/dealers.allo-error_log
CustomLog logs/dealers.allo-access_log combined

# Directory section
DocumentRoot /var/www/dealers

Options All
AllowOverride All
Order allow,deny
Allow from all


ErrorDocument 400 /shtml/error/HTTP_400.shtml
ErrorDocument 401 /shtml/error/HTTP_401.shtml
ErrorDocument 403 /shtml/error/HTTP_403.shtml
ErrorDocument 404 /shtml/error/HTTP_404.shtml
ErrorDocument 408 /shtml/error/HTTP_408.shtml
ErrorDocument 500 /shtml/error/HTTP_500.shtml
ErrorDocument 502 /shtml/error/HTTP_502.shtml
ErrorDocument 503 /shtml/error/HTTP_503.shtml

AddDefaultCharset Windows-1251



20. Перезапускаемся, проверяемся, убеждаемся. Не забываем про права на папки линки и файлы.

  Новая версия Oracle дебаггера
04.10.2011 12:55

Новая версия Oracle дебаггера

Примеры
========

Пример вызова для базы PROD:

~/monitoring.pl -ld oracle --orasid=PROD --oralogin=XXXX --orapassword=XXXX --oratimeout=5 --orasql="select sysdate from dual"

Получение краткой справки по опциям:

~/monitoring.pl -h

Получение полной справки по утилите на русском:

~/monitoring.pl -m | perl -e "use encoding 'cp1251','STDOUT','utf8';while(<>){print}" | less

Как ставить себе
=================

1. Копируем куда угодно monitoring.pl
2. Запускаем, смотрим чтобы создалась папочка data

Как ставить модули
===================

cpan install XML::Simple Text::SimpleTable Math::Round DateTime::TimeZone DateTime::Locale Test::Exception DateTime DateTime::Format::Mail Sys::SigAction

Если не установлен DBD::Oracle:

# export ORACLE_HOME=/usr/lib/oracle/11.2/client64
cpan install DBD::Oracle

THUD XYZZY PLUGH FRED WALDO GARPLY
GRAULT CORGE QUUZ QUX BAZ BAR FOO

День памяти перевода часов на летнее время

0
0
0
days
:
0
0
hrs
:
0
0
min
:
0
0
sec

поиск по дате...
поиск по содержимому...
GGCzat 1.00
Tagi
Artefakty
28.12.2015 13:09:22
MDScore: Marionette.js
06.05.2016 13:07:16
Создать RESTfull обработчик как модуль
01.12.2017 22:56:38
SubProject: static-site
24.06.2017 17:34:47
MNSHOME: Переходить на Centos!
30.10.2017 13:05:21
Создать функционал 2 в 1: mod_perl библиотеку для получения отчета по бэкапам за последние сутки
19.08.2015 11:35:42
Переезд разработчиков на тестовый MySQL сервере
02.03.2016 18:20:19
По вёрстке - loftblog
02.06.2015 13:52:56
С Даши за ECB/VTB24
29.11.2017 18:05:16
Создать простые функции криптования AES256+Blowfish+base64
Tue, 16 Oct 2018 13:09:22 +0400

Linki zewnętrzne

#OPERA
Czytam
GRY
MnshomeInfo
Monitoring
Photo
Przyjaciele
Serwisy
fla-master

IP

Valid XHTML 1.0 Transitional

Valid CSS!


Copyright © 1998-2017 Serż Minus. All rights reserved


do góry