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都安装

设置主机名

[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的环境变量

[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 

操作界面

1、配置更新

Oracle11g for centos7_第1张图片

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

2、安装选项

Oracle11g for centos7_第2张图片

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


3、 系统类

Oracle11g for centos7_第3张图片

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

4、安装配置

Oracle11g for centos7_第4张图片

都不用改,输入密码即可

5、创建库存

Oracle11g for centos7_第5张图片

使用 /oracle/oraInventory 

6、检查

Oracle11g for centos7_第6张图片

OS Kernel parameter : semmni Failed Yes,不用管

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

7、概述

Oracle11g for centos7_第7张图片

Oracle11g for centos7_第8张图片

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

8、执行脚本

Oracle11g for centos7_第9张图片

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

Oracle11g for centos7_第10张图片

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)
    )
  )

数据库命令

 1、监听启动/停止

#启动 
lsnrctl start
#停止
lsnrctl stop

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

#进入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

oracle客户端

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博客

你可能感兴趣的:(#,ORACLE,oracle,数据库)