rhel7.2 oracle11.2.0静默安装与备份

本文档详细介绍了在Linux系统上安装Oracle 11g R2数据库的步骤,包括准备安装包和依赖、创建用户、配置内核参数、限制用户权限、设置环境变量、安装数据库软件、创建数据库、启动监听和数据库,以及设置开机启动和备份策略。涵盖了从基础环境准备到数据库实例创建的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文档:https://blog.youkuaiyun.com/weixin_39610229/article/details/110905381?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase

准备安装包以及依赖

链接:https://pan.baidu.com/s/1jorpaGS8IXwLwPCdFfWqFA
提取码:63in

安装包:
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
依赖:
compat-db-4.1.25.9.x86_64.rpm
glibc-static-2.17-55.el7.x86_64.rpm
libaio-0.3.106-5.i386.rpm
libaio-0.3.106-5.x86_64.rpm
libaio-devel-0.3.106-5.i386.rpm
libaio-devel-0.3.106-5.x86_64.rpm
rlwrap-0.37-1.el5.x86_64.rpm
sysstat-7.0.2-3.el5.x86_64.rpm
unixODBC-2.2.11-7.1.i386.rpm
unixODBC-2.2.11-7.1.x86_64.rpm
unixODBC-devel-2.2.11-7.1.i386.rpm
unixODBC-devel-2.2.11-7.1.x86_64.rpm

安装依赖

rpm -ivh *.rpm --nodeps --force
yum -y install mksh ksh

创建oracle用户

groupadd oinstall
groupadd dba
groupadd asmadmin
groupadd asmdba
useradd -g oinstall -G dba,asmdba oracle -d /home/oracle
asmdba asmadmin我后边没用到

查看创建用户

# id oracle
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba),1004(asmdba)

修改oracle密码

passwd oracle

配置内核参数

sysctl.conf添加以下

fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=4194304
kernel.shmmni=4096
kernel.shmmax=17179869184‬
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=1048586

sysctl -p
(注:可以使用 ipcs -l 看结果。ipcs -u 可以看到实际使用的情况)

参数详解

kernel.shmall的单位是页。
简述:2097152 =8G ,4194304=16G
详述:对于X86的linux系统,一页=4k,也就是4096字节。kernel.shmall = 2097152 就是 2097152*4k/1024/1024 = 8G 就是说可用共享内存一共8G。
一个共享内存段的最大大小是16G,那么需要共享内存页数是 16GB/4KB=16777216KB/4KB=4194304 (页),也就是64Bit 系统下
16GB 物理内存,设置 kernel.shmall = 4194304 才符合要求(几乎是原来设置2097152
的两倍)。这时可以将shmmax 参数调整到 16G 了,同时可以修改SGA_MAX_SIZE 和
SGA_TARGET 为 12G(您想设置的SGA 最大大小,当然也可以是2G~14G 等,还要协调PGA
参数及OS 等其他内存使用,不能设置太满,比如16G)。

kernel.shmmni:
共享内存段的最大数量,shmmni 缺省值 4096 ,一般肯定是够用了
kernel.shmmax:
Shmmax 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值(以字节为单位),
设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降,最大值为16GB(在大多数情况下,该值应该比SGA大)。
其值应>=sag_max_size初始化参数的大小,否则SAG由多个内存段构成,效率降低,
还要不小于物理内存的一半,默认情况下在32位x86系统中,Oracle SGA最大不能超过1.7GB.
缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G(2147483648)
针对24G的服务器,至少12G的配置,则是17179869184‬

其他参数简单说明:
kernel.sem // 表示设置的信号量
fs.file-max // 表示一个进程可以打开的文件句柄的最大数量.
net.ipv4.ip_local_port_range //专用服务器模式下与用户进程通信时分配给用户的端口区间
net.core.rmem_default // 默认接收缓冲区大小
net.core.rmem_max // 接收缓冲区最大值
net.core.wmem_default // 默认的发送缓冲区大小
net.core.wmem_max // 发送缓冲区最大值

限制oracle用户的shell权限

vim /etc/security/limits.conf

#在末尾添加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

参数详解

limits.conf 配置说明:

domain:
username|@groupname:设置需要被限制的用户名,组名前面加@ 与 用户名 区别。 * 表示所有用户(注意有的系统不支持哦)。
type:
soft 指的是当前系统生效的设置值,
hard 表明系统中所能设定的最大值(soft 的限制不能比har 限制高 )
就表明同时设置了 soft 和 hard 的值。
resource(针对Oracle的我们主要配置nproc nofile):
as-地址空间限制
rss-最大持久设置大小
cpu-以分钟为单位的最多 CPU 时间
core-限制内核文件的大小
date-最大数据大小
stack-最大栈大小
fsize-最大文件大小
noproc-进程的最大数目
nofile-打开文件的最大数目
memlock-最大锁定内存地址空间
maxlogins-此用户允许登录的最大数目
value: 限制的值

修改profile文件

修改/etc/pam.d/login

session required /lib/security/pam_limits.so
session required pam_limits.so

修改/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
生效
source /etc/profile

创建oracle安装目录

mkdir -p /db/app/oracle/product/11.2.0
mkdir /db/app/oracle/oradata
mkdir /db/app/oraInventory   (这个目录和oracle目录是一级)
mkdir /db/app/oracle/fast_recovery_area
chown -R oracle:oinstall /db/app/oracle
chmod -R 775 /db/app/oracle

创建 vi /etc/oraInst.loc

(本人并没用到)

inventory_loc=/db/app/oraInventory
inst_group=oinstall

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

配置oracle用户环境变量

su - oracle

export ORACLE_BASE=/db/app/oracle
export ORACLE_SID=orcl
export ORACLE_HOME=/db/app/oracle/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data
export LC_ALL=C
export LANG="zh_CN.UTF-8"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'

生效
source /home/oracle/.bash_profile

解压oracle.zip包

su - root
unzip linux.x64_11gR2_database_1of2.zip -d /db
unzip linux.x64_11gR2_database_2of2.zip -d /db

复制到oracle用户并授权

su - root
mkdir /home/oracle/etc/
cd /db/
cp database/response/* /home/oracle/etc/
chmod 777 /home/oracle/etc/*.rsp
chown -R oracle.oinstall /home/oracle/

修改静默安装的配置文件

su - oracle
cd /home/oracle/etc/
cp db_install.rsp db_install.rspbak #备份原文件
修改文件
vim db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
#安装类型
oracle.install.option=INSTALL_DB_SWONLY
#主机名
ORACLE_HOSTNAME=localhost
#安装组
UNIX_GROUP_NAME=oinstall
#INVENTORY目录(不填就是默认值)
INVENTORY_LOCATION=/db/app/oraInventory
#选择语言
SELECTED_LANGUAGES=zh_CN,en
#oracle_home
ORACLE_HOME=/db/app/oracle/product/11.2.0/db_1
#oracle_base
ORACLE_BASE=/db/app/oracle
#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
#dba用户组
oracle.install.db.DBA_GROUP=dba
#oper用户组
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
#数据库类型
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
#globalDBName全局数据库名字
oracle.install.db.config.starterdb.globalDBName=orcl
#SID
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
#oracle自动管理的内存大小(M) 我填我本机最大内存
oracle.install.db.config.starterdb.memoryLimit=1892
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=
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=
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=oracle
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
#(手动写了false)
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
#设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)
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=

开始安装

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

日志中出现如下信息表示成功
tail -f 日志

/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window 
2. Log in as "root" 
3. Run the scripts 
4. Return to this window and hit "Enter" key to continue

Successfully Setup Software.

安装完成之后执行生成脚本

su - root
cd /db/app/oracle/product/11.2.0/db_1/
/db/app/oraInventory/orainstRoot.sh
/db/app/oracle/product/11.2.0/db_1/root.sh

修改建库应答文件参数

su - oracle
cd /home/oracle/etc/
cp dbca.rsp dbca.rsp-bak

修改一下参数
vim /home/oracle/etc/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
DATAFILEDESTINATION=/db/app/oracle/oradata
RECOVERYAREADESTINATION=/db/app/oracle/fast_recovery_area
CHARACTERSET= "AL32UTF8"
TOTALMEMORY= "1638"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
CHARACTERSET = "AL32UTF8"

建库
dbca -silent -responseFile /home/oracle/etc/dbca.rsp
生成信息
sh: /bin/ksh: No such file or directory
sh: /bin/ksh: No such file or directory
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
57% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
74% complete
85% complete
96% complete
100% complete
Look at the log file "/data/oracle/cfgtoollogs/dbca/ora11g/ora11g.log" for further details

创建、启动监听

su - oracle
cd /u01/app/oracle/product/11.2.0/db_1/network/admin/
vim listener.ora
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      )
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = orcl)
    )
  ) 
启动监听
lsnrctl start
查看监听状态
lsnrctl status

启动数据库

[oracle@oracledb ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 16 14:26:57 2015

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

Connected to an idle instance.

SQL> start
SP2-1506: START, @ or @@ command has no arguments
SQL> startup
ORACLE instance started.

Total System Global Area 3290345472 bytes
Fixed Size                  2217832 bytes
Variable Size            1795164312 bytes
Database Buffers         1476395008 bytes
Redo Buffers               16568320 bytes
Database mounted.
Database opened.
SQL> 
出现这两个,代表安装成功

使用show parameter;或者select table_name from dba_tables看看是否正常


启动监听
启动监听:lsnrctl start 
查看监听:lsnrctl status 
停止监听:lsnrctl stop

开机启动

#vim /etc/rc.local

su - oracle << EOF
export ORACLE_SID=dbsrv
lsnrctl start
sqlplus / as sysdba
startup
quit
EOF

备份

su - oracle 
sql 进入
#创建本地备份目录(只需要设置一次)
sql>create directory exp_dir as '/home/oracle/backup_dump/'
		     expdp_bak_dir

#授于system权限
grant create any directory to system;

~]$ expdp system/oradba dumpfile=blackbox_${date}.dmp schemas=blackbox directory=exp_di
          用户名/密码            导出的文件名                   表空间名        导出的目录
  或expdp system/oradba dumpfile=blackbox_${date}.dmp tablespace=blackbox directory=exp_di log=blackbox.log
expdp system/oradba@orcl dumpfile=bakfile.dmp directory=expdp_bak_dir full=y


导入
远程数据库用户blackbox授予导入权限
GRANT imp_FULL_DATABASE TO blackbox;
本地执行导入命令
impdp backup schemas=backup remap_schema=backup:blackbox DIRECTORY=exp_dir DUMPFILE=blackbox_${date}.dmp 

https://www.imzcy.cn/300.html 基本操作
https://www.linuxprobe.com/oracle.html
http://www.ttlsa.com/oracle/linux-auto-backup-oracle-database/ 备份脚本
https://blog.51cto.com/14074978/2362601?source=dra   查看jobs
https://blog.youkuaiyun.com/weixin_30425949/article/details/98602410  根据表空间备份脚本
数据库备份 https://blog.youkuaiyun.com/qq_42254198/article/details/84590977?utm_medium=distribute.pc_relevant_bbs_down.none-task--2~all~first_rank_v2~rank_v29-3.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task--2~all~first_rank_v2~rank_v29-3.nonecase
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值