暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

ORACLE 11g静默安装及配置过程

叶同学专栏 2021-04-16
2006

安装数据库

1.解压

unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip

解压2个软件包到当前目录database
,用于安装单机模式

2.关停服务

systemctl disable iptables.service
systemctl disable ip6tables.service
systemctl stop    firewalld
systemctl disable firewalld
systemctl disable cups.service
systemctl disable firstboot.service
systemctl disable wpa_supplicant.service
systemctl disable postfix.service

3.安装依赖包

yum install -y binutils
yum install -y compat-libcap1
yum install -y compat-libstdc++-33
yum install -y glibc
yum install -y glibc-devel
yum install -y ksh
yum install -y libaio
yum install -y libaio-devel
yum install -y libX11
yum install -y libXau
yum install -y libXi
yum install -y libXtst
yum install -y libgcc
yum install -y libstdc++
yum install -y libstdc++-devel
yum install -y libxcb
yum install -y make
yum install -y nfs-utils
yum install -y net-tools
yum install -y smartmontools
yum install -y sysstat
yum install -y unixODBC
yum install -y unixODBC-devel
yum install -y gcc
yum install -y gcc-c++
yum install -y libXext
yum install -y zlib-devel

4.配置内核参数

cat >> /etc/sysctl.conf <<EOF
##oracle_install
fs.aio-max-nr = 1048576  
fs.file-max = 6815744  
kernel.shmall = 3217549
kernel.shmmax = 16473853952 
kernel.shmmni = 4096  
kernel.sem = 250 32000 100 128  
net.ipv4.ip_local_port_range = 9000 65500  
net.core.rmem_default = 262144   
net.core.wmem_default = 262144  
net.core.rmem_max = 16777216 
net.core.wmem_max = 16777216

net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
EOF

5.添加ulimit限制

cat >> /etc/security/limits.conf <<EOF
oracle              soft    nproc   2047  
oracle              hard    nproc   16384  
oracle              soft    nofile  1024  
oracle              hard    nofile  65536 
oracle              soft    stack   10240
oracle              hard    stack   10240
EOF


6.添加组及用户

groupadd dba
useradd -g dba -G dba oracle
passwd oracle

7.设置环境变量

# vi /home/oracle/.bashrc 
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4
export ORACLE_SID=yejf
export ORACLE_OWNER=oracle
export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
export NLS_LANG=american_america.ZHS16GB

8.创建目录及授权

mkdir -p /oracle/product/11.2.0.4
mkdir -p /oradata/
mkdir -p /oraarch/
chown -R oracle:dba /oracle
chmod -R 775 /oracle
chown -R oracle:dba /oradata
chmod -R 775 /oradata

9.重启服务器

reboot

10.编辑应答文件

cat > /home/oracle/db_install.rsp<<EOF

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

oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle
UNIX_GROUP_NAME=dba
INVENTORY_LOCATION=/oracle/app/oraInventory 
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/oracle/product/11.2.0.4
ORACLE_BASE=/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0

oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=tencentdb
oracle.install.db.config.starterdb.SID=tencentdb
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=
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.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
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
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=

EOF

11.安装数据库

[oracle@oracle database]$ /usr/local/database/runInstaller -silent -responseFile /home/oracle/db_install.rsp
正在启动 Oracle Universal Installer...

检查临时空间: 必须大于 120 MB。   实际为 45060 MB    通过
检查交换空间: 必须大于 150 MB。   实际为 2047 MB    通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2020-04-21_05-08-35PM. 请稍候...

[WARNING] [INS-32055] 主产品清单位于 Oracle 基目录中。
   原因: 主产品清单位于 Oracle 基目录中。
   操作: Oracle 建议将此主产品清单放置在 Oracle 基目录之外的位置中。

 [WARNING] [INS-13014] 目标环境不满足一些可选要求。
   原因: 不满足一些可选的先决条件。有关详细信息, 请查看日志。/tmp/OraInstall2020-04-21_05-08-35PM/installActions2020-04-21_05-08-35PM.log
   操作: 从日志 /tmp/OraInstall2020-04-21_05-08-35PM/installActions2020-04-21_05-08-35PM.log 中确定失败的先决条件检查列表。然后, 从日志文件或安装手册中查找满足这些先决条件的适当配置, 并手动进行修复。
可以在以下位置找到本次安装会话的日志:
 /oracle/app/oraInventory/logs/installActions2020-04-21_05-08-35PM.log

Oracle Database 11g 的 安装 已成功。
请查看 '/oracle/app/oraInventory/logs/silentInstall2020-04-21_05-08-35PM.log' 以获取详细资料。

以 root 用户的身份执行以下脚本:
        1. /oracle/app/oraInventory/orainstRoot.sh
        2. /oracle/product/11.2.0.4/root.sh


Successfully Setup Software.

12.运行生成的shell脚本

[root@oracle database]# sh /oracle/app/oraInventory/orainstRoot.sh
更改权限/oracle/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。

更改组名/oracle/app/oraInventory 到 dba.
脚本的执行已完成。

[root@oracle database]# sh /oracle/product/11.2.0.4/root.sh
Check /oracle/product/11.2.0.4/install/root_oracle_2020-04-21_17-17-04.log for the output of root script

13.配置监听

[oracle@oracle ~]$ netca -silent -responseFile  /usr/local/database/response/netca.rsp 

正在对命令行参数进行语法分析:
参数"silent" = true
参数"responsefile" = /usr/local/database/response/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services 配置:
完成概要文件配置。
Oracle Net 监听程序启动:
    正在运行监听程序控制: 
      /oracle/product/11.2.0.4/bin/lsnrctl start LISTENER
    监听程序控制完成。
    监听程序已成功启动。
监听程序配置完成。
成功完成 Oracle Net Services 配置。退出代码是0

14.创建数据库

14.1创建数据目录
[root@oracle local]# mkdir -p /data/oradata
[root@oracle local]# chown -R oracle:dba /data/oradata

14.2配置文件
cat > /home/oracle/dbca.rsp<<EOF

[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "yejf"
SID = "yejf"
TEMPLATENAME = "General_Purpose.dbc"
STORAGETYPE=FS
DATAFILEDESTINATION =/data/oradata
RECOVERYAREADESTINATION=/oracle/app/flash_recovery_area
CHARACTERSET = "ZHS16GBK"
NATIONALCHARACTERSET= "AL16UTF16"
LISTENERS=LISTENER
TOTALMEMORY = "2048"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"

EOF

14.3执行创建命令
[oracle@oracle ~]$ dbca -silent -responseFile /home/oracle/dbca.rsp
复制数据库文件
1% 已完成
3% 已完成
11% 已完成
18% 已完成
26% 已完成
37% 已完成
正在创建并启动 Oracle 实例
40% 已完成
45% 已完成
50% 已完成
55% 已完成
56% 已完成
57% 已完成
60% 已完成
62% 已完成
正在进行数据库创建
66% 已完成
70% 已完成
73% 已完成
74% 已完成
85% 已完成
86% 已完成
98% 已完成
100% 已完成
有关详细信息, 请参阅日志文件 "/oracle/cfgtoollogs/dbca/yejf/yejf.log"。

15.查看实例状态

[oracle@oracle ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 21-APR-2020 17:33:45

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                21-APR-2020 17:23:59
Uptime                    0 days 0 hr. 9 min. 51 sec
Trace Level               off
Security                  ONLocal OS Authentication
SNMP                      OFF
Listener Parameter File   /oracle/product/11.2.0.4/network/admin/listener.ora
Listener Log File         /oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
Services Summary...
Service "yejf" has 1 instance(s).
  Instance "yejf"status RESTRICTED, has 1 handler(s) for this service...
Service "yejfXDB" has 1 instance(s).
  Instance "yejf"status RESTRICTED, has 1 handler(s) for this service...
The command completed successfully

16.以管理员身份登陆

[oracle@oracle ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Apr 21 17:36:23 2020
Copyright (c) 19822013, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> 

内存调整

查看当前内存

SQL> show parameter sga;
NAME                    TYPE                     VALUE
--------------------- ------------------------- -------------------------
lock_sga                             boolean                           FALSE
pre_page_sga                         boolean                           FALSE
sga_max_size                         big integer                       392M
sga_target                           big integer                       0

创建spfile

SQL> create spfile from pfile;
File created.

重启生效

shutdown immediate;
startup;

查看spfile

SQL> show parameter spfile;
NAME               TYPE          VALUE
------------------ ---------- ---------------------------
spfile             string        /oracle/product/11.2.0.4/dbs/spfileyejf.ora

查看shm,最大内存只能设置到911M,如果需要调高,需要增大/dev/shm

[root@oracle dbs]# df -h /dev/shm
文件系统        容量  已用  可用 已用% 挂载点
tmpfs           911M  207M  705M   23/dev/shm

修改内存命令

alter system set memory_target=900scope=spfile;
alter system set sga_max_size=600scope=spfile;
alter system set pga_aggregate_target=100scope=both;

再次查看当前内存

SQL> show parameter sga;
NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- -----------------
lock_sga                             boolean                           FALSE
pre_page_sga                         boolean                           FALSE
sga_max_size                         big integer                       600M
sga_target                           big integer                       0

关闭审计日志

查看当前审计日志级别

SQL> show parameter aud
NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- -----------------
audit_trail                          string                            DB

关闭命令

alter system set audit_trail=none scope=spfile;
#重启生效

修改日志组文件大小及添加日志组数

查看日志文件信息

select A.GROUP#,A.BYTES/1024/1024 AS MB,a.status,B.MEMBER AS LOGFILE
from v$log a
join v$logfile b on a.GROUP#=b.GROUP#

3    50  CURRENT /data/oradata/yejf/redo03.log
2    50  INACTIVE    /data/oradata/yejf/redo02.log
1    50  INACTIVE    /data/oradata/yejf/redo01.log

日志文件默认为50M大小,且只有3组,建议增加至6组,且每组日志文件大小2G

alter database add logfile group 4 ('/data/oradata/yejf/redo04.log'size 2048M;
alter database add logfile group 5 ('/data/oradata/yejf/redo05.log'size 2048M;
alter database add logfile group 6 ('/data/oradata/yejf/redo06.log'size 2048M;

该语句执行3次直至v$log视图中显示CURRENT状态的日志文件组已经在新增的第4组

alter system switch logfile;   

以上在线日志文件组切换后,1,2,3组日志文件将仍处于ACTIVE状态,需要设置检查点触发写日志使该3组日志为INACTIVE状态

alter system checkpoint;   

删除旧的3组较小的日志文件组,并且于操作系统中将对应的物理日志文件删除

alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;   

以下语句添加新的3组日志文件

alter database add logfile group 1 ('/data/oradata/yejf/redo01.log'size 2048M;
alter database add logfile group 2 ('/data/oradata/yejf/redo02.log'size 2048M;
alter database add logfile group 3 ('/data/oradata/yejf/redo03.log'size 2048M;

创建表空间及用户

create tablespace yejf_space datafile '/data/oradata/yejf/yejf_space01.dbf' size 1000autoextend on;

查看表空间信息

select * from dba_data_files

创建用户并指定表空间

create user yejf
identified by yejf
default tablespace yejf_space;

为用户创建会话权限

grant create session  to yejf;

配置客户端连接

客户端添加tns配置

YEJF =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.43.170)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = yejf)
    )
  )

使用用户yejf登陆ORACLE数据库

[oracle@oracle yejf]$ sqlplus yejf/yejf@yejf
SQL*Plus: Release 11.2.0.4.0 Production on Wed Apr 22 11:42:43 2020
Copyright (c) 19822013, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> show user;
USER is "YEJF"


文章转载自叶同学专栏,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论