CentOS7.4静默安装Oracle,并通过工具远程连接

1.准备环境

1.工具Xshell用于操作CentOS7.4

2.CentOS7.4【虚拟机】安装oracle【oracle的版本是11g】

若用oracle 12c,环境依赖包可能会需要重新整理,另外安装过程中dbca.rsp中的内容可能跟11g的有所出入,需要查阅文档调节

3.windows7【物理机】用于远程访问oracle

4.SqlDeveloper【windows7上安装】

5.instantclient_12_2【oracle的client,windows上,用于连接oracle】

2.检查相关的依赖包

 rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio  libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel  libXp  libXp-devel  libXpm  libXpm-devel

没有的话通过yum install 下载

如yum install  gcc 

3.创建Oracle用户和相应的属组

 groupadd oinstall
 groupadd dba
 useradd -g oinstall -G dba oracle

 passwd oracle    

密码暂定为oracle

4.创建目录修改属组和权限

mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /u01/app/oracle/oradata
mkdir -p /u01/app/oracle/inventory
mkdir -p /u01/app/oracle/fast_recovery_area
chown -R oracle.oinstall /u01/app/oracle

chmod -R 755 /u01/app/oracle

语句的作用依次为:前面创建的目录主要作用为
Oracle家目录、数据文件存放位置,安装日志存放位置,快速恢复区
修改属组,修改权限

5.解压oracle的软件包

这里的安装包的目录在/oracle/目录下

# mkdir /oracle

# cd /oracle

# ls

database的文件都应该在这个目录下

6.修改服务器的配置文件

# vim  /etc/hosts

在文件中加入

7.0.0.13 localhost  

这里的ip是centos的ip,7.0.0.13

7.远程连接需要开放端口,这里为了方便起见,关闭防火墙;也可以开启防火墙,在规则列表中开放1521端口

-----------

第一种:关闭防火墙  # systemctl stop firewalld

------------

第二种:添加

# firewall-cmd --zone=public --add-port=1521/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

重新载入

# firewall-cmd --reload

-------------

【两种选择一种,生产环境不推荐关闭防火墙】

8.关闭selinux

-----

# vim /etc/selinux/config  

添加 SELINUX=disabled  ,若有SELINUX则将值设置成disabled

-----

9.修改内核参数

------

# vim /etc/sysctl.conf

-----

添加以下内容

 
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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 = 1048576

其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。

然后执行

-----

# sysctl –p  

-----

使配置生效

10.修改用户限制文件

----

# vim /etc/security/limits.conf

-----

添加以下内容

 
oracle    soft    nproc    2047
oracle    hard    nproc    16384
oracle    soft    nofile    1024
oracle    hard    nofile    65536
oracle    soft    stack    10240

11.修改/etc/pam.d/login文件

----

vim /etc/pam.d/login

-----

添加以下内容:

 
session required  /lib64/security/pam_limits.so
session required   pam_limits.so

 

 

经过这几部配置服务器信息已经配置完。下面开始切换到Oracle用户进行配置和安装

 

 

12.切换Oracle用户进行环境变量配置

---------切换并编辑 .bash_profile----

 su - oracle

 vim  ~/.bash_profile

----------添加环境变量---------

在文件中添加
ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

ORACLE_SID=chngensis  【这句是可变的,根据自己的设置的数据库实例名字】

PATH=$PATH:$ORACLE_HOME/bin

export  ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
 

保存退出后使配置文件生效

------使环境变量生效------

source  .bash_profile

-----------

12.编辑静默安装响应文件

--------给oracle用户授权使用/oracle目录-----

chown  -R  oracle.oinstall  /oracle/

这里的/oracle/目录是之前的oracle下载目录,第一步的时候已经创建

备份文件【文中需要修改的rsp文件,ora文件最好备份一下】

cp  /oracle/database/response/db_install.rsp  /oracle/database/response/db_install.rsp.bak

然后编辑这个文件

vim  /oracle/database/response/db_install.rsp

需要设置的选项如下:
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME= diwuqingrou        #使用hostname命令查看主机名,然后替换diwuqingrou,这里填上
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

通过find命令找到这些选项并设置上去

13.开始安装【安装过程长,需等待】

切换到oracle用户,进入/oracle/database执行

su - oracle

cd /oracle/database 

./runInstaller -force -silent -noconfig -responseFile  /oracle/database/response/db_install.rsp  

14.安装之后需要执行两个脚本【页面有提示】

/u01/app/oracle/oraInventory/orainstRoot.sh

/u01/app/oracle/product/11.2.0/db_1/root.sh

15.接下来是配置监听器【确保路径没有错】

配置监听的时候可能会报错

==========================oracle11G安装过程中出错=====================
****DISPLAY environment variable not set!
    Oracle Net Configuration Assistant is a GUI tool
    which requires that DISPLAY specify a location
    where GUI tools can display.

    Set and export DISPLAY, then re-run.

需要输入下面的命令解决;

[oracle@diwuqingrou response]$ export DISPLAY=172.20.1.1:1.0

==================================================================

export  DISPLAY=172.20.1.1:1.0

netca -silent -responsefile   /oracle/database/response/netca.rsp

16.创建数据库

---------

vim /oracle/database/response/dbca.rsp  

--------

【在文件中分别找到对应的值填进去,当然GDBNAME,SID不是固定的[需跟环境变量中的相同],根据需要设置】

 
GDBNAME= "chngenesis"
SID ="chngenesis"
SYSPASSWORD= "oracle"
SYSTEMPASSWORD= "oracle"
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION=/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET= "AL32UTF8"
TOTALMEMORY= "1638" 

 

修改时可能有些参数会有所改动,可自行百度。

 

其中TOTALMEMORY ="1638" 为1638MB,物理内存2G*80%。

创建数据库;

dbca  -silent  -createDatabase   -responseFile  /oracle/database/response/dbca.rsp 

17.修改监听器【这个监听器是用于该虚拟机连接的】

先备份:

 
cp /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora  /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora.bak

 

 

修改/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora,并将其中的host切换为本机的ip

 

 

 
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = chngenesis)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
        (PROGRAM = extproc)
    )
 (SID_DESC =
      (GLOBAL_DBNAME = chngenesis)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = chngenesis)
    )
)
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 7.0.0.13)(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = /u01/app/oracle

 

先备份:

 

 
cp /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora  /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora.bak


修改/u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora中的host为本机的ip

 
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 7.0.0.13)(PORT = 1521))
chngenesis= 
(DESCRIPTION 
=(ADDRESS_LIST =
 (ADDRESS = (PROTOCOL = TCP)(HOST =7.0.0.13)(PORT = 1521))
) (CONNECT_DATA = (SID = chngenesis)
 chngenesis
) ) )

18.配置远程client连接【这里提供windows】

下载地址:http://www.oracle.com/technetwork/topics/winx64soft-089540.html

1.在instantclient_12_2目录中创建文件夹

我的目录是在D:\Downloads\instantclient_12_2

在下面创建文件夹network,network下面创建admin

创建之后的路径 D:\Downloads\instantclient_12_2\network\admin

在admin目录创建tnsnames.ora文件,接着在里面添加

 chngenesis=

(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 7.0.0.13)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = chngenesis)
) )

HOST = 7.0.0.13应该换成对应虚拟机centos的ip

2.添加一个环境变量

名为TNS_ADMIN,值为tnsnames.ora文件所在路径D:\Downloads\instantclient_12_2\network\admin,plsql通过这个找到orcl连接字符串

名为NLS_LANG,值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK

TNS_ADMIN=D:\Downloads\instantclient_12_2\network\admin
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK

3.打开PLSQL,不用登陆,找到工具-首选项-ORACLE-连接:勾选检查连接
设置Oracle主目录: D:\Downloads\instantclient_12_2

设置OCI库:D:\Downloads\instantclient_12_2\oci.dll

19.回到centos7.4,在数据库服务器中启动监听并更新注册

依次执行命令:

su - oracle   【切换到oracle用户】

lsnrctl stop  【关闭监听】

lsnrctl start  【开启监听   ---重要】

sqlplus / as sysdba; 【以管理员的身份登录】

shutdown immediate; 【关闭数据库服务】

startup;  【开启数据库服务 ---重要】 

alter system register; 【注册】

quit;【退出管理员】

lsnrctl status;【查看监听的状态】

20.回到windows7,打开sqlpdeveloper

输入用户名 sys 

密码 oracle 【之前创建的是时候设置的】

数据库:这里填写在D:\Downloads\instantclient_12_2\network\admin中tnsname.ora中定义的名字

我这里是chngenesis

连接为,这个选项根据用户的权限选择,sys是管理员,所以这里选择sysdba

点击确认就可以连接了

--------------配置oracle开机启动-----------

1.vim  /etc/oratab    将这里的N改成Y,如果是Y则不用改

chngenesis:/u01/app/oracle/product/11.2.0/db_1:Y

2. vim  /etc/rc.d/rc.local  添加如下两行

su oracle -lc "/u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start"

su oracle -lc /u01/app/oracle/product/11.2.0/db_1/bin/dbstart

3.centos7默认不会开机启动这个,所以需要为其赋予相应的权限

chmod +x /etc/rc.d/rc.local

自启动的方式有很多种,这里只是其中的一种,可以尝试其他的方式

======================bug集合=================

查看日志时若发现

未找到包含数据文件信息的文件 "/u01/app/oracle/oradata/Seed_Database.dfb"。请指定有效文件。
 

cp  /u01/app/oracle/product/11.2.0/db_1/assistants/dbca/templates/Seed_Database.dfb   /u01/app/oracle/oradata/

-------------------------------------

出现少包的情况需要安装相关的包,一般不会缺少

-------------------------------------

安装过程中最好备份相关的ora文件!切记!

 

 

 

 

 

你可能感兴趣的:(数据库)