【数据库】CentOS6.8 静默安装Oracle11g 和 卸载

不再建议使用 CentOS安装 Oracle如有需要,建议使用 Docker 安装,非常简单和快速

1. 深夜 安装 Oracle 未完成,,进展 为 创建数据库 时  lost  contact 。怀疑是  安装软件时 使用的 hostname有关。

重新安装了一次成功了,特此记录下。

有一些特殊的地方,先说下:

vi 和 vim 没什么区别,vim 功能更强大,不过 vi 也够用。

su - 和 su  切换用户,su -  会切换用户的 环境变量, su 只是单纯的切换用户,尽管我的文章没有用到,但还是说一下。

/home/oracle/database  放置的是 oracle 的安装文件,其中 db_install.rsp 、netca.rsp、dbca.rsp 放在database/response中

                        分别为 oracle软件的安装文件,网络监听配置文件,数据库实例创建文件。

 

****预备工作,通过 echo $HOSTNAME 查询 主机名,然后查询服务器的内网地址(据说 127.0.0.1 不能用)

 **********通过 vi /etc/hosts 编辑 新增一条映射      格式为: 内网地址    查询的主机名  (参看下图)

【数据库】CentOS6.8 静默安装Oracle11g 和 卸载_第1张图片

正式开始:

 

1.增加虚拟内存:

使用root用户shell 登录到服务器后台,逐行执行以下代码:

dd if=/dev/zero of=/swapadd bs=1024 count=2006424
mkswap /swapadd
swapon /swapadd

2. 检查 Oracle 依赖包: 执行 以下代码,检查 系统 是否是安装以下 包,如果某个包没有安装,使用 yun install xxx 安装即可。

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

3. 安装依赖包: 即为 举例,至于需要安装哪个包,要参看 第2步的输出提示信息,看看 缺少哪个包。

yum install compat-libstdc++-33 
yum install elfutils-libelf-devel 
yum install gcc-c++ 
yum install glibc-2.5 
yum install ksh 
yum install libaio 
yum install libaio-devel 
yum install libstdc++-devel 
yum install unixODBC 
yum install unixODBC-devel

4. 创建用户和组 : 此时先查看 是否存在  /home/oracle 目录,如果不存在,请通过 mkdir -p /home/oracle 来创建。

然后,逐行执行以下代码,执行到 passwd oracle 的时候,按提示信息修改密码。建议安装过程中使用统一的密码,后期可改

groupadd oinstall  
groupadd dba  
useradd -g oinstall -G dba oracle -d /home/oracle  
passwd oracle  

5. 修改内核参数:(此处我不太清楚,之前安装,没有修改过这里,怀疑为 RAC 需要,建议按格式改)

通过   vim /etc/sysctl.conf 打开文件,增加或修改以下内容:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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

6. 修改用户限制:

①通过  vim /etc/security/limits.conf  打开文件,新增或修改以下内容:

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

②通过 vim /etc/pam.d/login 打开文件,新增或修改以下内容:

session  required   pam_limits.so

③通过 vim /etc/profile 打开文件,新增或修改以下内容: (注意 if 和 【 之间有个空格,; 和 then 有个空格)

     如果格式正确,这段代码 会改变颜色。

if [ $USER = "oracle" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
      ulimit -p 16384
      ulimit -n 65536
      else
      ulimit -u 16384 -n 65536
   fi
fi

  执行   source /etc/profile   使修改的文件生效。

7. 创建安装目录:(此处 /opt/Server/DB 是我自定义的安装目录,如果你自己 想安装在其他地方,请记住将之后所有地方修改下)

mkdir -p /opt/Server/DB/
chown -R oracle:oinstall /home/oracle
chmod -R 775 /home/oracle
chown -R oracle:oinstall /opt/Server/DB/
chmod -R 775 /opt/Server/DB/

   创建和修改 oraInst.loc: ( 通过 vim /etc/oraInst.loc 创建该文件,并新增以下内容 )

inventory_loc=/opt/Server/DB/oracle/oraInventory
inst_group=oinstall

为该文件 授权 :

chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc

8. 上传解压 oracle 安装包:(建议安装包放到  /home/oracle,前面已经设置过了,此时最好也这么放)

 执行以下命令,在当前目录会产生 database 文件夹,内容为 oracle 安装 和 创建实例的文件,还有 网络配置文件。

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

9. 复制 响应文件模板:  (此时复制为了防止 改错东西)使用 root 用户窗口,依次执行:

cd /home/oracle/
mkdir etc
cp /home/oracle/database/response/* /home/oracle/etc/
chmod 777 /home/oracle/etc/*.rsp

10. 设置 oracle 环境变量:(此时注意,建议使用shell 的童鞋 新开一个 窗口,使用 oracle登录)

   在 oracle 用户下,通过 vim  ~/.bash_profile  打开文件:(新增或编辑以下内容)

export ORACLE_BASE=/opt/Server/DB/oracle
export ORACLE_SID=orcl

 然后执行, source /home/oracle/.bash_profile  使环境变量生效。

 再执行,env  查看 环境变量是否修改成功。

11. 修改Oracle 软件安装配置文件

 在 oracle 用户下,通过 vim /home/oracle/etc/db_install.rsp 打开文件:

(此时不建议在 shell中修改,内容太多,建议使用xftp将文件打开或者 拿到本地修改,改完再上传到服务器)

此时有两种方案,

第一种,我从网上找的,我觉得人家写的很细,应该可以,但我测试没成功,但我不能否定,所以给大家提供参考。

第二种,我结合 第一种 修改之后,做了一些改动,测试成功了,也给大家提供参考。

 

① 网上的文件,需要修改的内容为:(参看 以下内容 对 服务器上的 db_install.rsp 文件做相应修改)

需要注意 ORACLE_HOSTNAME   INVENTORY_LOCATION  ORACLE_HOME ORACLE_BASE  xxxx.password.ALL

与之前的你自己设置过的 一致。

oracle.install.option=INSTALL_DB_SWONLY // line 29, install type

ORACLE_HOSTNAME=VM_62_198_centos // line 37, your hostname, use command hostname to get
UNIX_GROUP_NAME=oinstall // line 42, user's group

INVENTORY_LOCATION=/u01/app/oracle/oraInventory // line 47, INVENTORY derectory

SELECTED_LANGUAGES=en,zh_CN,zh_TW // line 78, language

ORACLE_HOME=/opt/server/DB/oracle/product/11.2.0/db_1 // line 83, oracle_home

ORACLE_BASE=/opt/server/DB/oracle // line 88, oracle_base

oracle.install.db.InstallEdition=EE // line 99, oracle version

oracle.install.db.isCustomInstall=true // line 108, true means you can custom some configrations

oracle.install.db.DBA_GROUP=dba // line 142,  dba group

oracle.install.db.OPER_GROUP=oinstall // line 147,  oper group

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE // line 160,  db type

oracle.install.db.config.starterdb.globalDBName=orcl // line 165,  global DBName

oracle.install.db.config.starterdb.SID=orcl // line 170, SID

oracle.install.db.config.starterdb.memoryLimit=512 // line 192, min ram use

oracle.install.db.config.starterdb.password.ALL=oracle // line 233, all dba user password

DECLINE_SECURITY_UPDATES=true // line 385, security updates

我修改完成 ,测试的时候,执行安装操作,shell 窗口被清空了。不知道为什么。

后来自己改了一个文件,执行通过了,

②:自己安装使用的文件 :亲测可用 (同样 根据自己的情况做修改,必要修改项 同上)


oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=VM_62_198_centos

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/opt/Server/DB/oracle/oraInventory

SELECTED_LANGUAGES=en,zh_CN,zh_TW

ORACLE_HOME=/opt/Server/DB/oracle/product/11.2.0/db_1

ORACLE_BASE=/opt/Server/DB/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=true

oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0

oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=512
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true

12. 安装工作:(使用 oracle 的shell 窗口)

cd /home/oracle/database
./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq

 此时就开始安装了,如果 窗口被清空了,说明 db_install.rsp  有问题,建议 修改。

   如果 输出两行 之后,就 卡了,就多等一会。如图:Please wait... 之后,我ctrl + c 了,此时不用急,多等几秒就好。

【数据库】CentOS6.8 静默安装Oracle11g 和 卸载_第2张图片

 提示信息 显示安装成功了。开心。

如果没有提示,可以通过 以下命令 查询。

cd $ORACLE_BASE/oraInventory/logs

tail -100f installActions*.log

安装完成 使用 root 用户窗口,执行:

/opt/Server/DB/oracle/product/11.2.0/db_1/root.sh

13. 配置 oracle的环境变量

 使用 oracle 用户 窗口,通过  vim ~/.bash_profile 打开文件:(新增或者修改内容)

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data

修改完成,通过 执行 source /home/oracle/.bash_profile 使修改生效。

14. 配置网络监听:直接执行,文件不用修改

$ORACLE_HOME/bin/netca /silent /responseFile /home/oracle/etc/netca.rsp

    输出内容 如下: 

【数据库】CentOS6.8 静默安装Oracle11g 和 卸载_第3张图片

 

15.创建数据库实例:(网上找了很多,最后自己通过多次尝试做了自己的)

 

第一张图片是个 示意,是我做了换行处理的,不要复制,需要修改的地方: 

-gdbname 后面的值,内容是 orcl+你的主机名

-sysPassword 后面的值,内容是 你的密码 

-datafileDestination  后面的值,内容与 前文一致

-revoveryAreaDestination 后面的值,内容与 前文一致

/opt/Server/DB/oracle/product/11.2.0/db_1/bin/dbca -silent -createDatabase 
-templateName General_Purpose.dbc -gdbname orcl.VM_62_198_centos -sid 
orcl -sysPassword Jiang_2966 -systemPassword Jiang_2966 -responseFile 
NO_VALUE -datafileDestination /opt/Server/DB/oracle/oradata/ -redoLogFileSize 
50 -recoveryAreaDestination /opt/Server/DB/oracle/flash_recovery_area 
-storageType FS -characterSet AL32UTF8 -nationalCharacterSet UTF8 -sampleSchema 
false -memoryPercentage 30 -totalMemory 4096 -databaseType OLTP -emConfiguration 
NONE 

下面的内容可以复制,复制之后,按上边的要求修改,之后通过 oracle 用户 的 窗口,执行,

/opt/Server/DB/oracle/product/11.2.0/db_1/bin/dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl.VM_62_198_centos -sid orcl -sysPassword Jiang_2966 -systemPassword Jiang_2966 -responseFile NO_VALUE -datafileDestination /opt/Server/DB/oracle/oradata/ -redoLogFileSize 50 -recoveryAreaDestination /opt/Server/DB/oracle/flash_recovery_area -storageType FS -characterSet AL32UTF8 -nationalCharacterSet UTF8 -sampleSchema false -memoryPercentage 30 -totalMemory 4096 -databaseType OLTP -emConfiguration NONE 

执行窗口输出如下:

【数据库】CentOS6.8 静默安装Oracle11g 和 卸载_第4张图片

通过 cat /opt/Server/DB/oracle/cfgtoollogs/dbca/orcl/orcl.log  也可以查看执行结果:

【数据库】CentOS6.8 静默安装Oracle11g 和 卸载_第5张图片

如果结果中 出现 lost contact ,可能是 hostname  有问题,我也遇到过,我卸载重装了。

16. 建库后 实例检查

ps -ef | grep ora_ | grep -v grep | wc -l
ps -ef | grep ora_ | grep -v grep

不知道有什么用,第一条我的结果是 21  第二条信息 21条信息。(我怀疑是建库完成,之前配置的网络监听就自己启动了)

17. 建库后监听检查

lsnrctl status

【数据库】CentOS6.8 静默安装Oracle11g 和 卸载_第6张图片

出现如下结果 就 大功告成了。

19. 登录数据库  逐行执行:

sqlplus / as sysdba

conn /as sysdba  连接到数据本地数据

alter user system identified by password;   修改System 密码  为password

alter user scott identified by password;  以后常用 scott 操作数据库,此时改个密码

alter user scott account unlock;  scott 默认 是 lock状态,使用前 需要解锁

craete user test identified by password;  也可以自己创建用户

grant resource,conn to scott;  用户的权限有可能不够,需要授权

grant dba to scott;    用户的权限有可能不够,需要授权

此时 就可以 远程访问数据库了。(使用的datagrip ,当然 使用 Navicate 也是可以的)

【数据库】CentOS6.8 静默安装Oracle11g 和 卸载_第7张图片

 

....未完待续,如果大家在安装过程中,遇到问题,可以留言,我经常在的。

不再建议使用 CentOS安装 Oracle如有需要,建议使用 Docker 安装,非常简单和快速

下面是 卸载的流程,这篇博客写的好,请移步:

https://www.cnblogs.com/mawanglin2008/articles/3527525.html

 

 

 

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