PostGresql组件部署和Oracle访问PostGresql的dblink配置
2015-03-16 21:18
399 查看
以下内容包括2部分:
1. 配置PostGresql和相关组件
2. 配置Oracle的dblink到PostGresql
(1) 建立本地yum源
将RHEL 6.5 X86_64整个光盘内容拷贝到 /isoimage. 然后建立一个文件rhel6.5_local.repo在目录/etc/yum.repos.d下:
[bruce@iRobot Packages]$ cat /etc/yum.repos.d/rhel
rhel6.5_local.repo rhel-source.repo
[bruce@iRobot Packages]$ cat /etc/yum.repos.d/rhel6.5_local.repo
[rhel6.5_x86_64]
name=RHEL6.5_x86_64
baseurl=file:///isoimage
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
(2)安装gcc
[root@iRobot yum.repos.d]# yum install gcc
(3)安装PostGis
[root@iRobot postgresql]# pwd
/utxt/tarball/postgresql
[root@iRobot postgresql]# ls -al
总用量 38408
drwxr-xr-x. 2 bruce oinstall 4096 3月 13 16:56 .
drwxr-xr-x. 9 bruce oinstall 4096 3月 16 19:04 ..
-rw-r--r--. 1 bruce oinstall 2838 3月 13 16:56 change_log.txt
-rw-r--r--. 1 bruce oinstall 83020 3月 13 16:56 create_satm.sql
-rw-r--r--. 1 bruce oinstall 9495381 3月 13 16:56 gdal-1.9.2.tar.gz
-rw-r--r--. 1 bruce oinstall 1820064 3月 13 16:56 geos-3.3.8.tar.bz2
-rw-r--r--. 1 bruce oinstall 5581619 3月 13 16:56 postgis-2.0.3.tar.gz
-rw-r--r--. 1 bruce oinstall 21539369 3月 13 16:56 postgresql-9.2.4.tar.gz
-rw-r--r--. 1 bruce oinstall 785279 3月 13 16:56 proj-4.8.0.tar.gz
(a)安装postgresql
[root@iRobot postgresql]# tar xzvf postgresql-9.2.4.tar.gz
./configure
ls
gmake
gmake install
gmake world
gmake install
gmake install-docs
gmake install-world
(b)安装geos
tar xjvf geos-3.3.8.tar.bz2
cd geos-3.3.8
./configure
make
make install
(c)安装proj
[root@iRobot postgresql]# ls -al
总用量 38416
drwxr-xr-x. 4 bruce oinstall 4096 3月 16 21:08 .
drwxr-xr-x. 9 bruce oinstall 4096 3月 16 19:04 ..
-rw-r--r--. 1 bruce oinstall 2838 3月 13 16:56 change_log.txt
-rw-r--r--. 1 bruce oinstall 83020 3月 13 16:56 create_satm.sql
-rw-r--r--. 1 bruce oinstall 9495381 3月 13 16:56 gdal-1.9.2.tar.gz
drwxrwxr-x. 12 1000 1000 4096 3月 16 21:10 geos-3.3.8
-rw-r--r--. 1 bruce oinstall 1820064 3月 13 16:56 geos-3.3.8.tar.bz2
-rw-r--r--. 1 bruce oinstall 5581619 3月 13 16:56 postgis-2.0.3.tar.gz
drwxrwxrwx. 6 1107 1107 4096 3月 16 21:06 postgresql-9.2.4
-rw-r--r--. 1 bruce oinstall 21539369 3月 13 16:56 postgresql-9.2.4.tar.gz
-rw-r--r--. 1 bruce oinstall 785279 3月 13 16:56 proj-4.8.0.tar.gz
[root@iRobot postgresql]# tar xzvf proj-4.8.0.tar.gz
[root@iRobot postgresql]# ls
change_log.txt gdal-1.9.2.tar.gz geos-3.3.8.tar.bz2 postgresql-9.2.4 proj-4.8.0
create_satm.sql geos-3.3.8 postgis-2.0.3.tar.gz postgresql-9.2.4.tar.gz proj-4.8.0.tar.gz
[root@iRobot postgresql]# cd proj-4.8.0
[root@iRobot proj-4.8.0]#
[root@iRobot proj-4.8.0]# ./configure
[root@iRobot proj-4.8.0]# make
[root@iRobot proj-4.8.0]# make install
(d)安装gdal
[root@iRobot postgresql]# tar xzvf gdal-1.9.2.tar.gz
[root@iRobot postgresql]# ls
change_log.txt gdal-1.9.2.tar.gz postgis-2.0.3.tar.gz proj-4.8.0
create_satm.sql geos-3.3.8 postgresql-9.2.4 proj-4.8.0.tar.gz
gdal-1.9.2 geos-3.3.8.tar.bz2 postgresql-9.2.4.tar.gz
[root@iRobot postgresql]# cd gdal-1.9.2
[root@iRobot gdal-1.9.2]# ls
aclocal.m4 configure gdalnightlysvn.sh makefile.vc mkbindist.sh PROVENANCE.TXT
alg configure.in GNUmakefile makegdal71.sln mkgdaldist.sh submake.bat
apps data HOWTO-RELEASE makegdal71.vcproj mktestdist.sh svnkeywords.sh
autogen.sh doc html makegdal80.sln NEWS swig
bridge Doxyfile install-sh makegdal80.vcproj nmake.opt vb6
COMMITERS frmts LICENSE.TXT makegdal90.vcproj nmake-wince.opt VERSION
config.guess gcore ltmain.sh makegdal_gen.bat ogr wince
config.sub GDALmake.opt.in m4 man port
[root@iRobot gdal-1.9.2]#./configure
[root@iRobot gdal-1.9.2]# make
[root@iRobot gdal-1.9.2]# make install
(e)安装postgis
[root@iRobot postgresql]# pwd
/utxt/tarball/postgresql
[root@iRobot postgresql]# ls -al
总用量 38424
drwxr-xr-x. 6 bruce oinstall 4096 3月 16 21:19 .
drwxr-xr-x. 9 bruce oinstall 4096 3月 16 19:04 ..
-rw-r--r--. 1 bruce oinstall 2838 3月 13 16:56 change_log.txt
-rw-r--r--. 1 bruce oinstall 83020 3月 13 16:56 create_satm.sql
drwxr-xr-x. 18 10003 users 4096 3月 16 21:33 gdal-1.9.2
-rw-r--r--. 1 bruce oinstall 9495381 3月 13 16:56 gdal-1.9.2.tar.gz
drwxrwxr-x. 12 1000 1000 4096 3月 16 21:10 geos-3.3.8
-rw-r--r--. 1 bruce oinstall 1820064 3月 13 16:56 geos-3.3.8.tar.bz2
-rw-r--r--. 1 bruce oinstall 5581619 3月 13 16:56 postgis-2.0.3.tar.gz
drwxrwxrwx. 6 1107 1107 4096 3月 16 21:06 postgresql-9.2.4
-rw-r--r--. 1 bruce oinstall 21539369 3月 13 16:56 postgresql-9.2.4.tar.gz
drwxr-x---. 6 142957 5000 4096 3月 16 21:17 proj-4.8.0
-rw-r--r--. 1 bruce oinstall 785279 3月 13 16:56 proj-4.8.0.tar.gz
[root@iRobot postgresql]# tar xzvf postgis-2.0.3.tar.gz
[root@iRobot postgresql]# cd postgis-2.0.3
[root@iRobot postgis-2.0.3]# ls
aclocal.m4 config.sub extras LICENSE.TXT postgis STYLE
astyle.sh configure GNUmakefile.in loader postgis_config.h.in TODO
authors.svn configure.ac install-sh ltmain.sh postgis_svn_revision.h topology
autogen.sh COPYING java macros raster utils
ChangeLog CREDITS liblwgeom Makefile README.postgis Version.config
config.guess doc libpgcommon MIGRATION regress
config.rpath extensions libtool NEWS spatial_ref_sys.sql
[root@iRobot postgis-2.0.3]# ./configure --with-pgconfig=/usr/local/pgsql/bin/pg_config
[root@iRobot postgis-2.0.3]# make
[root@iRobot postgis-2.0.3]# make install
>>>>>>>>>>>>>>>>很关键的步骤:
[bruce@rhel64 postgis-2.0.3]$ cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
/usr/local/pgsql/lib
>>>>>>>>>>>>>>>>
(4)设置bruce用户环境变量
[root@iRobot postgis-2.0.3]# su - bruce
[bruce@iRobot ~]$ vi .bash_profile
[root@iRobot postgis-2.0.3]# su - bruce
[bruce@iRobot ~]$ vi .bash_profile
[bruce@iRobot ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=stac
#export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib:/usr/local/lib
export MANPATH=/usr/local/pgsql/man:$MANPATH
export PGDATA=/uloc/postgis/stac/data
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/usr/local/pgsql/bin
export PATH
[bruce@iRobot ~]$
[bruce@iRobot ~]$ source .bash_profile
(5)bruce用户,初始化PostGis:
[bruce@iRobot ~]$ initdb -D /uloc/postgis/stac/data
The files belonging to this database system will be owned by user "bruce".
This user must also own the server process.
The database cluster will be initialized with locale en_US.UTF-8.
The default database encoding has accordingly been set to UTF8.
The default text search configuration will be set to "english".
fixing permissions on existing directory /uloc/postgis/stac/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 32MB
creating configuration files ... ok
creating template1 database in /uloc/postgis/stac/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.
Success. You can now start the database server using:
postgres -D /uloc/postgis/stac/data
or
pg_ctl -D /uloc/postgis/stac/data -l logfile start
[bruce@iRobot ~]$
(6)启动PostGresql
输出日志到指定路径,追加方式:
[bruce@iRobot ~]$postgres -D /uloc/postgis/stac/data/ >> /uloc/postgis/stac/logfile 2>&1 &
(7)建立库
[bruce@iRobot ~]$ createdb stac
(8)配置访问数据库连接
[bruce@iRobot data]$ pwd
/uloc/postgis/stac/data
[bruce@iRobot data]$ vi pg_hba.conf
[bruce@iRobot data]$ tail -n 20 pg_hba.conf
# "host" records. In that case you will also need to make PostgreSQL listen
# on a non-local interface via the listen_addresses configuration parameter,
# or via the -i or -h command line switches.
#
# CAUTION: Configuring the system for local "trust" authentication allows
# any local user to connect as any PostgreSQL user, including the database
# superuser. If you do not trust all your local users, use another
# authentication method.
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
host all all 0.0.0.0/0 trust
[bruce@iRobot data]$ netstat -anp | grep 5432
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 33898/postgres
tcp 0 0 ::1:5432 :::* LISTEN 33898/postgres
unix 2 [ ACC ] STREAM LISTENING 2648842 33898/postgres /tmp/.s.PGSQL.5432
[bruce@iRobot ~]$ cat /uloc/postgis/stac/data/postgresql.conf | grep listen
listen_addresses = '*' # what IP address(es) to listen on;
#listen_addresses = 'iRobot' # what IP address(es) to listen on;
[bruce@iRobot ~]$
(9)重新启动postgis
[bruce@iRobot ~]$ ps -elf | grep post
4 S root 2909 1 0 80 0 - 20318 ep_pol Mar13 ? 00:00:01 /usr/libexec/postfix/master
4 S postfix 2916 2909 0 80 0 - 20380 ep_pol Mar13 ? 00:00:00 qmgr -l -t fifo -u
4 S postfix 33770 2909 0 80 0 - 20338 ep_pol 21:47 ? 00:00:00 pickup -l -t fifo -u
0 S bruce 33898 1 0 80 0 - 54088 poll_s 21:54 ? 00:00:00 postgres -D /uloc/postgis/stac/data/
1 S bruce 33899 33898 0 80 0 - 44841 poll_s 21:54 ? 00:00:00 postgres: logger process
1 S bruce 33901 33898 0 80 0 - 54118 poll_s 21:54 ? 00:00:00 postgres: writer process
1 S bruce 33902 33898 0 80 0 - 54088 poll_s 21:54 ? 00:00:00 postgres: wal writer process
1 S bruce 33903 33898 0 80 0 - 54122 poll_s 21:54 ? 00:00:00 postgres: autovacuum launcher process
1 S bruce 33904 33898 0 80 0 - 44874 poll_s 21:54 ? 00:00:00 postgres: stats collector process
0 S bruce 34120 34083 0 80 0 - 25814 pipe_w 22:03 pts/7 00:00:00 grep post
[bruce@iRobot ~]$ kill -9 33898
必须保证 data目录权限为0700.[???!!!!!!!!!!!!!!!!!!!!!!!!!]
[bruce@iRobot stac]$ ls -al
total 16
drwxrwxr-x. 3 bruce oinstall 4096 Mar 16 22:11 .
drwxrwxr-x. 3 bruce oinstall 4096 Mar 16 21:46 ..
drwxrwxr-x. 12 bruce oinstall 4096 Mar 16 22:01 data
-rw-r--r--. 1 bruce oinstall 120 Mar 16 22:06 logfile
[bruce@iRobot stac]$
[bruce@iRobot stac]$ chmod -R 0700 data
[bruce@iRobot stac]$ ls -al
total 16
drwxrwxr-x. 3 bruce oinstall 4096 Mar 16 22:11 .
drwxrwxr-x. 3 bruce oinstall 4096 Mar 16 21:46 ..
drwx------. 12 bruce oinstall 4096 Mar 16 22:01 data
-rw-r--r--. 1 bruce oinstall 120 Mar 16 22:06 logfile
[bruce@iRobot stac]$postgres -D /uloc/postgis/stac/data/ >> /uloc/postgis/stac/logfile 2>&1 &
[bruce@iRobot data]$ ps ux | grep postgres
bruce 34195 2.9 0.0 216348 5112 pts/7 S 22:17 0:00 postgres -D /uloc/postgis/stac/data/
bruce 34196 0.0 0.0 179360 1080 ? Ss 22:17 0:00 postgres: logger process
bruce 34198 0.0 0.0 216348 1352 ? Ss 22:17 0:00 postgres: writer process
bruce 34199 0.0 0.0 216348 1292 ? Ss 22:17 0:00 postgres: wal writer process
bruce 34200 0.0 0.0 216484 1404 ? Ss 22:17 0:00 postgres: autovacuum launcher process
bruce 34201 0.0 0.0 179356 1156 ? Ss 22:17 0:00 postgres: stats collector process
bruce 34203 0.0 0.0 103252 828 pts/7 S+ 22:17 0:00 grep postgres
[bruce@iRobot data]$ netstat -anp | grep 5432
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 34195/postgres
tcp 0 0 :::5432 :::* LISTEN 34195/postgres
unix 2 [ ACC ] STREAM LISTENING 2659087 34195/postgres /tmp/.s.PGSQL.5432
[bruce@iRobot data]$
[root@iRobot lib]# ldd /usr/local/pgsql/lib/postgis-2.0.so
linux-vdso.so.1 => (0x00007fffacf65000)
libgeos_c.so.1 => /usr/local/lib/libgeos_c.so.1 (0x00007f86ce954000)
libproj.so.0 => /usr/local/lib/libproj.so.0 (0x00007f86ce706000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f86ce3b4000)
libm.so.6 => /lib64/libm.so.6 (0x00007f86ce130000)
libc.so.6 => /lib64/libc.so.6 (0x00007f86cdd9b000)
libgeos-3.3.8.so => /usr/local/lib/libgeos-3.3.8.so (0x00007f86cda08000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f86cd702000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f86cd4eb000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f86cd2e7000)
libz.so.1 => /lib64/libz.so.1 (0x00007f86cd0d1000)
/lib64/ld-linux-x86-64.so.2 (0x000000372c800000)
(10) 创建Postgis业务用户
[bruce@iRobot data]$ ldd /usr/local/pgsql/lib/postgis-2.0.so
linux-vdso.so.1 => (0x00007fff5bfff000)
libgeos_c.so.1 => /usr/local/lib/libgeos_c.so.1 (0x00007f1859b3e000)
libproj.so.0 => /usr/local/lib/libproj.so.0 (0x00007f18598f0000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f1859590000)
libm.so.6 => /lib64/libm.so.6 (0x00007f185930c000)
libc.so.6 => /lib64/libc.so.6 (0x00007f1858f77000)
libgeos-3.3.8.so => /usr/local/lib/libgeos-3.3.8.so (0x00007f1858be4000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f18588de000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f18586c7000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f18584c3000)
libz.so.1 => /lib64/libz.so.1 (0x00007f18582ad000)
/lib64/ld-linux-x86-64.so.2 (0x000000372c800000)
[bruce@iRobot data]$ psql -d stac
psql (9.2.4)
Type "help" for help.
stac=# create extension postgis;
CREATE EXTENSION
stac=# create extension postgis_topology;
CREATE EXTENSION
stac=# create extension fuzzystrmatch;
CREATE EXTENSION
stac=# create extension postgis_tiger_geocoder;
CREATE EXTENSION
stac=#
stac=# create user stac with password 'ytzc_stac';
CREATE ROLE
stac=#
stac=#
stac=# grant bruce to stac;
GRANT ROLE
-------------------
[bruce@iRobot postgresql]$ ls -al
total 45100
drwxr-xr-x. 8 bruce oinstall 4096 Mar 16 23:58 .
drwxr-xr-x. 9 bruce oinstall 4096 Mar 16 19:04 ..
-rw-r--r--. 1 bruce oinstall 2838 Mar 13 16:56 change_log.txt
-rw-r--r--. 1 bruce oinstall 83020 Mar 13 16:56 create_satm.sql
drwxr-xr-x. 18 10003 users 4096 Mar 16 21:33 gdal-1.9.2
-rw-r--r--. 1 bruce oinstall 9495381 Mar 13 16:56 gdal-1.9.2.tar.gz
drwxrwxr-x. 12 1000 1000 4096 Mar 16 23:18 geos-3.3.8
-rw-r--r--. 1 bruce oinstall 1820064 Mar 13 16:56 geos-3.3.8.tar.bz2
drwxrwsr-x. 15 1000 dip 4096 Mar 16 23:38 postgis-2.0.3
-rw-r--r--. 1 bruce oinstall 5581619 Mar 13 16:56 postgis-2.0.3.tar.gz
drwxr-xr-x. 15 bruce oinstall 4096 Mar 16 23:59 postgis-2.1.5
-rw-r--r--. 1 bruce oinstall 6827999 Dec 19 10:16 postgis-2.1.5.tar.gz
drwxrwxrwx. 6 1107 1107 4096 Mar 16 21:06 postgresql-9.2.4
-rw-r--r--. 1 bruce oinstall 21539369 Mar 13 16:56 postgresql-9.2.4.tar.gz
drwxr-x---. 6 142957 5000 4096 Mar 16 23:19 proj-4.8.0
-rw-r--r--. 1 bruce oinstall 785279 Mar 13 16:56 proj-4.8.0.tar.gz
[bruce@iRobot postgresql]$ psql -d stac -U stac
psql (9.2.4)
Type "help" for help.
stac=> \q
[bruce@iRobot postgresql]$ pwd
/utxt/tarball/postgresql
[bruce@iRobot postgresql]$ psql -d stac -U stac -f /utxt/tarball/postgresql/create_satm.sql
=====================================
安装postgresql odbc 驱动
[root@stac_db psqlodbc-09.02.0100]# pwd
/utxt/tarball/psqlodbc-09.02.0100
[root@stac_db psqlodbc-09.02.0100]# ls
aclocal.m4 connection.h execute.c Makefile.am odbcapi30w.c pgtypes.c psqlodbc.vcproj statement.h
bind.c convert.c gsssvcs.c Makefile.in odbcapi.c pgtypes.h qresult.c test
bind.h convert.h gsssvcs.h md5.c odbcapiw.c pgxalib.cpp qresult.h tuple.c
catfunc.h descriptor.c info30.c md5.h odbc-drop.sql pgxalib.def readme.txt tuple.h
columninfo.c descriptor.h info.c misc.c odbc.sql psqlodbca.def resource.h version.h
columninfo.h dlg_specific.c inouealc.c misc.h options.c psqlodbc.c results.c win32.mak
config dlg_specific.h installer msdtc_enlist.cpp parse.c psqlodbc.def setup.c win64.mak
config.h.in dlg_wingui.c license.txt multibyte.c pgapi30.c psqlodbc.dsp socket.c win_setup.h
config.log docs loadlib.c multibyte.h pgapifunc.h psqlodbc.h socket.h win_unicode.c
configure drvconn.c loadlib.h mylog.c pgenlista.def psqlodbc.rc sspisvcs.c xalibname.c
configure.ac environ.c lobj.c odbcapi25w.c pgenlist.def psqlodbc.reg sspisvcs.h
connection.c environ.h lobj.h odbcapi30.c pgenlist.h psqlodbc.sln statement.c
[root@stac_db psqlodbc-09.02.0100]# yum install openssl-devel
[root@stac_db psqlodbc-09.02.0100]# yum install unixODBC
[root@stac_db psqlodbc-09.02.0100]#./configure --with-unixodbc --with-libpq=/usr/local/pgsql
[root@stac_db psqlodbc-09.02.0100]# make
[root@stac_db psqlodbc-09.02.0100]# make install
================================================================================
[ref] http://www.itpub.net/thread-1892551-1-1.html
http://blog.csdn.net/YANG_TIANCI/article/details/16925281
配置racle通过DbLink远程访问PostGresql:
odbc配置:
[bruce@db1 ~]$ cat /etc/odbc.ini
[test]
Description=test
Driver=PostgreSQL
Trace=Yes
TraceFile=sql.log
Database=xljt
Servername=192.168.1.254
UserName=stac
Password=ytzc_stac
Port=5432
Protocol=9.0
ReadOnly=No
RowVersioning=No
ShowSystemTables=No
ShowOidColumn=No
FakeOidIndex=No
ConnSettings=set client_encoding to gbk
odbc for postgresql的驱动:/usr/local/lib/psqlodbcw.so
[bruce@db1 ~]$ cat /etc/odbcinst.ini
# Included in the unixODBC package
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/local/lib/psqlodbcw.so
FileUsage = 1
HS配置(安装目录/u01/app/oracle/product/11.1.0/db_1/):
HS初始化参数文件:
[oracle@db1 admin]$ pwd
/u01/app/oracle/product/11.1.0/db_1/hs/admin
[oracle@db1 admin]$ cat inittest.ora
HS_FDS_CONNECT_INFO = test
HS_FDS_TRACE_LEVEL = off
HS_FDS_SHAREABLE_NAME = /usr/local/lib/psqlodbcw.so
HS_FDS_DEFAULT_SCHEMA_NAME = public
set ODBCINI=/etc/odbc.ini
============================================================
监听配置:
vi /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
添加:
(SID_DESC =
(PROGRAM = dg4odbc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = test)
(ENVS=LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/usr/local/lib:/etc/odbc.ini)
)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[oracle@stac_db admin]$ pwd
/u01/app/oracle/product/11.2.0/db_1/hs/admin
[oracle@stac_db admin]$ ls
extproc.ora initdg4odbc.ora listener.ora.sample tnsnames.ora.sample
[oracle@stac_db admin]$ vi inittest.ora
[oracle@stac_db admin]$ ls
extproc.ora initdg4odbc.ora inittest.ora listener.ora.sample tnsnames.ora.sample
[oracle@stac_db admin]$ cat inittest.ora
HS_FDS_CONNECT_INFO = test
HS_FDS_TRACE_LEVEL = off
HS_FDS_SHAREABLE_NAME = /usr/local/lib/psqlodbcw.so
HS_FDS_DEFAULT_SCHEMA_NAME = public
set ODBCINI=/etc/odbc.ini
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
============================================================
tns配置添加如下:
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = stac_db)(PORT = 1521))
(CONNECT_DATA =
(SID = test)
)
(HS = OK)
)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[oracle@stac_db admin]$ pwd
/u01/app/oracle/product/11.2.0/db_1/network/admin
[oracle@stac_db admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = stac)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = stac)
)
(SID_DESC =
(PROGRAM = dg4odbc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = test)
(ENVS=LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/usr/lib64:/etc/odbc.ini)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = stac_db)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
[oracle@stac_db admin]$
[oracle@stac_db admin]$ pwd
/u01/app/oracle/product/11.2.0/db_1/network/admin
[oracle@stac_db admin]$ ls
listener.ora listener.ora.bak samples shrept.lst sqlnet.ora tnsnames.ora
[oracle@stac_db admin]$ cat tnsnames.ora
stac =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = stac)
)
)
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))
(CONNECT_DATA =
(SID = test)
)
(HS = OK)
)
[oracle@stac_db admin]$
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
============================================================
验证db_link
[oracle@stac_db admin]$ sqlplus / as sysdba
SQL>CREATE PUBLIC DATABASE LINK test CONNECT TO "stac" IDENTIFIED BY "ytzc_stac" using 'test';
SQL>select * from "food"@"test";
1. 配置PostGresql和相关组件
2. 配置Oracle的dblink到PostGresql
(1) 建立本地yum源
将RHEL 6.5 X86_64整个光盘内容拷贝到 /isoimage. 然后建立一个文件rhel6.5_local.repo在目录/etc/yum.repos.d下:
[bruce@iRobot Packages]$ cat /etc/yum.repos.d/rhel
rhel6.5_local.repo rhel-source.repo
[bruce@iRobot Packages]$ cat /etc/yum.repos.d/rhel6.5_local.repo
[rhel6.5_x86_64]
name=RHEL6.5_x86_64
baseurl=file:///isoimage
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
(2)安装gcc
[root@iRobot yum.repos.d]# yum install gcc
(3)安装PostGis
[root@iRobot postgresql]# pwd
/utxt/tarball/postgresql
[root@iRobot postgresql]# ls -al
总用量 38408
drwxr-xr-x. 2 bruce oinstall 4096 3月 13 16:56 .
drwxr-xr-x. 9 bruce oinstall 4096 3月 16 19:04 ..
-rw-r--r--. 1 bruce oinstall 2838 3月 13 16:56 change_log.txt
-rw-r--r--. 1 bruce oinstall 83020 3月 13 16:56 create_satm.sql
-rw-r--r--. 1 bruce oinstall 9495381 3月 13 16:56 gdal-1.9.2.tar.gz
-rw-r--r--. 1 bruce oinstall 1820064 3月 13 16:56 geos-3.3.8.tar.bz2
-rw-r--r--. 1 bruce oinstall 5581619 3月 13 16:56 postgis-2.0.3.tar.gz
-rw-r--r--. 1 bruce oinstall 21539369 3月 13 16:56 postgresql-9.2.4.tar.gz
-rw-r--r--. 1 bruce oinstall 785279 3月 13 16:56 proj-4.8.0.tar.gz
(a)安装postgresql
[root@iRobot postgresql]# tar xzvf postgresql-9.2.4.tar.gz
./configure
ls
gmake
gmake install
gmake world
gmake install
gmake install-docs
gmake install-world
(b)安装geos
tar xjvf geos-3.3.8.tar.bz2
cd geos-3.3.8
./configure
make
make install
(c)安装proj
[root@iRobot postgresql]# ls -al
总用量 38416
drwxr-xr-x. 4 bruce oinstall 4096 3月 16 21:08 .
drwxr-xr-x. 9 bruce oinstall 4096 3月 16 19:04 ..
-rw-r--r--. 1 bruce oinstall 2838 3月 13 16:56 change_log.txt
-rw-r--r--. 1 bruce oinstall 83020 3月 13 16:56 create_satm.sql
-rw-r--r--. 1 bruce oinstall 9495381 3月 13 16:56 gdal-1.9.2.tar.gz
drwxrwxr-x. 12 1000 1000 4096 3月 16 21:10 geos-3.3.8
-rw-r--r--. 1 bruce oinstall 1820064 3月 13 16:56 geos-3.3.8.tar.bz2
-rw-r--r--. 1 bruce oinstall 5581619 3月 13 16:56 postgis-2.0.3.tar.gz
drwxrwxrwx. 6 1107 1107 4096 3月 16 21:06 postgresql-9.2.4
-rw-r--r--. 1 bruce oinstall 21539369 3月 13 16:56 postgresql-9.2.4.tar.gz
-rw-r--r--. 1 bruce oinstall 785279 3月 13 16:56 proj-4.8.0.tar.gz
[root@iRobot postgresql]# tar xzvf proj-4.8.0.tar.gz
[root@iRobot postgresql]# ls
change_log.txt gdal-1.9.2.tar.gz geos-3.3.8.tar.bz2 postgresql-9.2.4 proj-4.8.0
create_satm.sql geos-3.3.8 postgis-2.0.3.tar.gz postgresql-9.2.4.tar.gz proj-4.8.0.tar.gz
[root@iRobot postgresql]# cd proj-4.8.0
[root@iRobot proj-4.8.0]#
[root@iRobot proj-4.8.0]# ./configure
[root@iRobot proj-4.8.0]# make
[root@iRobot proj-4.8.0]# make install
(d)安装gdal
[root@iRobot postgresql]# tar xzvf gdal-1.9.2.tar.gz
[root@iRobot postgresql]# ls
change_log.txt gdal-1.9.2.tar.gz postgis-2.0.3.tar.gz proj-4.8.0
create_satm.sql geos-3.3.8 postgresql-9.2.4 proj-4.8.0.tar.gz
gdal-1.9.2 geos-3.3.8.tar.bz2 postgresql-9.2.4.tar.gz
[root@iRobot postgresql]# cd gdal-1.9.2
[root@iRobot gdal-1.9.2]# ls
aclocal.m4 configure gdalnightlysvn.sh makefile.vc mkbindist.sh PROVENANCE.TXT
alg configure.in GNUmakefile makegdal71.sln mkgdaldist.sh submake.bat
apps data HOWTO-RELEASE makegdal71.vcproj mktestdist.sh svnkeywords.sh
autogen.sh doc html makegdal80.sln NEWS swig
bridge Doxyfile install-sh makegdal80.vcproj nmake.opt vb6
COMMITERS frmts LICENSE.TXT makegdal90.vcproj nmake-wince.opt VERSION
config.guess gcore ltmain.sh makegdal_gen.bat ogr wince
config.sub GDALmake.opt.in m4 man port
[root@iRobot gdal-1.9.2]#./configure
[root@iRobot gdal-1.9.2]# make
[root@iRobot gdal-1.9.2]# make install
(e)安装postgis
[root@iRobot postgresql]# pwd
/utxt/tarball/postgresql
[root@iRobot postgresql]# ls -al
总用量 38424
drwxr-xr-x. 6 bruce oinstall 4096 3月 16 21:19 .
drwxr-xr-x. 9 bruce oinstall 4096 3月 16 19:04 ..
-rw-r--r--. 1 bruce oinstall 2838 3月 13 16:56 change_log.txt
-rw-r--r--. 1 bruce oinstall 83020 3月 13 16:56 create_satm.sql
drwxr-xr-x. 18 10003 users 4096 3月 16 21:33 gdal-1.9.2
-rw-r--r--. 1 bruce oinstall 9495381 3月 13 16:56 gdal-1.9.2.tar.gz
drwxrwxr-x. 12 1000 1000 4096 3月 16 21:10 geos-3.3.8
-rw-r--r--. 1 bruce oinstall 1820064 3月 13 16:56 geos-3.3.8.tar.bz2
-rw-r--r--. 1 bruce oinstall 5581619 3月 13 16:56 postgis-2.0.3.tar.gz
drwxrwxrwx. 6 1107 1107 4096 3月 16 21:06 postgresql-9.2.4
-rw-r--r--. 1 bruce oinstall 21539369 3月 13 16:56 postgresql-9.2.4.tar.gz
drwxr-x---. 6 142957 5000 4096 3月 16 21:17 proj-4.8.0
-rw-r--r--. 1 bruce oinstall 785279 3月 13 16:56 proj-4.8.0.tar.gz
[root@iRobot postgresql]# tar xzvf postgis-2.0.3.tar.gz
[root@iRobot postgresql]# cd postgis-2.0.3
[root@iRobot postgis-2.0.3]# ls
aclocal.m4 config.sub extras LICENSE.TXT postgis STYLE
astyle.sh configure GNUmakefile.in loader postgis_config.h.in TODO
authors.svn configure.ac install-sh ltmain.sh postgis_svn_revision.h topology
autogen.sh COPYING java macros raster utils
ChangeLog CREDITS liblwgeom Makefile README.postgis Version.config
config.guess doc libpgcommon MIGRATION regress
config.rpath extensions libtool NEWS spatial_ref_sys.sql
[root@iRobot postgis-2.0.3]# ./configure --with-pgconfig=/usr/local/pgsql/bin/pg_config
[root@iRobot postgis-2.0.3]# make
[root@iRobot postgis-2.0.3]# make install
>>>>>>>>>>>>>>>>很关键的步骤:
[bruce@rhel64 postgis-2.0.3]$ cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
/usr/local/pgsql/lib
>>>>>>>>>>>>>>>>
(4)设置bruce用户环境变量
[root@iRobot postgis-2.0.3]# su - bruce
[bruce@iRobot ~]$ vi .bash_profile
[root@iRobot postgis-2.0.3]# su - bruce
[bruce@iRobot ~]$ vi .bash_profile
[bruce@iRobot ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=stac
#export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib:/usr/local/lib
export MANPATH=/usr/local/pgsql/man:$MANPATH
export PGDATA=/uloc/postgis/stac/data
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/usr/local/pgsql/bin
export PATH
[bruce@iRobot ~]$
[bruce@iRobot ~]$ source .bash_profile
(5)bruce用户,初始化PostGis:
[bruce@iRobot ~]$ initdb -D /uloc/postgis/stac/data
The files belonging to this database system will be owned by user "bruce".
This user must also own the server process.
The database cluster will be initialized with locale en_US.UTF-8.
The default database encoding has accordingly been set to UTF8.
The default text search configuration will be set to "english".
fixing permissions on existing directory /uloc/postgis/stac/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 32MB
creating configuration files ... ok
creating template1 database in /uloc/postgis/stac/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.
Success. You can now start the database server using:
postgres -D /uloc/postgis/stac/data
or
pg_ctl -D /uloc/postgis/stac/data -l logfile start
[bruce@iRobot ~]$
(6)启动PostGresql
输出日志到指定路径,追加方式:
[bruce@iRobot ~]$postgres -D /uloc/postgis/stac/data/ >> /uloc/postgis/stac/logfile 2>&1 &
(7)建立库
[bruce@iRobot ~]$ createdb stac
(8)配置访问数据库连接
[bruce@iRobot data]$ pwd
/uloc/postgis/stac/data
[bruce@iRobot data]$ vi pg_hba.conf
[bruce@iRobot data]$ tail -n 20 pg_hba.conf
# "host" records. In that case you will also need to make PostgreSQL listen
# on a non-local interface via the listen_addresses configuration parameter,
# or via the -i or -h command line switches.
#
# CAUTION: Configuring the system for local "trust" authentication allows
# any local user to connect as any PostgreSQL user, including the database
# superuser. If you do not trust all your local users, use another
# authentication method.
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
host all all 0.0.0.0/0 trust
[bruce@iRobot data]$ netstat -anp | grep 5432
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 33898/postgres
tcp 0 0 ::1:5432 :::* LISTEN 33898/postgres
unix 2 [ ACC ] STREAM LISTENING 2648842 33898/postgres /tmp/.s.PGSQL.5432
[bruce@iRobot ~]$ cat /uloc/postgis/stac/data/postgresql.conf | grep listen
listen_addresses = '*' # what IP address(es) to listen on;
#listen_addresses = 'iRobot' # what IP address(es) to listen on;
[bruce@iRobot ~]$
(9)重新启动postgis
[bruce@iRobot ~]$ ps -elf | grep post
4 S root 2909 1 0 80 0 - 20318 ep_pol Mar13 ? 00:00:01 /usr/libexec/postfix/master
4 S postfix 2916 2909 0 80 0 - 20380 ep_pol Mar13 ? 00:00:00 qmgr -l -t fifo -u
4 S postfix 33770 2909 0 80 0 - 20338 ep_pol 21:47 ? 00:00:00 pickup -l -t fifo -u
0 S bruce 33898 1 0 80 0 - 54088 poll_s 21:54 ? 00:00:00 postgres -D /uloc/postgis/stac/data/
1 S bruce 33899 33898 0 80 0 - 44841 poll_s 21:54 ? 00:00:00 postgres: logger process
1 S bruce 33901 33898 0 80 0 - 54118 poll_s 21:54 ? 00:00:00 postgres: writer process
1 S bruce 33902 33898 0 80 0 - 54088 poll_s 21:54 ? 00:00:00 postgres: wal writer process
1 S bruce 33903 33898 0 80 0 - 54122 poll_s 21:54 ? 00:00:00 postgres: autovacuum launcher process
1 S bruce 33904 33898 0 80 0 - 44874 poll_s 21:54 ? 00:00:00 postgres: stats collector process
0 S bruce 34120 34083 0 80 0 - 25814 pipe_w 22:03 pts/7 00:00:00 grep post
[bruce@iRobot ~]$ kill -9 33898
必须保证 data目录权限为0700.[???!!!!!!!!!!!!!!!!!!!!!!!!!]
[bruce@iRobot stac]$ ls -al
total 16
drwxrwxr-x. 3 bruce oinstall 4096 Mar 16 22:11 .
drwxrwxr-x. 3 bruce oinstall 4096 Mar 16 21:46 ..
drwxrwxr-x. 12 bruce oinstall 4096 Mar 16 22:01 data
-rw-r--r--. 1 bruce oinstall 120 Mar 16 22:06 logfile
[bruce@iRobot stac]$
[bruce@iRobot stac]$ chmod -R 0700 data
[bruce@iRobot stac]$ ls -al
total 16
drwxrwxr-x. 3 bruce oinstall 4096 Mar 16 22:11 .
drwxrwxr-x. 3 bruce oinstall 4096 Mar 16 21:46 ..
drwx------. 12 bruce oinstall 4096 Mar 16 22:01 data
-rw-r--r--. 1 bruce oinstall 120 Mar 16 22:06 logfile
[bruce@iRobot stac]$postgres -D /uloc/postgis/stac/data/ >> /uloc/postgis/stac/logfile 2>&1 &
[bruce@iRobot data]$ ps ux | grep postgres
bruce 34195 2.9 0.0 216348 5112 pts/7 S 22:17 0:00 postgres -D /uloc/postgis/stac/data/
bruce 34196 0.0 0.0 179360 1080 ? Ss 22:17 0:00 postgres: logger process
bruce 34198 0.0 0.0 216348 1352 ? Ss 22:17 0:00 postgres: writer process
bruce 34199 0.0 0.0 216348 1292 ? Ss 22:17 0:00 postgres: wal writer process
bruce 34200 0.0 0.0 216484 1404 ? Ss 22:17 0:00 postgres: autovacuum launcher process
bruce 34201 0.0 0.0 179356 1156 ? Ss 22:17 0:00 postgres: stats collector process
bruce 34203 0.0 0.0 103252 828 pts/7 S+ 22:17 0:00 grep postgres
[bruce@iRobot data]$ netstat -anp | grep 5432
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 34195/postgres
tcp 0 0 :::5432 :::* LISTEN 34195/postgres
unix 2 [ ACC ] STREAM LISTENING 2659087 34195/postgres /tmp/.s.PGSQL.5432
[bruce@iRobot data]$
[root@iRobot lib]# ldd /usr/local/pgsql/lib/postgis-2.0.so
linux-vdso.so.1 => (0x00007fffacf65000)
libgeos_c.so.1 => /usr/local/lib/libgeos_c.so.1 (0x00007f86ce954000)
libproj.so.0 => /usr/local/lib/libproj.so.0 (0x00007f86ce706000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f86ce3b4000)
libm.so.6 => /lib64/libm.so.6 (0x00007f86ce130000)
libc.so.6 => /lib64/libc.so.6 (0x00007f86cdd9b000)
libgeos-3.3.8.so => /usr/local/lib/libgeos-3.3.8.so (0x00007f86cda08000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f86cd702000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f86cd4eb000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f86cd2e7000)
libz.so.1 => /lib64/libz.so.1 (0x00007f86cd0d1000)
/lib64/ld-linux-x86-64.so.2 (0x000000372c800000)
(10) 创建Postgis业务用户
[bruce@iRobot data]$ ldd /usr/local/pgsql/lib/postgis-2.0.so
linux-vdso.so.1 => (0x00007fff5bfff000)
libgeos_c.so.1 => /usr/local/lib/libgeos_c.so.1 (0x00007f1859b3e000)
libproj.so.0 => /usr/local/lib/libproj.so.0 (0x00007f18598f0000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f1859590000)
libm.so.6 => /lib64/libm.so.6 (0x00007f185930c000)
libc.so.6 => /lib64/libc.so.6 (0x00007f1858f77000)
libgeos-3.3.8.so => /usr/local/lib/libgeos-3.3.8.so (0x00007f1858be4000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f18588de000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f18586c7000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f18584c3000)
libz.so.1 => /lib64/libz.so.1 (0x00007f18582ad000)
/lib64/ld-linux-x86-64.so.2 (0x000000372c800000)
[bruce@iRobot data]$ psql -d stac
psql (9.2.4)
Type "help" for help.
stac=# create extension postgis;
CREATE EXTENSION
stac=# create extension postgis_topology;
CREATE EXTENSION
stac=# create extension fuzzystrmatch;
CREATE EXTENSION
stac=# create extension postgis_tiger_geocoder;
CREATE EXTENSION
stac=#
stac=# create user stac with password 'ytzc_stac';
CREATE ROLE
stac=#
stac=#
stac=# grant bruce to stac;
GRANT ROLE
-------------------
[bruce@iRobot postgresql]$ ls -al
total 45100
drwxr-xr-x. 8 bruce oinstall 4096 Mar 16 23:58 .
drwxr-xr-x. 9 bruce oinstall 4096 Mar 16 19:04 ..
-rw-r--r--. 1 bruce oinstall 2838 Mar 13 16:56 change_log.txt
-rw-r--r--. 1 bruce oinstall 83020 Mar 13 16:56 create_satm.sql
drwxr-xr-x. 18 10003 users 4096 Mar 16 21:33 gdal-1.9.2
-rw-r--r--. 1 bruce oinstall 9495381 Mar 13 16:56 gdal-1.9.2.tar.gz
drwxrwxr-x. 12 1000 1000 4096 Mar 16 23:18 geos-3.3.8
-rw-r--r--. 1 bruce oinstall 1820064 Mar 13 16:56 geos-3.3.8.tar.bz2
drwxrwsr-x. 15 1000 dip 4096 Mar 16 23:38 postgis-2.0.3
-rw-r--r--. 1 bruce oinstall 5581619 Mar 13 16:56 postgis-2.0.3.tar.gz
drwxr-xr-x. 15 bruce oinstall 4096 Mar 16 23:59 postgis-2.1.5
-rw-r--r--. 1 bruce oinstall 6827999 Dec 19 10:16 postgis-2.1.5.tar.gz
drwxrwxrwx. 6 1107 1107 4096 Mar 16 21:06 postgresql-9.2.4
-rw-r--r--. 1 bruce oinstall 21539369 Mar 13 16:56 postgresql-9.2.4.tar.gz
drwxr-x---. 6 142957 5000 4096 Mar 16 23:19 proj-4.8.0
-rw-r--r--. 1 bruce oinstall 785279 Mar 13 16:56 proj-4.8.0.tar.gz
[bruce@iRobot postgresql]$ psql -d stac -U stac
psql (9.2.4)
Type "help" for help.
stac=> \q
[bruce@iRobot postgresql]$ pwd
/utxt/tarball/postgresql
[bruce@iRobot postgresql]$ psql -d stac -U stac -f /utxt/tarball/postgresql/create_satm.sql
=====================================
安装postgresql odbc 驱动
[root@stac_db psqlodbc-09.02.0100]# pwd
/utxt/tarball/psqlodbc-09.02.0100
[root@stac_db psqlodbc-09.02.0100]# ls
aclocal.m4 connection.h execute.c Makefile.am odbcapi30w.c pgtypes.c psqlodbc.vcproj statement.h
bind.c convert.c gsssvcs.c Makefile.in odbcapi.c pgtypes.h qresult.c test
bind.h convert.h gsssvcs.h md5.c odbcapiw.c pgxalib.cpp qresult.h tuple.c
catfunc.h descriptor.c info30.c md5.h odbc-drop.sql pgxalib.def readme.txt tuple.h
columninfo.c descriptor.h info.c misc.c odbc.sql psqlodbca.def resource.h version.h
columninfo.h dlg_specific.c inouealc.c misc.h options.c psqlodbc.c results.c win32.mak
config dlg_specific.h installer msdtc_enlist.cpp parse.c psqlodbc.def setup.c win64.mak
config.h.in dlg_wingui.c license.txt multibyte.c pgapi30.c psqlodbc.dsp socket.c win_setup.h
config.log docs loadlib.c multibyte.h pgapifunc.h psqlodbc.h socket.h win_unicode.c
configure drvconn.c loadlib.h mylog.c pgenlista.def psqlodbc.rc sspisvcs.c xalibname.c
configure.ac environ.c lobj.c odbcapi25w.c pgenlist.def psqlodbc.reg sspisvcs.h
connection.c environ.h lobj.h odbcapi30.c pgenlist.h psqlodbc.sln statement.c
[root@stac_db psqlodbc-09.02.0100]# yum install openssl-devel
[root@stac_db psqlodbc-09.02.0100]# yum install unixODBC
[root@stac_db psqlodbc-09.02.0100]#./configure --with-unixodbc --with-libpq=/usr/local/pgsql
[root@stac_db psqlodbc-09.02.0100]# make
[root@stac_db psqlodbc-09.02.0100]# make install
================================================================================
[ref] http://www.itpub.net/thread-1892551-1-1.html
http://blog.csdn.net/YANG_TIANCI/article/details/16925281
配置racle通过DbLink远程访问PostGresql:
odbc配置:
[bruce@db1 ~]$ cat /etc/odbc.ini
[test]
Description=test
Driver=PostgreSQL
Trace=Yes
TraceFile=sql.log
Database=xljt
Servername=192.168.1.254
UserName=stac
Password=ytzc_stac
Port=5432
Protocol=9.0
ReadOnly=No
RowVersioning=No
ShowSystemTables=No
ShowOidColumn=No
FakeOidIndex=No
ConnSettings=set client_encoding to gbk
odbc for postgresql的驱动:/usr/local/lib/psqlodbcw.so
[bruce@db1 ~]$ cat /etc/odbcinst.ini
# Included in the unixODBC package
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/local/lib/psqlodbcw.so
FileUsage = 1
HS配置(安装目录/u01/app/oracle/product/11.1.0/db_1/):
HS初始化参数文件:
[oracle@db1 admin]$ pwd
/u01/app/oracle/product/11.1.0/db_1/hs/admin
[oracle@db1 admin]$ cat inittest.ora
HS_FDS_CONNECT_INFO = test
HS_FDS_TRACE_LEVEL = off
HS_FDS_SHAREABLE_NAME = /usr/local/lib/psqlodbcw.so
HS_FDS_DEFAULT_SCHEMA_NAME = public
set ODBCINI=/etc/odbc.ini
============================================================
监听配置:
vi /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
添加:
(SID_DESC =
(PROGRAM = dg4odbc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = test)
(ENVS=LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/usr/local/lib:/etc/odbc.ini)
)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[oracle@stac_db admin]$ pwd
/u01/app/oracle/product/11.2.0/db_1/hs/admin
[oracle@stac_db admin]$ ls
extproc.ora initdg4odbc.ora listener.ora.sample tnsnames.ora.sample
[oracle@stac_db admin]$ vi inittest.ora
[oracle@stac_db admin]$ ls
extproc.ora initdg4odbc.ora inittest.ora listener.ora.sample tnsnames.ora.sample
[oracle@stac_db admin]$ cat inittest.ora
HS_FDS_CONNECT_INFO = test
HS_FDS_TRACE_LEVEL = off
HS_FDS_SHAREABLE_NAME = /usr/local/lib/psqlodbcw.so
HS_FDS_DEFAULT_SCHEMA_NAME = public
set ODBCINI=/etc/odbc.ini
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
============================================================
tns配置添加如下:
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = stac_db)(PORT = 1521))
(CONNECT_DATA =
(SID = test)
)
(HS = OK)
)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[oracle@stac_db admin]$ pwd
/u01/app/oracle/product/11.2.0/db_1/network/admin
[oracle@stac_db admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = stac)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = stac)
)
(SID_DESC =
(PROGRAM = dg4odbc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = test)
(ENVS=LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/usr/lib64:/etc/odbc.ini)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = stac_db)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
[oracle@stac_db admin]$
[oracle@stac_db admin]$ pwd
/u01/app/oracle/product/11.2.0/db_1/network/admin
[oracle@stac_db admin]$ ls
listener.ora listener.ora.bak samples shrept.lst sqlnet.ora tnsnames.ora
[oracle@stac_db admin]$ cat tnsnames.ora
stac =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = stac)
)
)
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))
(CONNECT_DATA =
(SID = test)
)
(HS = OK)
)
[oracle@stac_db admin]$
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
============================================================
验证db_link
[oracle@stac_db admin]$ sqlplus / as sysdba
SQL>CREATE PUBLIC DATABASE LINK test CONNECT TO "stac" IDENTIFIED BY "ytzc_stac" using 'test';
SQL>select * from "food"@"test";
相关文章推荐
- .NET安装和配置Oracle数据访问组件(ODAC)
- 【转发】oracle 使用dblink访问postgresql数据库
- 部署ASP.NET访问oracle提示找不oracle客户端组件问题
- 搭建Oracle dblink访问PostgreSQL
- 【Vegas原创】安装配置Gateway,进行从Oracle到SQLServer的访问
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息
- .net中利用oracle产品自带的数据访问组件(Oracle.DataAccess.dll)提升批量更新操作的执行效率
- 实现ORACLE跨库访问 DBLINK
- 部署Asp.net系统时页面访问Oracle 10G数据库失败
- 配置POSTGRESQL远程访问
- oracle ora-22992 通过DBLINK 访问远程CLOB表问题
- 组件 访问被拒绝 配置错误
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 s
- .net中利用oracle产品自带的数据访问组件(Oracle.DataAccess.dll)提升批量更新操作的执行效率
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 s
- 组件 访问被拒绝 配置错误
- 配置客户端,访问远程Oracle服务器
- 在oracle中建立dblink访问其他数据库
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 s