linux命令行安装Oracle11g及配置ST_Geometry

一、下载并安装Oracle11g
说明: 这里我安装的Oracle11g的大致步骤和上文oracle12c的步骤大致相同,仅有个别的配置文件参数有所区别,这里主要是以配置ST_Geometry为本节重点。想将自己安装过程中所遇到的问题及如何来解决想跟大家分享一下!

  1. 下载oracle11g
    如果有需下载linux-x64版本的oracle11g,请点击官方下载
  2. 检查安装环境

(1) 查看Linux系统的内存大小

[agssvrYX@mongodb-1 ~]$ grep MemTotal /proc/meminfo 
MemTotal:       57519044 kB

(2) 显示Linux系统上的文件系统的磁盘使用情况

[agssvrYX@mongodb-1 ~]$ df -h
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/vg00-lv_root     9.8G  7.4G  1.9G   80% /
devtmpfs                      28G     0   28G    0% /dev
tmpfs                         28G   13G   15G   48% /dev/shm
tmpfs                         28G  2.8G   25G   10% /run
tmpfs                         28G     0   28G    0% /sys/fs/cgroup
/dev/vda1                    477M  218M  231M   49% /boot
/dev/mapper/vg00-lv_opt      9.8G  4.5G  4.8G   49% /opt
/dev/mapper/vg00-lv_home     2.0G  243M  1.6G   14% /home
/dev/mapper/vg00-lv_tmp      4.9G  2.0G  2.7G   44% /tmp
/dev/mapper/vg00-lv_var      4.9G  1.5G  3.2G   33% /var
tmpfs                        5.5G     0  5.5G    0% /run/user/0
tmpfs                        5.5G     0  5.5G    0% /run/user/901
tmpfs                         14G   14G     0  100% /tmp/memory
/dev/mapper/inmvg01-inmlv01  998G   72G  876G    8% /gis
tmpfs                        5.5G     0  5.5G    0% /run/user/1002

注意:大家要是安装oracle11g过程中,最好选择一个可用容量大的磁盘来安装,可以通过df -h命令就能查看,很方便;

  1. 准备安装包
    通过已上传10.130.0.155主机的oracle11g压缩包,将其发送安装包到该台主机(远程服务器拷贝多个文件到本地)
[root@mongodb-1 ~]$ scp 10.130.0.155:/inm/app/\{linux.x64_11gR2_database_1of2.zip,linux.x64_11gR2_database_2of2.zip\} .
  1. 安装oracle11g

(1) 验证创建及所属组是否正确

[agssvrYX@mongodb-1 ~]$ id agssvrYX
uid=1002(agssvrYX) gid=1002(agssvrYX) 组=1002(agssvrYX),54321(oinstall)

(2) 配置内核参数

[agssvrYX@mongodb-1 ~]$ sudo vim /etc/sysctl.conf 
vm.max_map_count = 655360
vm.swappiness = 0
vm.overcommit_memory=1
vm.overcommit_memory=1
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.semopm = 100
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

(3) 配置环境变量

#11g
[agssvrYX@mongodb-1 ~]$ sudo vim ~/.bash_profile
export ORACLE_BASE=/gis/soft/app/oracle
export ORACLE_SID=gismap
export ROACLE_PID=ora11g
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_HOME=/gis/soft/app/oracle/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LANG="zh_CN.UTF-8"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'

(4) 修改安装Oracle软件的响应文件/data/etc/db_install.rsp

[agssvrYX@mongodb-1 ~]$ vi /gis/etc/db_install.rsp 
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=inmshgis04
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/gis/soft/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN,zh_TW
ORACLE_HOME=/gis/soft/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/gis/soft/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=oinstall
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=gisdb
oracle.install.db.config.starterdb.SID=gismap
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=false
oracle.install.db.config.starterdb.memoryLimit=81920
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=Wj708t_DF
oracle.install.db.config.starterdb.password.SYS=Wj708t_DF
oracle.install.db.config.starterdb.password.SYSTEM=Wj708t_DF
oracle.install.db.config.starterdb.password.SYSMAN=Wj708t_DF
oracle.install.db.config.starterdb.password.DBSNMP=Wj708t_DF
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/gis/soft/app/oracle
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/gis/soft/app/oracle_recovery

(5) 开始静默安装

[agssvrYX@mongodb-1 ~]$./runInstaller -silent -responseFile /gis/etc/db_install.rsp
会报如下错误:
CAUSE: Some of the mandatory prerequisites are not met. See logs for details
从新修改安装命令:
[agssvrYX@mongodb-1 ~]$./runInstaller -ignorePrereq  -silent -force -responseFile /gis/etc/db_install.rsp

Starting Oracle Universal Installer…

Checking Temp space: must be greater than 120 MB. Actual 150565 MB Passed
Checking swap space: 0 MB available, 150 MB required. Failed <<<<

Some requirement checks failed. You must fulfill these requirements before

continuing with the installation
在这里插入图片描述在这里插入图片描述
说明:遇到交换空间不足,可以运行以下命令:

  1. 先检查一下系统里有没有既存的 Swap 文件
[agssvrYX@inmshgis04 ~]$ swapon -s
Filename                             Type            Size    Used    Priority
/dev/sda9                            partition       1048568 853772  -1
  1. 再检查一下文件系统,看看是否有足够的硬盘空间来设置 Swap
[agssvrYX@inmshgis04 ~]$ df -hal
Filesystem                  Size  Used Avail Use% Mounted on
/dev/sda2                   9.9G  906M  8.5G  10% /
tmpfs                        24G   12G   12G  51% /dev/shm
/dev/sda1                   194M   34M  151M  19% /boot
/dev/sda3                   9.9G  334M  9.1G   4% /home
/dev/sda10                   19G  8.4G  9.3G  48% /inm/app
/dev/sda5                   9.9G  296M  9.1G   4% /opt
/dev/sda6                   9.9G  804M  8.6G   9% /tmp
/dev/sda7                   9.9G  5.1G  4.4G  54% /usr
/dev/sda8                   9.9G  2.4G  7.1G  25% /var
/dev/mapper/vg01-gis        909G  159G  704G  19% /gis
/dev/mapper/vg01-sftp_data   99G   58G   36G  62% /data
  1. 创建并允许 Swap 文件下面使用 dd 命令来创建 Swap 文件。检查返回的信息,还剩余足够的硬盘空间即可。
[agssvrYX@inmshgis04 ~]$ dd if=/dev/mapper/vg01-gis of=/swapfile bs=1024 count=512k
参数解读:if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >bs=bytes:同时设置读入/输出的块大小为bytes个字节count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。
  1. 格式化并激活 Swap 文件上面已经创建好 Swap 文件,还需要格式化后才能使用。
[agssvrYX@inmshgis04 ~]$ mkswap /swapfile
  1. 激活 Swap
[agssvrYX@inmshgis04 ~]$ swapon /swapfile
  1. 以上步骤做完,再次运行命令:
[agssvrYX@inmshgis04 ~]$ swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda9                               partition       1048568 853772  -1
/swapfile                               file            524280  0       -2
  1. 机器重启的时候自动挂载 Swap ,那么还需要修改 fstab 配置。用 vim 打开 /etc/fstab 文件,在其最后添加如下一行:
[agssvrYX@inmshgis04 ~]$ vim /etc/fstab
/swapfile          swap            swap    defaults        0 0
  1. 最后,赋予 Swap 文件适当的权限:
[agssvrYX@inmshgis04 ~]$ chown root:root /swapfile 
[agssvrYX@inmshgis04 ~]$ chmod 0600 /swapfile 
  1. 配置监听程序
[agssvrYX@inmshgis04 ~]$ netca /silent /responsefile /data/etc/netca.rsp

正在对命令行参数进行语法分析:
    参数"silent" = true
    参数"responsefile" = /data/etc/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services 配置:
完成概要文件配置。
Oracle Net 监听程序启动:
    正在运行监听程序控制: 
      /data/app/oracle/product/12.2.0/db_1/bin/lsnrctl start LISTENER
   监听程序控制完成。
    监听程序已存在。
监听程序配置完成。
成功完成 Oracle Net Services 配置。退出代码是0

说明:监听程序已存在,主要是因为我在linux本机服务器已经安装了oracle 12c,当时我只是将oracle 12c数据库shutdown,并没有停止监听程序,所以大家如果遇到此类问题,请先将其他oracle数据库卸载并且停止原先的监听程序即可;

二、Oracle 11.2.0配置ST_Geometry

  1. 环境
    (1) SDE
    (2) Oracle11g
  2. 配置
    (1) 将libst_shapelib.so文件上传到/gis/soft/app/oracle/product/11.2.0/db_1/lib
    目录下.
[agssvrYX@inmshgis04 ~]$ cp /home/agssvrYX/libst_shapelib.so /gis/soft/app/oracle/product/11.2.0/db_1/lib/

(2) 增加执行权限

[agssvrYX@inmshgis04 ~]$ sudo chmod 777 /gis/soft/app/oracle/product/11.2.0/db_1/lib/libst_shapelib.so 

(3)进入/gis/soft/app/oracle/product/11.2.0/db_1/hs/admin/

[agssvrYX@inmshgis04 ~]$ cd /gis/soft/app/oracle/product/11.2.0/db_1/hs/admin/
[agssvrYX@inmshgis04 admin]$ cp extproc.ora extproc.ora.bak
[agssvrYX@inmshgis04 admin]$ vi extproc.ora
SET EXTPROC_DLLS=ONLY:/data/app/oracle/product/11.2.0/db_1/lib/libst_shapelib.so

(4) 编辑listener.ora和tnsname.ora文件

[agssvrYX@inmshgis04 db_1]$ cd network/admin/
[agssvrYX@inmshgis04 admin]$ ll
总用量 24
-rw-rw-r-- 1 agssvrYX agssvrYX  668 3月  23 12:31 listener.ora
-rw-rw-r-- 1 agssvrYX agssvrYX  780 3月  23 12:28 listener.ora.bak
drwxr-xr-x 2 agssvrYX agssvrYX 4096 3月  17 18:26 samples
-rw-r--r-- 1 agssvrYX agssvrYX 1441 8月  28 2015 shrept.lst
-rw-rw-r-- 1 agssvrYX agssvrYX  192 3月  17 18:31 sqlnet.ora
-rw-r----- 1 agssvrYX agssvrYX  611 3月  23 17:33 tnsnames.ora
[agssvrYX@inmshgis04 admin]$ vi listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = gismap)
      (ORACLE_HOME = /gis/soft/app/oracle/product/11.2.0/db_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:/gis/soft/app/oracle/product/11.2.0/db_1/lib/libst_shapeli
b.so")
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.130.0.174)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /gis/soft/app/oracle

[agssvrYX@inmshgis04 admin]$ vi tnsname.ora
EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = gismap)
      (PRESENTATION = RO)
    )
  )

GISDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.130.0.174)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = gisdb)
    )
  )

(5) 监听状态更改

[agssvrYX@inmshgis04 admin]$ lsnrctl status
[agssvrYX@inmshgis04 admin]$ lsnrctl stop
[agssvrYX@inmshgis04 admin]$ lsnrctl start
[agssvrYX@inmshgis04 admin]$ lsnrctl reload

(6) 以事先创建好的sde用户登录数据库

[agssvrYX@inmshgis04 admin]$ sqlplus sde@gisdb

可以尝试检查user_libraries表,ST_SHAPELIB的记录是否存在;

sql > select * from user_libraries;  
说明: 估计这功夫查询是没有记录的;表为空 
在user_libraries表中创建或更新ST_SHAPELIB对应的外部函数库文件所在的路径

sql > create or replace library ST_SHAPELIB  as '/gis/soft/app/oracle/product/11.2.0/db_1/lib/libst_shapelib.so'; 

SQL> select * from user_libraries;

LIBRARY_NAME
--------------------------------------------------------------------------------
FILE_SPEC
--------------------------------------------------------------------------------
DYN STATUS
--- ---------------------
ST_SHAPELIB
/gis/soft/app/oracle/product/11.2.0/db_1/lib/libst_shapelib.so
Y   VALID

编译失效的存储过程
# 编译SDE用户下所有失效的存储过程
sql > exec dbms_utility.compile_schema('SDE');

试验成功效果:
sql > select sde.st_point (10.01, 20.03, 0) from dual;
SDE.ST_POINT(10.01,20.03,0)(GEOM(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_EL
--------------------------------------------------------------------------------
ST_POINT(SDO_GEOMETRY(2001, 0, SDO_POINT_TYPE(10.01, 20.03, NULL), NULL, NULL))

三、总结
希望本次的Oracle11g数据库的安装以及最重要的ST_Geometry配置过程知识分享,能够让大家在工作当中少走一些弯路,提高一点点工作效率,我的愿望就达到了!!!内容如果有不足的地方,希望大家在下方留言~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值