popovnv

Untitled

Sep 17th, 2018
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.00 KB | None | 0 0
  1. yum -y update
  2.  
  3. cat << __EOF__ >> /etc/yum.repos.d/postgrespro-enterprise-9.6.repo
  4. [postgrespro-enterprise-9.6]
  5. name=PostgresPro Packages for CentOS - \$basearch
  6. #baseurl=https://integrator-it:[email protected]/pgproee-9.6/centos/\$releasever/os/\$basearch/rpms
  7. baseurl=https://repoee.postgrespro.ru/pgproee-9.6/rhel/\$releasever/os/\$basearch/rpms
  8. enabled=1
  9. gpgcheck=0
  10. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-POSTGRESPRO
  11. __EOF__
  12.  
  13.  
  14. Установка необходимых пакетов
  15. yum -y install postgrespro-enterprise96-contrib postgrespro-enterprise96-server
  16.  
  17.  
  18. Инициализируем экземпляр в созданную:
  19. su - postgres -c "/usr/pgproee-9.6/bin/initdb -D /var/lib/pgproee/9.6/data --data-checksums --auth=trust"
  20.  
  21. Запускаем экземпляр:
  22. su - postgres -c "/usr/pgproee-9.6/bin/pg_ctl -D /var/lib/pgproee/9.6/data start"
  23.  
  24. su - postgres -c "/usr/pgproee-9.6/bin/psql -h /tmp -c \"select pgpro_version();\""
  25.  
  26.  
  27. mkdir -p /opt/oracle/product/
  28. cd /opt/oracle/product/
  29. wget https://www.dropbox.com/s/aleeegnc8tffeo8/client_1.tar.gz
  30. tar -xzvf client_1.tar.gz
  31. yum -y install libaio
  32.  
  33. cat << __EOF__ >> /var/lib/pgsql/.bash_profile
  34. export ORACLE_HOME=/opt/oracle/product/client_1
  35. export PATH=$ORACLE_HOME:/usr/pgproee-9.6/bin:$PATH
  36. export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
  37. __EOF__
  38.  
  39.  
  40. cat << __EOF__ >> /root/.bash_profile
  41. export ORACLE_HOME=/opt/oracle/product/client_1
  42. export PATH=$ORACLE_HOME:/usr/pgproee-9.6/bin:$PATH
  43. export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
  44. __EOF__
  45.  
  46. # export ORACLE_HOME=/opt/oracle/product/client_1
  47. # export PATH=$ORACLE_HOME:/usr/pgproee-9.6/bin:$PATH
  48. # export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
  49.  
  50. . /root/.bash_profile
  51.  
  52. # git clone https://github.com/laurenz/oracle_fdw
  53. https://www.dropbox.com/s/f2kkztxdpe1u0eo/oracle_fdw-ORACLE_FDW_2_0_0.zip
  54. unzip oracle_fdw-ORACLE_FDW_2_0_0.zip
  55. cd oracle_fdw-ORACLE_FDW_2_0_0
  56.  
  57. pg_config --pgxs
  58. -- /usr/pgproee-9.6/lib/pgxs/src/makefiles/pgxs.mk
  59.  
  60. make USE_PGXS=1
  61. make USE_PGXS=1 install
  62.  
  63.  
  64. su - postgres -c "/usr/pgproee-9.6/bin/psql -h /tmp -c \"CREATE EXTENSION oracle_fdw;\""
  65.  
  66. ostgres=# CREATE SERVER db11g FOREIGN DATA WRAPPER oracle_fdw OPTIONS (dbserver ‘//172.26.12.82:1522/db11g’);
  67. CREATE SERVER
  68. — Назначаем права на созданный сервер пользователю postgres (можно другим пользователям и ролям)
  69.  
  70. postgres=# GRANT USAGE ON FOREIGN SERVER db11g TO postgres;
  71. GRANT
  72. — Создаём USER MAPPING
  73.  
  74. postgres=# CREATE USER MAPPING FOR postgres SERVER db11g OPTIONS (user ‘unro2015’, password ‘unro2015’);
  75. CREATE USER MAPPING
  76. — Создаём в БД postgres схему которая будет соответствовать схеме в Oracle
  77.  
  78. postgres=# CREATE SCHEMA unro2015;
  79. CREATE SCHEMA
  80. — Импортируем описания всех объектов схемы в oracle в схему в postgres
  81.  
  82. postgres=# IMPORT FOREIGN SCHEMA «UNRO2015» from SERVER db11g INTO unro2015;
  83. IMPORT FOREIGN SCHEMA
  84. — Проверяем что работает
  85.  
  86. postgres=# select * from unro2015.classificator;
  87. id | name
  88. ———+————-
  89. 3637254 | Субъекты
  90. (1 row)
  91.  
  92.  
  93.  
  94.  
  95. Применим настройкм перезапустив экземпляр NODE1:
  96. # su - postgres -c "/usr/pgproee-9.6/bin/pg_ctl -D /var/lib/pgproee/9.6/data stop"
  97. # su - postgres -c "/usr/pgproee-9.6/bin/pg_ctl -D /var/lib/pgproee/9.6/data start"
  98.  
  99.  
  100. #####################
  101. # Troubleshooting #01
  102. #####################
  103.  
  104. postgres=# CREATE EXTENSION oracle_fdw;
  105. ERROR: could not load library "/usr/pgproee-9.6/lib/oracle_fdw.so": libclntsh.so.12.1: cannot open shared object file: No such file or directory
  106.  
  107. -bash-4.2$ ldd /usr/pgproee-9.6/lib/oracle_fdw.so
  108. linux-vdso.so.1 => (0x00007ffdd0386000)
  109. libclntsh.so.12.1 => /opt/oracle/product/client_1/libclntsh.so.12.1 (0x00007fe2f2246000)
  110. libc.so.6 => /lib64/libc.so.6 (0x00007fe2f1e79000)
  111. libmql1.so => /opt/oracle/product/client_1/libmql1.so (0x00007fe2f1c03000)
  112. libipc1.so => /opt/oracle/product/client_1/libipc1.so (0x00007fe2f1885000)
  113. libnnz12.so => /opt/oracle/product/client_1/libnnz12.so (0x00007fe2f117b000)
  114. libons.so => /opt/oracle/product/client_1/libons.so (0x00007fe2f0f36000)
  115. libdl.so.2 => /lib64/libdl.so.2 (0x00007fe2f0d32000)
  116. libm.so.6 => /lib64/libm.so.6 (0x00007fe2f0a30000)
  117. libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe2f0814000)
  118. libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fe2f05fa000)
  119. librt.so.1 => /lib64/librt.so.1 (0x00007fe2f03f2000)
  120. /lib64/ld-linux-x86-64.so.2 (0x00007fe2f5425000)
  121. libaio.so.1 => /lib64/libaio.so.1 (0x00007fe2f01f0000)
  122. libclntshcore.so.12.1 => /opt/oracle/product/client_1/libclntshcore.so.12.1 (0x00007fe2efc7e000)
  123.  
  124.  
  125. cat << __EOF__ >> /etc/ld.so.conf.d/ora_client.conf
  126. /opt/oracle/product/client_1
  127. __EOF__
  128.  
  129. ldconfig
Advertisement
Add Comment
Please, Sign In to add comment