一、安装前的准备
软件环境
软件名称 | 软件版本 |
---|---|
SecureCRT | Xshell也可以(用来连接linux服务器) |
Oracle11g | linux.x64_11gR2_database |
1.查看主机名
[root@localhost ~]# hostname
oracledb //主机名
//如果需要修改主机名,可执行以下命令:
[root@localhost ~]#hostname oracledb //hostname 后主机名oracledb可根据需求做修改
//或者编辑/etc/sysconfig/network
[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=oracledb
2.添加主机名与IP对应
//编辑/etc/hosts 在最后面追加IP及主机名:10.2.1.91 oracledb
[root@localhost ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.2.1.91 oracledb
3.关闭seLinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
4.安装依赖包
(1)以下为所依赖的安装包
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
compat-libstdc++-33-3.2.3-71.el7.i686
compat-libstdc++-33-3.2.3-71.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
unixODBC-2.3.1-6.el7.x86_64 or later
unixODBC-2.3.1-6.el7.i686 or later
unixODBC-devel-2.3.1-6.el7.x86_64 or later
unixODBC-devel-2.3.1-6.el7.i686 or later
(2)使用yum进行安装
方法一:
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
方法二:
yum -y install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static elfutils-libelf-devel ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel
注意:最好两个都执行一下,保证安装成功,也可配置本地yum源
(3)检测安装好的依赖包
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
(4)检测未安装的依赖包
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel |grep "not installed"
安装完成的话,执行这段命令是没有结果的,这段命令是检测未安装的依赖包,如果都安装了,结果就为空
5.关闭防火墙
# service iptables stop
# chkconfig iptables off
6.添加oinstall 、dba 组,新建oracle用户并加入oinstall、dba组中
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle //这一步设置oracle用户密码
// 以上每一行都是一个命令,下面是检测oracle账户是否创建成功
[oracle@localhost ~]$ id oracle
uid=1001(oracle) gid=1001(oinstall) 组=1001(oinstall),1002(dba)
7. 创建oracle安装目录
[root@localhost ~]#mkdir -p /home/app/ //创建安装目录前需要检查挂载的哪个磁盘空间大,一般安装在app下,安装后会自动生成oracle/product文件
[root@localhost ~]#chown -R oracle:oinstall /home/app //改变文件拥有者和群组
[root@localhost ~]#chmod -R 775 /home/app //给文件目录赋775最高权限
8.检查配置内核参数
[root@localhost~]# vi /etc/sysctl.conf
在文件中添加如下设置:
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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
执行命令使配置生效:
sysctl -p
9.修改用户的限制文件
vi /etc/security/limits.conf
在文件中添加如下配置:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
10.修改etc/pam.d/login文件
vim /etc/pam.d/login
添加内容如下:
session required /lib64/security/pam_limits.so
session required pam_limits.so
11.修改/etc/profile文件
vim /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
12.上传oracle安装包到安装目录下
//如果安装目录在/home/app下,可先进app目录下,执行rz命令
[root@localhost ~]# cd /home/app
[root@localhost app]# rz
13.解压安装包
[root@localhost app]# ll
总用量 2295596
drwxr-x--- 3 oracle oinstall 18 5月 8 17:31 admin
drwxr-xr-x 4 oracle oinstall 31 5月 8 17:31 cfgtoollogs
drwxr-x--- 2 oracle oinstall 6 5月 8 17:33 checkpoints
drwxrwxr-x 4 oracle oinstall 34 5月 8 17:31 diag
drwxr-x--- 4 oracle oinstall 30 5月 8 17:32 flash_recovery_area
-rwxrwxr-x. 1 oracle oinstall 1239269270 5月 7 17:45 linux.x64_11gR2_database_1of2.zip
-rwxrwxr-x. 1 oracle oinstall 1111416131 5月 7 18:23 linux.x64_11gR2_database_2of2.zip
//上传成功后我们可以看到linux.x64_11gR2_database的两个压缩包
[root@localhost app]# uzip linux.x64_11gR2_database_1of2.zip
[root@localhost app]# uzip linux.x64_11gR2_database_2of2.zip
[root@vl-dqhb-db1 app]# ll
总用量 2295596
drwxr-x--- 3 oracle oinstall 18 5月 8 17:31 admin
drwxr-xr-x 4 oracle oinstall 31 5月 8 17:31 cfgtoollogs
drwxr-x--- 2 oracle oinstall 6 5月 8 17:33 checkpoints
drwxrwxr-x. 8 oracle oinstall 4096 8月 21 2009 database
drwxrwxr-x 4 oracle oinstall 34 5月 8 17:31 diag
drwxr-x--- 4 oracle oinstall 30 5月 8 17:32 flash_recovery_area
-rwxrwxr-x. 1 oracle oinstall 1239269270 5月 7 17:45 linux.x64_11gR2_database_1of2.zip
-rwxrwxr-x. 1 oracle oinstall 1111416131 5月 7 18:23 linux.x64_11gR2_database_2of2.zip
//解压成功后我们会看到产生一个database的文件夹
二、静默安装ORACLE数据库
1.切换到oracle用户,设置oracle用户环境变量
su - oracle //注意加横杠可以进入oracle用户根目录
vim .bash_profile
添加如下内容:
#for oracle
export ORACLE_BASE=/spl/app //oracle安装目录
export ROACLE_PID=ora11g
export ORACLE_SID=orcl //实例名
#export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_HOME=/spl/app/oracle/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LANG="zh_CN.UTF-8"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
执行以下命令使环境变量生效
source ~/.bash_profile
2.编辑静默安装响应文件
(1)切换到root 用户进入oracle安装包解压后的目录 /home/app/database/response/下备份db_install.rsp文件
su - root
cp /home/app/database/response/db_install.rsp /home/app/database/response/db_install.rsp.bak //备份db_install.rsp文件
(2)编辑 /home/app/database/response/db_install.rsp文件
vim /home/app/database/response/db_install.rsp
修改如下内容:
oracle.install.option=INSTALL_DB_SWONLY // 安装类型
ORACLE_HOSTNAME=oracledb // 主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall // 安装组
INVENTORY_LOCATION=/home/app/oraInventory //INVENTORY中央库存目录(不填就是默认值)
SELECTED_LANGUAGES=zh_CN,en // 选择语言
ORACLE_HOME=/home/app/oracle/product/11.2.0/db_1 //oracle_home
ORACLE_BASE=/home/app/oracle //oracle_base
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP= dba // dba用户组
oracle.install.db.OPER_GROUP=oinstall // oper用户组
oracle.install.db.config.starterdb.type=DATA_WAREHOUSE //数据库类型
oracle.install.db.config.starterdb.globalDBName=ora11g
oracle.install.db.config.starterdb.SID=orcl //SID
oracle.install.db.config.starterdb.characterSet=ZHS16GBK //选择字体
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M)
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=sys_zls1001 //设定所有数据库用户使用同一个密码
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.automatedBackup.enable=false
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false //(手动写了false)
DECLINE_SECURITY_UPDATES=true //设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)
注意:这些属性在这个配置文件中都有,直接去更改就行了
3.执行静默安装
//执行静默安装前,可先重启系统,保证所有配置完成
sudo reboot
//重启成功后,再执行以下命令开始安装
su - oracle
cd /home/app/database
./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /home/app/database/response/db_install.rsp
开始Oracle在后台静默安装。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。
查看日志,看安装是否成功,如果安装成功,会有Successfully Setup software提示 //使用tail –f 命令查看上述执行过程提示的日志路径
以上信息说明安装成功,切换用户root或者其他用户可以用sudo的,我的就是用sudo的,根据提示输入两个脚本:
sudo /home/oraclenewone/oraInventory/orainstRoot.sh
sudo /oracledata/data/oracle/product/11.2.0.1/root.sh
说明可以了,接下来是增加或者修改环境变量:
vi ~/.bash_profile
//检查环境变量配置
export ORACLE_BASE=/oracledata/data/oracle //oracle数据库安装目录
export ORACLE_HOME=/oracledata/data/oracle/product/11.2.0.1 //oracle数据库路径
export ORACLE_SID=dbsrv2//oracle启动数据库实例名
export ROACLE_PID=ora11g
export PATH=$PATH:$ORACLE_HOME/bin //添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib //添加系统环境变量
export LANG=C //防止安装过程出现乱码
export NLS_LANG= "AL32UTF8" //设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
//核查无误后,保存后执行以下命令,使环境变量生效
source ~/.bash_profile
4.用oracle用户登录配置监听
su - oracle
netca -silent -responseFile /home/app/database/response/netca.rsp
如果出现DISPLAY字样的提示,就需要先配置DISPLAY变量,配置完成之后再重新netca
export DISPLAY=localhost:0.0
运行成功之后,会在/home/app/oracle/product/11.2.0/db_1/network/admin/中生成listener.ora和sqlnet.ora两个文件。可自行进入这个目录查找这两个文件是否存在。
5.建立新库,同时建立对应的实例
切换到root用户,编辑 /home/app/database/response/dbca.rsp
su - root
vim /home/app/database/response/dbca.rsp
修改如下参数:
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "sys_zls1001"
SYSTEMPASSWORD = "sys_zls1001"
SYSMANPASSWORD = "sys_zls1001"
DBSNMPPASSWORD = "sys_zls1001"
DATAFILEDESTINATION =/home/app/oracle/oradata
RECOVERYAREADESTINATION=/home/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK" //注意:这里使用的GBK,如果需要使用UTF-8,则改成AL32UTF8
TOTALMEMORY = "1638"
6.静默配置orcl实例
su - oracle
$ORACLE_HOME/bin/netca /silent /responseFile /home/app/database/response/netca.rsp
这里跟之前静默安装类似,安装完成之后会出现一个日志,可以打开该日志看一下是否有错误出现
7.启动监听,并查看监听状态
lsnrctl start //启动监听
lsnrctl status //查看监听状态
8.登录sqlplus,数据库应该是已经启动了,如果没有启动的话,进入sqlplus再启动一次
sqlplus /nolog
sqlplus / as sysdba //连接数据库
startup //启动数据库
quit // 或 exit 退出sqlpuls