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都安装
- [root@oracle]# vi /etc/sysconfig/network
- HOSTNAME=server.example.com
- [root@server]# hostname server.example.com
打开 /etc/hosts 文件并为服务器添加一个完全限定的主机名。
- [root@server]# vi /etc/hosts
- 192.168.1.58 server.example.com
重新启动网络
- service network restart
- #测试连接
- ping -c 3 server.example.com
- useradd oracle
- #修改密码
- passwd oracle
-
- mkdir /oracle/app/product/11.2.0/db_1 -p
- chmod -R 775 /oracle
- chown -R oracle:oracle /oracle
通过编辑 /etc/selinux/config 文件来禁用安全 linux,确保将 SELINUX 标志设置为 permissive。支持宽松策略的目的是允许系统在启用 SELinux 的情况下运行,同时仍允许应用程序尝试执行的所有访问。
- vi /etc/selinux/config
-
- SELINUX=permissive
关闭/禁用防火墙
- systemctl stop firewalld
- systemctl disable firewalld
在 /etc/sysctl.conf 中添加或修改内核参数,以更改共享内存、信号量、最大文件描述符数等的设置。
- kernel.shmmni = 4096
- kernel.shmmax = 4398046511104
- kernel.shmall = 1073741824
- kernel.sem = 250 32000 100 128
- fs.aio-max-nr = 1048576
- fs.file-max = 6815744
- net.ipv4.ip_local_port_range = 9000 65500
- net.core.rmem_default = 262144
- net.core.rmem_max = 4194304
- net.core.wmem_default = 262144
- net.core.wmem_max = 1048586
-
- /sbin/sysctl -p
在 /etc/security/limits.conf 中设置硬壳和软壳资源限制,例如锁定的内存地址空间、打开的文件数、进程数和核心文件大小。
- oracle soft nproc 2047
- oracle hard nproc 16384
- oracle soft nofile 4096
- oracle hard nofile 65536
- oracle soft stack 10240
- oracle soft core unlimited
- oracle hard core unlimited
- oracle soft memlock 50000000
- oracle hard memlock 50000000
- [oracle@server ~]# vi .bash_profile
-
- # Oracle Settings
- TMP=/tmp; export TMP
- TMPDIR=$TMP; export TMPDIR
-
- ORACLE_HOSTNAME=server.example.com; export ORACLE_HOSTNAME
- ORACLE_UNQNAME=server; export ORACLE_UNQNAME
- ORACLE_BASE=/oracle; export ORACLE_BASE
- ORACLE_HOME=$ORACLE_BASE/app/product/11.2.0/db_1; export ORACLE_HOME
- ORACLE_SID=server; export ORACLE_SID
- ORACLE_TERM=xterm; export ORACLE_TERM
- PATH=/usr/sbin:$PATH; export PATH
- PATH=$ORACLE_HOME/bin:$PATH; export PATH
-
- LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
- CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
- [oracle@server ~]# source .bash_profile
切换到用户 oracle 并下载 Oracle。下载地址 Database Software Downloads | Oracle
解压缩文件
- unzip linux.x64_11gR2_database_1of2.zip
- unzip linux.x64_11gR2_database_2of2.zip
- #多了一个database文件夹
运行程序,一定是可视化界面、并且是首次登录是oracle用户下
- cd /database
- ./runInstaller

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

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

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

都不用改,输入密码即可

使用 /oracle/oraInventory

OS Kernel parameter : semmni Failed Yes,不用管
点右上角,“ignore All”忽略全部


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

首先查看/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
修改出错的makefile文件,在$(MK_EMAGENT_NMECTL)之后加上-lnnz11链接libnnz11.so库,点击retry即可通过。
/oracle/app/product/11.2.0/db_1/sysman/lib/ins_emagent.mk

9、监听
- vi /oracle/app/product/11.2.0/db_1/network/admin/listener.ora
-
- #监听的协议的机器LISTENER,地址和端口,可以多个地址、端口
- LISTENER =
- (DESCRIPTION_LIST =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = server.example.com)(PORT = 1521))
- )
- )
-
- #
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (GLOBAL_DBNAME = orcl)
- (ORACLE_HOME = /oracle/app/product/11.2.0/db_1)
- (SID_NAME = orcl)
- )
- )
tnsnames.ora是记录客户端访问数据库的本地配置:
客户端是通过tnsnames.ora来识别连接服务器的
如果你没有添加tnsnames.ora,那么你就连接不上服务器
- vi tnsnames.ora
-
- #ORCL是客户端工具连接的数据库名称
- ORCL =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = server.example.com)(PORT = 1521))
- (CONNECT_DATA =
- (SERVER = DEDICATED)
- (SERVICE_NAME = orcl.example.com)
- )
- )
- #启动
- lsnrctl start
- #停止
- lsnrctl stop
- #进入sqlplus环境,不登录数据库,不填写/nolog需要输入用户密码
- sqlplus /nolog
- #以sysdba连接数据库
- connect /as sysdba
-
- #开启数据库实例 (sqlplus)
- SQL> startup
- ORACLE instance started.
- Total System Global Area 1536602112 bytes
- ...
- Database opened.
-
- #关闭数据库实例
- SQL> shutdown immediate
- Database closed.
- Database dismounted.
- ORACLE instance shut down.
用户命令
- --修改密码
- alter user SYSDBA identified by Oracle1521
- --创建用户
- create user TEST1 identified by TEST1;
- --用户授权
- grant connect,resource,dba to TEST1;
- --查看用户表
- select username from dba_users;
空间类型
- #点类型
- select sde.st_astext(sde.st_point(103.806709, 30.660408,4326)) from dual
- #字段类型
- SELECT SDE.st_astext(t.SHAPE) FROM system.lines t
Instant Client for Microsoft Windows (x64) 64-bit
Instant Client for Windows 32-bit
看需要吧,如果安装的是64位的应用,就使用64的,比如ArcMap Desktop就是32的,就需要32的。
可安装可不安装
- 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
-
- 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博客