• Oracle11g for centos7


    准备工作

    x86 + centos7 + oracle11G 

    环境搭建

    配置好虚拟机,网络通畅,建议最少3G内存。

    安装依赖

    yum install binutils compat-libstdc++-33 glibc* ksh gcc gcc-c++ libgcc libstdc++* libaio libaio-devel libXext libX11 libXau libxcb libXi make sysstat unixODBC unixODBC-devel zlib-devel elfutils-libelf-devel -y
    
    yum -y install binutils compat-libcap1  compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
    

    2个install都安装

    设置主机名

    1. [root@oracle]# vi /etc/sysconfig/network
    2. HOSTNAME=server.example.com
    3. [root@server]# hostname server.example.com

     打开 /etc/hosts 文件并为服务器添加一个完全限定的主机名。

    1. [root@server]# vi /etc/hosts
    2. 192.168.1.58 server.example.com

    重新启动网络

    1. service network restart
    2. #测试连接
    3. ping -c 3 server.example.com

     

    创建用户 

    1. useradd oracle
    2. #修改密码
    3. passwd oracle
    4. mkdir /oracle/app/product/11.2.0/db_1 -p
    5. chmod -R 775 /oracle
    6. chown -R oracle:oracle /oracle

    编辑配置文件

    通过编辑 /etc/selinux/config 文件来禁用安全 linux,确保将 SELINUX 标志设置为 permissive。支持宽松策略的目的是允许系统在启用 SELinux 的情况下运行,同时仍允许应用程序尝试执行的所有访问。

    1. vi /etc/selinux/config
    2. SELINUX=permissive

    关闭/禁用防火墙

    1. systemctl stop firewalld
    2. systemctl disable firewalld

    在 /etc/sysctl.conf 中添加或修改内核参数,以更改共享内存、信号量、最大文件描述符数等的设置。

    1. kernel.shmmni = 4096
    2. kernel.shmmax = 4398046511104
    3. kernel.shmall = 1073741824
    4. kernel.sem = 250 32000 100 128
    5. fs.aio-max-nr = 1048576
    6. fs.file-max = 6815744
    7. net.ipv4.ip_local_port_range = 9000 65500
    8. net.core.rmem_default = 262144
    9. net.core.rmem_max = 4194304
    10. net.core.wmem_default = 262144
    11. net.core.wmem_max = 1048586
    12. /sbin/sysctl -p

     在 /etc/security/limits.conf 中设置硬壳和软壳资源限制,例如锁定的内存地址空间、打开的文件数、进程数和核心文件大小。

    1. oracle soft nproc 2047
    2. oracle hard nproc 16384
    3. oracle soft nofile 4096
    4. oracle hard nofile 65536
    5. oracle soft stack 10240
    6. oracle soft core unlimited
    7. oracle hard core unlimited
    8. oracle soft memlock 50000000
    9. oracle hard memlock 50000000

    oracle的环境变量

    1. [oracle@server ~]# vi .bash_profile
    2. # Oracle Settings
    3. TMP=/tmp; export TMP
    4. TMPDIR=$TMP; export TMPDIR
    5. ORACLE_HOSTNAME=server.example.com; export ORACLE_HOSTNAME
    6. ORACLE_UNQNAME=server; export ORACLE_UNQNAME
    7. ORACLE_BASE=/oracle; export ORACLE_BASE
    8. ORACLE_HOME=$ORACLE_BASE/app/product/11.2.0/db_1; export ORACLE_HOME
    9. ORACLE_SID=server; export ORACLE_SID
    10. ORACLE_TERM=xterm; export ORACLE_TERM
    11. PATH=/usr/sbin:$PATH; export PATH
    12. PATH=$ORACLE_HOME/bin:$PATH; export PATH
    13. LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
    14. CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
    15. [oracle@server ~]# source .bash_profile

    下载、安装

    切换到用户 oracle 并下载 Oracle。下载地址 Database Software Downloads | Oracle 

    解压缩文件

    1. unzip linux.x64_11gR2_database_1of2.zip
    2. unzip linux.x64_11gR2_database_2of2.zip
    3. #多了一个database文件夹

    运行程序,一定是可视化界面、并且是首次登录是oracle用户下

    1. cd /database
    2. ./runInstaller

    操作界面

    1、配置更新

    电子邮件和接受更新,这里可以不填,直接“next”,点“yes”

    2、安装选项

     选第1个,创建和配置数据库。


    3、 系统类

     选择“desktop class”桌面类选项。

    4、安装配置

    都不用改,输入密码即可

    5、创建库存

    使用 /oracle/oraInventory 

    6、检查

    OS Kernel parameter : semmni Failed Yes,不用管

    点右上角,“ignore All”忽略全部

    7、概述

    可以忽略,11.2.0.4可以解决,我用的0.1

    8、执行脚本

    Q&A 

    ins_ctx.mk 报错 undefined reference to memcpy@GLIBC_2.14

    首先查看/usr/lib64/libc.a文件是否存在,如不存在可yum install glibc-static下载。然后修改出错的makefile文件($ORACLE_HOME/ctx/lib/ins_ctx.mk),在$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)前面添加-static /usr/lib64/libc.a,即采用静态链接,可解决此错误,点击retry通过。

    /oracle/app/product/11.2.0/db_1/ctx/lib/ins_ctx.mk

    ins_emagent.mk 报错 Error in invoking target ‘agent nmhs’

    修改出错的makefile文件,在$(MK_EMAGENT_NMECTL)之后加上-lnnz11链接libnnz11.so库,点击retry即可通过。

    /oracle/app/product/11.2.0/db_1/sysman/lib/ins_emagent.mk

    9、监听

    1. vi /oracle/app/product/11.2.0/db_1/network/admin/listener.ora
    2. #监听的协议的机器LISTENER,地址和端口,可以多个地址、端口
    3. LISTENER =
    4. (DESCRIPTION_LIST =
    5. (DESCRIPTION =
    6. (ADDRESS = (PROTOCOL = TCP)(HOST = server.example.com)(PORT = 1521))
    7. )
    8. )
    9. #
    10. SID_LIST_LISTENER =
    11. (SID_LIST =
    12. (SID_DESC =
    13. (GLOBAL_DBNAME = orcl)
    14. (ORACLE_HOME = /oracle/app/product/11.2.0/db_1)
    15. (SID_NAME = orcl)
    16. )
    17. )

    tnsnames.ora是记录客户端访问数据库的本地配置:
    客户端是通过tnsnames.ora来识别连接服务器的
    如果你没有添加tnsnames.ora,那么你就连接不上服务器

    1. vi tnsnames.ora
    2. #ORCL是客户端工具连接的数据库名称
    3. ORCL =
    4. (DESCRIPTION =
    5. (ADDRESS = (PROTOCOL = TCP)(HOST = server.example.com)(PORT = 1521))
    6. (CONNECT_DATA =
    7. (SERVER = DEDICATED)
    8. (SERVICE_NAME = orcl.example.com)
    9. )
    10. )

    数据库命令

     1、监听启动/停止

    1. #启动
    2. lsnrctl start
    3. #停止
    4. lsnrctl stop

    2、数据库实例启动/停止

    1. #进入sqlplus环境,不登录数据库,不填写/nolog需要输入用户密码
    2. sqlplus /nolog
    3. #以sysdba连接数据库
    4. connect /as sysdba
    5. #开启数据库实例 (sqlplus)
    6. SQL> startup
    7. ORACLE instance started.
    8. Total System Global Area 1536602112 bytes
    9. ...
    10. Database opened.
    11. #关闭数据库实例
    12. SQL> shutdown immediate
    13. Database closed.
    14. Database dismounted.
    15. ORACLE instance shut down.

     用户命令

    1. --修改密码
    2. alter user SYSDBA identified by Oracle1521
    3. --创建用户
    4. create user TEST1 identified by TEST1;
    5. --用户授权
    6. grant connect,resource,dba to TEST1;
    7. --查看用户表
    8. select username from dba_users;

    空间类型

    1. #点类型
    2. select sde.st_astext(sde.st_point(103.806709, 30.660408,4326)) from dual
    3. #字段类型
    4. SELECT SDE.st_astext(t.SHAPE) FROM system.lines t

    oracle客户端

    Instant Client for Microsoft Windows (x64) 64-bit

    Instant Client for Windows 32-bit

    看需要吧,如果安装的是64位的应用,就使用64的,比如ArcMap Desktop就是32的,就需要32的。

    可安装可不安装

    1. wget -O /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
    2. rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm --nodeps --force

    参考 :

    CentOS 7.2 远程安装 Oracle 11g | zz_zigzag Notes

    在 Oracle Linux 11 上加载 Oracle 2g R7 问题 - Oracle 论坛

    Installing Oracle 11g Release 2 In Centos 7 (supportsages.com)

    【精选】Linux CentOS 7安装Oracle11g超完美教程_centos安装oracle11g_蜗牛er的博客-CSDN博客

  • 相关阅读:
    Win7开启触摸键盘方法
    【操作系统】读写锁实现&&读写锁原理(亲测可用)
    汽车纵染压制专用液压机比例阀放大器
    【前端精进之路】JS篇:第11期 深拷贝与浅拷贝
    论文解读(KP-GNN)《How Powerful are K-hop Message Passing Graph Neural Networks》
    JavaScript - 移除数组中的空字符串元素
    centos7中supervisor+django高版本部署sqlite3问题
    基于SpringBoot医院信息管理系统源码
    axios 用formData的方式请求数据
    Mware Fusion Pro 13 mac版:一键掌控虚拟世界
  • 原文地址:https://blog.csdn.net/w345731923/article/details/134267815