oracle 10.2g centos7.2上静默安装步骤

1、检查内存情况(swap一般是4G )

root@namenode01 dfs]# grepMemTotal /proc/meminfo

MemTotal:       57495220 kB

[root@namenode01 dfs]# grepSwapTotal /proc/meminfo

SwapTotal:      28835836 kB

2、硬盘

只要10G以上

df –h

3、软件安装注意

系统安装时一定要安装桌面模式,否则无法安装oracle,另外请勿开启SELinux,oracle官方不建议使用SELinux,CentOS的防火墙也请暂时关闭,减少安装时的困扰。但是笔者在之前安装CentOS7时,没有点选安全模块,所有系统的防火墙模块没有装,这直接导致后面测试远程连接时花费了我很长时间,详见后面的描述,这里装没装关系不大,装的话按照接下来的步骤关闭防火墙,没装的话可以先忽略。可以使用如下命令查看。

#service iptables status  //centos6下命令

#systemctl statusiptables.service //centos7下命令

4、安装Oracle前的系统准备工作

首先,请先以root账号登入作一些前置设定作业。

1.关闭防火墙、禁用SELinux

关于防火墙配置,如果此处遇到防火墙不可用,或者提示不存在该模块等信息,请参见另一篇文章CentOS7_86_64创建Oracle实例且设置开机自启以及允许远程连接,里面有详细说明。

1)    重启后生效 (建议使用)

//centos6下

#chkconfigiptables on

#chkconfigiptables off

//centos7下

#systemctlenable iptables.service

#systemctldisable iptables.service

2)     即时生效,重启后失效

//centos6下

#serviceiptables start

#serviceiptables stop

//centos7下

#systemctlstart iptables.service

#systemctlstop iptables.service

接下来修改SELINUX=disabled,然后重启。

sed -i's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config;

mkdir -p /u01/app/oracle

root@namenode01 oracle]# gunzip10201_database_linux_x86_64.cpio.gz

2.安装依赖包

Oracle10g R2官方文档要求的安装包: 

 

rpm -q --queryformat%-{name}-%{version}-%{release}-%{arch}"\n" \ compat-dbcompat-gcc-34  gcc make binutils gcc-c++compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static kshlibaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel

安装常用软件:

yum -y install autoconf automake binutils-devel bison cpp dos2unixftp gcc gcc-c++ lrzsz python-devel

 

yum -y install binutils compat-libstdc++-33compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers kshlibaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++libstdc++.i686 libstdc++-devel make sysstat

 

yum -yinstall compat-db compat-gcc- compat-gcc-c++ compat-libstdc++-33 glibc-* glibc-*.i686 libXpm-*.i686 libXp.so.6 libXt.so.6 libXtst.so.6 libgcc_s.so.1 ksh libXp libaio-devel numactl numactl-develunixODBC unixODBC-devel

 

最后还要安装libXp这个Library,这个一定要安装,否则安装Oracle时会出现java Exception。

 

# yum  -yinstall libXp

yum whatprovides "*/xhost"

yum -y install xorg-x11-server-utils-7.7-14.el7.x86_64

6、创建Oracle用户与组

在这里只讨论单主机环境,不考虑RAC环境的配置。

执行以下指令以新增oracle安装时所需要的使用者与群组。

(1) 建立群组oinstall

# groupaddoinstall

(2) 建立群组dba

# groupadddba

(3) 新增使用者oracle并将其加入oinstall和dba群组

# useradd -m-g oinstall -G dba oracle

(4) 测试oracle账号是否建立完成

# id oracle

(5) 建立oracle的新密码

# passwd oracle

7.将oracle使用者加入到sudo群组中

# vi/etc/sudoers

oracle        ALL=(ALL)        ALL

5.配置系统内核参数

# vi /etc/sysctl.conf

fs.aio-max-nr= 1048576

fs.file-max= 6553600

kernel.shmall= 2097152

kernel.shmmax= 8588934592

kernel.shmmni= 4096

kernel.sem =250 32000 100 128

net.ipv4.ip_local_port_range= 1024 65000

net.core.rmem_default= 262144

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.core.wmem_max= 1048586

vm.hugetlb_shm_group=1002

注明:

kernel.shmall= 4294967296 //表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改 
kernel.shmmax = 68719476736 //
定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G 
kernel.shmmni = 4096 //
用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096。通常不需要更改 
kernel.sem = 250 32000 100 128 //
表示设置的信号量 
net.ipv4.ip_local_port_range = 1024 65000 

net.core.rmem_default=4194304 //默认的接收窗口大小 
net.core.rmem_max=4194304 //
接收窗口的最大大小 
net.core.wmem_default=262144 //
默认的发送窗口大小 
net.core.wmem_max=262144 //
发送窗口的最大大小 
vm.hugetlb_shm_group=1002 //
这里1002oracle用户组dbagid,原文这里没有配置,这里一定要配置,要不然后面每次重启后,启动oracle实例都会碰到一个错误

 

编辑完之后,储存,然后执行:

# sysctl -p

 

vi /etc/security/limits.conf

添加以下四行

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

 

编辑/etc/pam.d/login

# vi /etc/pam.d/login

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

修改/etc/profile

# vi /etc/profile

if [ $USER = "oracle" ]; then

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

   ulimit -p 16384

   ulimit -n 65536

  else

   ulimit -u 16384 -n 65536

  fi

fi

 

9、修改Linux发行版本信息

 

由于Oracle 10g发行的时候,CentOS 6/7没有发行,所以Oracle 10g并没有对CentOS 6/7确认支持,需要修改文件让Oracle 10g支持CentOS 6/7。

我们需要手工修改Linux的发行注记,让Oracle 10g支持CentOS 6/7。

编辑/etc/redhat-release文件

 

# vi /etc/redhat-release

redhat-4

创建oracle安装文件夹以及数据存放文件夹

[root@namenode01 dfs]# mkdir-p /u01/app/oracle

[root@namenode01 dfs]# mkdir-p /u01/app/oracle/product/10.2.0/db_1

[root@namenode01 dfs]# chown -R oracle:oinstall /u01/

 

10、配置oracle用户环境变量

$ cd /home/oracle

$ vi .bash_profile

修改并加入以下內容

exportORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_SID=ora10

export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

保存后使用如下命令,使设置生效:

source/home/oracle/.bash_profile

以下红色部分本文不用(图形化界面需要该步骤)

Xmanager中安装数据库 (切换到刚才解压的目录下,运行:)

export DISPLAY=IP:0.0

$./runInstaller

exportDISPLAY=192.168.238.40:0 

cd /u01/app/oracle/database/                               

./runInstaller   

 

 11.解压软件

root@namenode01 oracle]# gunzip10201_database_linux_x86_64.cpio.gz

[oracle@namenode01 oracle]$cpio -idmv <10201_database_linux_x86_64.cpio

 12、静默安装数据库

[oracle@namenode01 database]$ cp  response/enterprise.rsp /home/oracle/

[oracle@namenode01 database]$ cd/home/oracle 

[oracle@namenode01 response]$ ls

enterprise.rsp 

[oracle@oracle udump]$ vi /home/oracle//enterprise.rsp

RESPONSEFILE_VERSION=2.2.1.0.0

FROM_LOCATION="../stage/products.xml"

ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1"

ORACLE_HOME_NAME="OraDb10g_home1"

TOPLEVEL_COMPONENT={"oracle.server","10.2.0.1.0"}

DEINSTALL_LIST={"oracle.server","10.2.0.1.0"}

SHOW_SPLASH_SCREEN=false

SHOW_WELCOME_PAGE=false

SHOW_COMPONENT_LOCATIONS_PAGE=false

SHOW_CUSTOM_TREE_PAGE=false

SHOW_SUMMARY_PAGE=false

SHOW_INSTALL_PROGRESS_PAGE=false

SHOW_REQUIRED_CONFIG_TOOL_PAGE=false

SHOW_CONFIG_TOOL_PAGE=false

SHOW_RELEASE_NOTES=false

SHOW_ROOTSH_CONFIRMATION=false

SHOW_END_SESSION_PAGE=false

SHOW_EXIT_CONFIRMATION=false

NEXT_SESSION=false

NEXT_SESSION_ON_FAIL=false

SHOW_DEINSTALL_CONFIRMATION=false

SHOW_DEINSTALL_PROGRESS=false

ACCEPT_LICENSE_AGREEMENT=true

COMPONENT_LANGUAGES={"en"}

SELECTED_LANGUAGES=en,zh_CN

CLUSTER_NODES=

INSTALL_TYPE="EE"

s_nameForDBAGrp=dba

s_nameForOPERGrp=dba

b_oneClick=false

SHOW_DATABASE_CONFIGURATION_PAGE=false

b_createStarterDB=false

 

 13,创建库

[oracle@elk02 admin]$ cd  $ORACLE_HOME/assistants/dbca/templates

[oracle@elk02 templates]$ ls

Data_Warehouse.dbc  General_Purpose.dbc  Seed_Database.dfb

example01.dfb       New_Database.dbt     Transaction_Processing.dbc

example.dmp         Seed_Database.ctl

[oracle@elk02 templates]$ cpGeneral_Purpose.dbc ~

[oracle@elk02 templates]$ vi/home/oracle/dbca.rsp

cat dbca.rsp |grep -Ev "^$|^[#;]"

[GENERAL]

RESPONSEFILE_VERSION = "10.0.0"  //不能更改

OPERATION_TYPE = " createDatabase "

[CREATEDATABASE]

GDBNAME = "hxy01"  //数据库的名字

SID = " orcl10g "    //对应的实例名字

TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件

SYSPASSWORD = "oracle"   //SYS管理员密码

SYSTEMPASSWORD = "oracle"  //SYSTEM管理员密码

DATAFILEDESTINATION = /u01/app/oracle/oradata     //数据文件存放目录

RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area  //恢复数据存放目录

CHARACTERSET = "ZHS16GBK"   //字符集,重要!!!建库后一般不能更改,所以建库前要确定清楚。

[oracle@elk02 templates]$ dbca -silent-responseFile /home/oracle/dbca.rsp

 

 14、安装监听

机器需要有java

[oracle@elk02 database]$ netca /silent/responsefile /home/oracle/netca.rsp

 

Parsing command line arguments:

   Parameter "silent" = true

   Parameter "responsefile" = /home/oracle/netca.rsp

Done parsing command line arguments.

Oracle Net Services Configuration:

Profile configuration complete.

Listener started at port:1522

Oracle Net Listener Startup:

   Running Listener Control:

     /u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start LISTENER

   Listener Control complete.

   Listener started successfully.

Listener configuration complete.

Default local naming configurationcomplete.

Oracle Net Services configurationsuccessful. The exit code is 0

 

cp $ORACLE_BASE/admin/hxy01/pfile/init.ora.882017161519 /u01/app/oracle/product/10.2.0/db_1/dbs/initora10.ora

启动数据库

[oracle@elk02 ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 10.2.0.1.0 - Productionon Fri Sep 8 17:57:28 2017

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup

ORACLE instance started.

 

Total System Global Area 2432696320 bytes

Fixed Size                  2022696 bytes

Variable Size             520094424 bytes

Database Buffers         1895825408 bytes

Redo Buffers               14753792 bytes

Database mounted.

Database opened.

SQL> select instance from v$thread;

 

INSTANCE

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

ora10

 

SQL> show parameter name

 

NAME                                 TYPE        VALUE

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

db_file_name_convert                 string

db_name                              string      hxy01

db_unique_name                       string      hxy01

global_names                         boolean     FALSE

instance_name                        string      ora10

lock_name_space                      string

log_file_name_convert                string

service_names                        string      hxy01

SQL> alter system archive log current;

alter system archive log current

*

ERROR at line 1:

ORA-00258: manual archiving in NOARCHIVELOGmode must identify log

 

 

SQL> alter database backup controlfileto trace resetlogs;

 

Database altered.

 

SQL> show parameter log_archive_dest_1

 

NAME                                 TYPE        VALUE

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

log_archive_dest_1                   string

log_archive_dest_10                  string

SQL> select * from v$log;

 

   GROUP#    THREAD#  SEQUENCE#     BYTES    MEMBERS ARC STATUS

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

FIRST_CHANGE# FIRST_TIM

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

        1          1          2  52428800          1 NO  INACTIVE

      532071 08-SEP-17

 

        2          1          3  52428800          1 NO  CURRENT

      557161 08-SEP-17

 

        3          1          1  52428800          1 NO  INACTIVE

      525876 08-SEP-17

 

 

SQL> create user test identified bytest;

 

User created.

你可能感兴趣的:(oracle)