ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Centos 6.9 版本静默安装Oracle11g

2021-01-27 11:57:24  阅读:181  来源: 互联网

标签:java Centos dbserver etc Oracle11g oracle home root 6.9


Centos 6.9 内网版本静默安装Oracle11g

1、需要环境jdk1.8
一般Centos6版本的都自带openJDK 。所以先把openJDK删除掉。

查看安装版本的openjdk:rpm -qa|grep java

存在oopenjdk的时候要进行删除。

删除命令: rpm -e --nodeps 安装版本

解压jdk压缩包: tar-zxvfjdk-8u151-linux-x64.tar.gz

然后修改profile配置文件:vi/etc/profile,在配置文件中加入:

export  JAVA_HOME=/usr/local/jdk1.8.0_151
export  CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib
export  PATH=$PATH:$JAVA_HOME/bin
 重新加载配置文件是修改生效: `source/etc/profile`
 测试:`java -version`

如图所示:安装成功
如图所示:安装成功

2. oracle依赖包:
gcc-c++ compat-libstdc+±33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel
根据Oracle官网上安装的描述,必须安装以上依赖包。
下载之后同一安装。
Rpm统一安装命令: rpm -Uvh *.rpm --nodeps --force

3.配置一些linuxx环境信息

1、关闭selinux 。
编辑 /etc/selinux/config文件,设置SELINUX= enforcing 为 SELINUX=disabled

vim /etc/selinux/config
  [ 想要弄明白selinux 看这篇文章](https://blog.csdn.net/yanjun821126/article/details/80828908)

   关掉selinux是因为避免安装Oracle出现意想不到的错误。

2、关掉防火墙。
查看系统版本:cat /etc/redhat-release
在这里插入图片描述

Centos 6 版本

# 查看防火墙状态

 service iptables status

# 关闭防火墙

service  iptables  stop

#永久关闭防火墙

 chkconfig iptables off

Centos 7 版本

#查看防火墙状态:

systemctl status firewalld

#停止防火墙:

systemctl stop firewalld

#关闭自启动防火墙服务:

systemctl disable firewalld

3、添加安装用户和用户组

[root@dbserver etc] groupadd oinstall
[root@dbserver etc] groupadd dba
[root@dbserver etc] useradd -g oinstall -G dba oracle
[root@dbserver etc] passwd oracle
Changing password for user oracle.
New password:
Retype new password:
[root@zsy etc]# id oracle
uid=501(oracle) gid=502(oinstall) groups=502(oinstall),501(dba)

③修改内核参数配置文件 优化TCP
修改配置文件 :vim /etc/sysctl.conf
在后面添加如下参数:

#同时可以拥有的的异步IO请求数目 
fs.aio-max-nr = 1048576
 #文件句柄的最大数量
 fs.file-max = 6815744
 #所有内存大小(单位:页,1页 = 4Kb),计算公式16G*1024*1024*1024/4KB(页)
 kernel.shmall = 2097152 
#单个共享内存段的大小(单位:字节)限制,计算公式64G*1024*1024*1024(字节)
 kernel.shmmax = 1073741824
 #整个系统的内存segment的总个数,设置系统级最大共享内存段数量
 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。

查看是否成功写进/etc/sysctl.conf文件中:

[root@dbserver software]# sysctl -p

4、修改用户的限制文件
修改/etc/security/limits.conf文件:

[root@dbserver etc]# 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 

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

[root@dbserver etc]# vim /etc/pam.d/login

在末尾添加以下内容:

session    required     /lib64/security/pam_limits.so

session    required     pam_limits.so

修改/etc/profile文件:

[root@dbserver etc]# vim /etc/profile

在末尾添加以下内容:

#oracle配置

if [ $USER = "oracle" ]; then

  if [ $SHELL = "/bin/ksh" ]; then

      ulimit -p 16384

      ulimit -n 65536

  else

      ulimit -u 16384 -n 65536

  fi

fi

5、创建安装目录和设置文件权限

[root@dbserver~]# mkdir -p /home/data/oracle11/oracle/product/11.2.0

[root@dbserver~]# mkdir -p /home/data/oracle11/oracle/oradata

[root@dbserver ~]# mkdir -p /home/data/oracle11/oracle/inventory

[root@dbserver~]# mkdir -p /home/data/oracle11/oracle/fast_recovery_area

[root@dbserver~]# chown -R oracle:oinstall /home/data/oracle11/oracle

[root@dbserver~]# chmod -R 775 /home/data/oracle11/oracle

6、设置oracle用户环境变量

首先切换到oracle用户下:

[root@dbserver software]# su -l oracle

 

[oracle@dbserver ~]$ vim .bash_profile

在末尾添加如下内容:

ORACLE_BASE=/home/data/oracle11/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0

ORACLE_SID=orcl

PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

注意,标红处必须与创建的数据库实例名称一致,否则数据库启动后无法访问。第一次配置完记得source一下。

[oracle@dbserver ~]$ source .bash_profile

7、编辑静默安装响应文件

复制安装文件夹response到当前oracle用户的家目录下:

[root@dbserver home]# su - oracle

[oracle@dbserver ~]$ cp -R /home/database/response/ .

[oracle@dbserver ~]$ cd response/

[oracle@dbserver response]$ vim db_install.rsp

需要设置的选项如下:


```bash
oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=dbserver

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/home/data/oracle11/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/home/data/oracle11/oracle/product/11.2.0

ORACLE_BASE=/home/data/oracle11/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

8、根据响应文件静默安装Oracle11g

 [oracle@dbserver response]$ cd /home/database/

[oracle@dbserver database]$ ./runInstaller -silent -responseFile /home/database/response/db_install.rsp -ignorePrereq

在执行sh ./database/runInstaller -silent -noconfig -responseFile ./database/response/db_install.rsp时,提示:

$ Exception in thread "main" java.lang.NoClassDefFoundError
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at java.awt.Toolkit$2.run(Toolkit.java:821)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)
        at com.jgoodies.looks.LookUtils.isLowResolution(Unknown Source)
        at com.jgoodies.looks.LookUtils.<clinit>(Unknown Source)
        at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>(PlasticLookAndFeel.java:122)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:242)
        at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1783)
        at javax.swing.UIManager.setLookAndFeel(UIManager.java:480)
        at oracle.install.commons.util.Application.startup(Application.java:758)
        at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)
        at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)
        at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)
        at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)
        at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)

1 .用root用户在系统中设置了DISPLAY环境变量

  执行:unset DISPLAY     然后再执行runInstaller.sh,执行成功

2.以oracle的身份登录系统,然后执行

./runInstaller -silent -responseFile /home/database/response/db_install.rsp -ignorePrereq

在这里插入图片描述

表示安装成功。

9、按照要求执行脚本。

打开终端,退出到root身份登录,执行脚本

[oracle@dbserver database]$ exit

Logout

[root@ybkf ~]# sh /home/data/oracle11/oracle/inventory/orainstRoot.sh

Changing permissions of /home/data/oracle11/oracle/inventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

 

Changing groupname of /home/data/oracle11/oracle/inventory to oinstall.

The execution of the script is complete.

在这里插入图片描述

[root@dbserver~]# sh /home/data/oracle11/oracle/product/11.2.0/root.sh
linux查看主机名
[root@dbserver~]# hostname

在这里插入图片描述

10、以静默方式配置监听
重新使用oracle用户登录

[root@dbserver~]# su oracle

注意此处,必须使用/silent /responseFile格式,而不是-silent -responseFile,因为是静默安装

[oracle@dbserver~]$ netca /silent /responseFile /home/database/response/netca.rsp/

在静默安装的时候可能出现很多问题。我下面列举一下:
1.用户与IP未对应

在这里插入图片描述

先查看自己的hostname
[root@dbserver~]# hostname

修改network文件
然后修改/etc/sysconfig下的network文件:

[root@dbserver~]# cd /etc/sysconfig
[root@dbserver sysconfig]# vi network
NETWORKING=yes
HOSTNAME= dbserver

修改hosts文件

[root@dbserver sysconfig]# cd /etc
[root@dbserver etc]# vi hosts

在这里插入图片描述
添加 ip 10.120.83.23 为本机ip dbserver为用户名 做好映射。

2.监听的配置文件
会出现监听安装成功,但是监听端口没起来。 一般是配置文件配置有问题
切换目录

[root@dbserver] # cd   $ORACLE_HOME/network/admin/

在admin下有 listener.ora、tnsnames.ora 两个文件。修改这两个文件。如果目录下不存在这两个文件的话,在samples里面有。

  listener.ora 文件

在这里插入图片描述
HOST就是配置的用户名,SERVICE_NAME 就是安装时候的实例名。

 tnsnames.ora 文件
ISTENER =
(DESCRIPTION LIST =
( DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbserver)(PORT = 1521))
( ADDRESS 三(PROTOCOL = IPC)(KEY = EXTPR0C1521) )
ADR_ BASE_ LISTENER = "实际的安装目录" --/home/data/oracle11/oracle

在这里插入图片描述
adr_base_listener 为你的监听地址。

3.还有一些是配置权限的问题。
例如一些上传的文件是root的用户 用户组是root 最好赋予775权限。改为 oracle:oinstall

4.切换 oralce用户 执行命令

  [oracle@dbserver~]$ netca /silent /responseFile /home/database/response/netca.rsp/
Parsing command line arguments:

    Parameter "silent" = true

    Parameter "responsefile" = /home/database/response/netca.rsp/

Done parsing command line arguments.

Oracle Net Services Configuration:

Profile configuration complete.

Oracle Net Listener Startup:

    Running Listener Control:

      /home/data/oracle11/oracle/product/11.2.0/bin/lsnrctl start LISTENER

    Listener Control complete.

    Listener started successfully.

Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0

在这里插入图片描述
成功运行后,在/home/data/oracle11/oracle /product/11.2.0/network/admin中生成listener.ora和sqlnet.ora

通过netstat命令可以查看1521端口正在监听

[root@dbserver~]# netstat -tnulp | grep 1521

在这里插入图片描述
如果没有安装netstat的话可以用lsof -i 1521 查看

11.以静默方式建立新库,同时也建立一个对应的实例

[oracle@dbserver~]$ vim /home/oracle/response/dbca.rsp

修改文件中以下参数:

[GENERAL]
**oracle版本,不能更改**
RESPONSEFILE_VERSION = "11.2.0"
 Description   : Type of operation
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
 
 Description   : Global database name of the database
 全局数据库的名字=SID+主机域名
 第三方工具链接数据库的时候使用的service名称
GDBNAME = "orcl"

 Description   : System identifier (SID) of the database
 对应的实例名字
SID = "orcl"

 Description   : Name of the template
#建库用的模板文件
TEMPLATENAME = "General_Purpose.dbc"

Description   : Password for SYS user
SYS管理员密码
SYSPASSWORD = "123456"

 
 Description   : Password for SYSTEM user
SYSTEM管理员密码
SYSTEMPASSWORD = "123456"

 
 Description   : Password for SYSMAN user
 SYSMAN管理员密码
SYSMANPASSWORD = "123456"

 
 Description   : Password for DBSNMP user
DBSNMP管理员密码
DBSNMPPASSWORD = "123456"

 

 Description   : Location of the data file's
 数据文件存放目录
DATAFILEDESTINATION =/home/data/oracle11/oracle/oradata

 
Description   : Location of the data file's
 恢复数据存放目录
RECOVERYAREADESTINATION=/home/data/oracle11/oracle/fast_recovery_area

 

Description   : Character set of the database
 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
(CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8")
CHARACTERSET = "AL32UTF8"

 Description   : total memory in MB to allocate to Oracle
 oracle内存1638MB,物理内存2G*80%
TOTALMEMORY = "1638" 

进行静默配置:

[oracle@dbserver~]$ dbca -silent -responseFile /home/oracle/response/dbca.rsp

在这里插入图片描述
建库后进行实例进程检查:

[oracle@dbserver~]$ ps -ef | grep ora_ | grep -v grep

在这里插入图片描述
查看监听状态:

[oracle@dbserver~]$ lsnrctl status

在这里插入图片描述

数据库创建完成。

有关详细信息, 请查看以下位置的日志文件: /home/data/oracle11/oracle/cfgtoollogs/dbca/orcl/orcl.log

数据库信息:

全局数据库名:orcl

系统标识符 (SID):orcl

登录查看实例状态

[oracle@dbserver orcl]$ sqlplus / as sysdba

SQL> select status from v$instance;

在这里插入图片描述

1、创建用户
语法:CREATE USER 用户名 IDENTIFIED BY 密码

SQL> create user admin identified by 123456;

2、将刚创建的用户解锁/锁住
语法:ALTER USER 用户名 ACCOUNT UNLOCK/LOCK
//用户解锁

SQL> alter user admin account unlock;

//用户锁住 (知道该命令就行,不要随便锁定用户)

SQL> alter user admin account lock;

3、授予新登陆的用户创建权限:
语法:CRANT CREATE SESSION TO 用户名

SQL> grant create session to admin;

4、授予新创建的用户数据库管理员权限
语法:CRANT DBA TO 用户名;

SQL> grant dba to admin;

.

5、切换到新创建的用户登陆
语法:CONNECT 用户名/密码

SQL> connect admin/123456;

以上内容大致如上,有安装遇到其他的问题或者需要安装包依赖包的可以给我留言!

标签:java,Centos,dbserver,etc,Oracle11g,oracle,home,root,6.9
来源: https://blog.csdn.net/qq_44741984/article/details/113179320

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有