Oracle数据库安装-Linux
- 1、修改CentOS系统标志(oracle默认不支持CentOS)
- 2、安装oracle
1、修改CentOS系统标志(oracle默认不支持CentOS)
1.1、备份原有的配置文件,编辑文件,将原有内容删除,替换为redhat-7
[root@test003 ~]# cp /etc/redhat-release /etc/redhat-release-bak
[root@test003 ~]# vim /etc/redhat-release
redhat-7
1.2、修改内核参数
[root@test003 ~]# vim /etc/sysctl.conf
# For more information, see sysctl.conf(5) and sysctl.d(5).
#
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 2147483648
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
1.3、启用新配置
[root@test003 ~]# sysctl -p
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 2147483648
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
1.4、安装必须的软件包
[root@test003 ~]# yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* lib stdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC* unzip lrzsz
已安装:
binutils-aarch64-linux-gnu.x86_64 0:2.27-9.el7.1 binutils-alpha-linux-gnu.
binutils-bfin-linux-gnu.x86_64 0:2.27-9.el7.1 binutils-c6x-linux-gnu.x8
binutils-frv-linux-gnu.x86_64 0:2.27-9.el7.1 binutils-h8300-linux-gnu.
binutils-ia64-linux-gnu.x86_64 0:2.27-9.el7.1 binutils-m32r-linux-gnu.x
binutils-microblaze-linux-gnu.x86_64 0:2.27-9.el7.1 binutils-mips64-linux-gnu
binutils-openrisc-linux-gnu.x86_64 0:2.27-9.el7.1 binutils-powerpc64-linux-
binutils-ppc64le-linux-gnu.x86_64 0:2.27-9.el7.1 binutils-s390x-linux-gnu.
binutils-sh64-linux-gnu.x86_64 0:2.27-9.el7.1 binutils-sparc64-linux-gn
binutils-xtensa-linux-gnu.x86_64 0:2.27-9.el7.1 compat-libcap1.x86_64 0:1
elfutils-devel.x86_64 0:0.176-5.el7 elfutils-devel-static.x86
gcc-aarch64-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-alpha-linux-gnu.x86_6
gcc-bfin-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-c++.x86_64 0:4.8.5-44
gcc-c++-arm-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-c++-avr32-linux-gnu.x
gcc-c++-cris-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-c++-frv-linux-gnu.x86
gcc-c++-hppa64-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-c++-ia64-linux-gnu.x8
gcc-c++-microblaze-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-c++-mips64-linux-gnu.
gcc-c++-ppc64-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-c++-s390x-linux-gnu.x
gcc-c++-sparc64-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-c++-tile-linux-gnu.x8
gcc-c6x-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-cris-linux-gnu.x86_64
gcc-gnat.x86_64 0:4.8.5-44.el7 gcc-go.x86_64 0:4.8.5-44.
gcc-hppa64-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-ia64-linux-gnu.x86_64
gcc-microblaze-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-mips64-linux-gnu.x86_
gcc-objc++.x86_64 0:4.8.5-44.el7 gcc-plugin-devel.x86_64 0
gcc-s390x-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-sh-linux-gnu.x86_64 0
gcc-tile-linux-gnu.x86_64 0:4.8.5-16.el7.1 gcc-x86_64-linux-gnu.x86_
glibc-static.x86_64 0:2.17-326.el7_9.3 glibc-utils.x86_64 0:2.17
libXi-devel.x86_64 0:1.7.9-1.el7 libXinerama.x86_64 0:1.1.
libXtst-devel.x86_64 0:1.2.3-1.el7 libaio-devel.x86_64 0:0.3
libstdc++-static.x86_64 0:4.8.5-44.el7 lrzsz.x86_64 0:0.12.20-36
unixODBC.x86_64 0:2.3.1-14.el7 unixODBC-devel.x86_64 0:2
作为依赖被安装:
cross-binutils-common.noarch 0:2.27-9.el7.1 cross-gcc-common.noarch 0:4.8.5-
libXext.x86_64 0:1.3.3-3.el7 libXext-devel.x86_64 0:1.3.3-3.e
libgnat.x86_64 0:4.8.5-44.el7 libgnat-devel.x86_64 0:4.8.5-44.
libobjc.x86_64 0:4.8.5-44.el7 libquadmath.x86_64 0:4.8.5-44.el
xorg-x11-proto-devel.noarch 0:2018.4-1.el7 xz-devel.x86_64 0:5.2.2-2.el7_9
更新完毕:
binutils.x86_64 0:2.27-44.base.el7_9.1 glibc.x86_64 0:2.17-326.el7_9.3
作为依赖被升级:
xz.x86_64 0:5.2.2-2.el7_9
1.5、创建用户及用户组
groupadd oinstall #创建安装oracle程序用户组
groupadd dba #创建DBA用户组
useradd -g dba -m oracle #创建用户oracle 并加入到dba组
usermod -a -G oinstall oracle #将用户oracle加入到oinstall组
passwd oracle #修改用户oracle的密码,密码为123456yhn
[root@test003 ~]# groupadd oinstall
[root@test003 ~]# groupadd dba
[root@test003 ~]# useradd -g dba -m oracle
[root@test003 ~]# usermod -a -G oinstall oracle
[root@test003 ~]# passwd oracle
更改用户 oracle 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
1.6、创建安装目录
mkdir -p /data02/oracle #创建oracle主目录
mkdir -p /data02/inventory #创建oralce配置目录
mkdir -p /data02/src #创建oracle压缩包解压目录
chown -R oracle:oinstall /data02/oracle #修改目录权限
chown -R oracle:oinstall /data02/inventory #修改目录权限
chown -R oracle:oinstall /data02/src #修改目录权限
ll /data #查看目录权限
[root@test003 ~]# mkdir -p /data02/oracle
[root@test003 ~]# mkdir -p /data02/inventory
[root@test003 ~]# mkdir -p /data02/src
[root@test003 ~]# chown -R oracle:oinstall /data02/oracle
[root@test003 ~]# chown -R oracle:oinstall /data02/inventory
[root@test003 ~]# chown -R oracle:oinstall /data02/src
1.7、修改oracle用户的安全性能设置
[root@test003 ~]# vim /etc/security/limits.conf
# End of file
racle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
1.8、修改用户的环境变量
[root@test003 ~]# vim /home/oracle/.bashrc
# User specific aliases and functions
export PATH
export ORACLE_BASE=/data02/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
修改完启用配置生效
[root@test003 ~]# source /home/oracle/.bashrc
1.9、上传oracle的安装包至/opt下
[root@test003 ~]# wget http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip
[root@test003 ~]# wget http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip
[root@test003 opt]# ll
total 2295596
-rw-r--r-- 1 root root 1239269270 Jun 14 08:15 linux.x64_11gR2_database_1of2.zip
-rw-r--r-- 1 root root 1111416131 Jun 14 08:16 linux.x64_11gR2_database_2of2.zip
1.10、解压文件
[root@test003 ~]# yum install -y zip unzip
[root@test003 ~]# cd /opt
[root@test003 ~]# unzip linux.x64_11gR2_database_1of2.zip -d /data/src/
[root@test003 ~]# unzip linux.x64_11gR2_database_2of2.zip -d /data/src/
2、安装oracle
2.1、编辑数据库安装文件
[root@test003 opt]# vim /data02/src/database/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY vu# 安装类型(仅安装数据库软件)
ORACLE_HOSTNAME=oracle.server # 主机名称
UNIX_GROUP_NAME=oinstall # 安装组
INVENTORY_LOCATION=/data02/inventory #INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN # 选择语言
ORACLE_HOME=/data02/oracle/product/11.2.0/db_1 #oracle_home
ORACLE_BASE=/data02/oracle #oracle_base
oracle.install.db.InstallEdition=EE #oracle版本
oracle.install.db.DBA_GROUP=dba # dba用户组
oracle.install.db.OPER_GROUP=oinstall # oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
# 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl
# globalDBName
oracle.install.db.config.starterdb.SID=orcl # SID
oracle.install.db.config.starterdb.characterSet=AL32UTF8
# 默认数据库编码
oracle.install.db.config.starterdb.memoryLimit=800
# 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle
# 设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true # 设置安全更新
2.2、执行oracle
[root@test003 opt]# su oracle
[oracle@test003 opt]$ /data02/src/database/runInstaller -silent -responseFile /data02/src/database/response/db_install.rsp -ignorePrereq
2.3、执行配置脚本
[oracle@test003 opt]$ su root
Password:
[root@test003 opt]# /data02/inventory/orainstRoot.sh
Changing permissions of /data02/inventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /data02/inventory to oinstall.
The execution of the script is complete.
[root@test003 opt]# /data02/oracle/product/11.2.0/db_1/root.sh
2.4、配置oracle监听程序
[root@test003 opt]# vim /data02/src/database/response/netca.rsp
INSTALL_TYPE=""custom"" # 安装的类型
LISTENER_NUMBER=1 # 监听器数量
LISTENER_NAMES={"LISTENER"} # 监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"} # 监听器使用的通讯协议列表
LISTENER_START=""LISTENER"" # 监听器启动的名称
[root@test003 ~]# su oracle
[oracle@test003 root]$ /data02/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data02/src/database/response/netca.rsp
2.5、检查监听状态
[root@test003 ~]# netstat -tunlp |grep 1521
tcp6 0 0 :::1521 :::* LISTEN 28995/tnslsnr
2.6、关于监听的开启和关闭(默认开启)
[root@test003 ~]# su oracle
# 开启监听:
[oracle@test003 root]$ /data02/oracle/product/11.2.0/db_1/bin/lsnrctl start
#只需要输入以上两行,下面的关闭监听不需要输入
# 关闭监听:
[oracle@test003 root]$ /data02/oracle/product/11.2.0/db_1/bin/lsnrctl stop
2.7、添加数据库实例
[root@test003 ~]# vim /data02/src/database/response/dbca.rsp
RESPONSEFILE_VERSION ="11.2.0" // 不要变
OPERATION_TYPE ="createDatabase" // 操作为创建实例
GDBNAME ="orcl" // 数据库实例名
SID ="orcl" // 实例名字
TEMPLATENAME = "General_Purpose.dbc" // 建库用的模板文件
SYSPASSWORD = "oracle" // SYS管理员密码
SYSTEMPASSWORD = "oracle" // SYSTEM管理员密码
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION =/data02/oracle/oradata // 数据文件存放目录
RECOVERYAREADESTINATION=/data02/oracle/flash_recovery_area // 恢复数据存放目录
CHARACTERSET ="AL32UTF8" // 字符集
NATIONALCHARACTERSET= "AL16UTF16" // 字符集
TOTALMEMORY ="1638" // 1638MB,物理内存2G*80%。
[root@test003 ~]# su oracle
[oracle@test003 root]$ /data02/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data02/src/database/response/dbca.rsp
Copying database files
1% complete
3% complete
11% complete
18% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/data02/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.
[root@test003 ~]# ps -ef | grep ora_ | grep -v grep
oracle 29501 1 0 6月14 ? 00:00:00 ora_pmon_orcl
oracle 29503 1 0 6月14 ? 00:00:00 ora_vktm_orcl
oracle 29507 1 0 6月14 ? 00:00:00 ora_gen0_orcl
oracle 29509 1 0 6月14 ? 00:00:00 ora_diag_orcl
oracle 29511 1 0 6月14 ? 00:00:00 ora_dbrm_orcl
oracle 29513 1 0 6月14 ? 00:00:00 ora_psp0_orcl
oracle 29515 1 0 6月14 ? 00:00:00 ora_dia0_orcl
oracle 29517 1 0 6月14 ? 00:00:00 ora_mman_orcl
oracle 29519 1 0 6月14 ? 00:00:00 ora_dbw0_orcl
oracle 29521 1 0 6月14 ? 00:00:00 ora_lgwr_orcl
oracle 29523 1 0 6月14 ? 00:00:00 ora_ckpt_orcl
oracle 29525 1 0 6月14 ? 00:00:00 ora_smon_orcl
oracle 29527 1 0 6月14 ? 00:00:00 ora_reco_orcl
oracle 29529 1 0 6月14 ? 00:00:00 ora_mmon_orcl
oracle 29531 1 0 6月14 ? 00:00:00 ora_mmnl_orcl
oracle 29533 1 0 6月14 ? 00:00:00 ora_d000_orcl
oracle 29535 1 0 6月14 ? 00:00:00 ora_s000_orcl
oracle 29543 1 0 6月14 ? 00:00:00 ora_qmnc_orcl
oracle 29558 1 0 6月14 ? 00:00:00 ora_cjq0_orcl
oracle 29560 1 0 6月14 ? 00:00:00 ora_q000_orcl
oracle 29562 1 0 6月14 ? 00:00:00 ora_q001_orcl
2.8、修改启动和关闭实例
[root@test003 ~]# vim /data02/oracle/product/11.2.0/db_1/bin/dbstart
[root@test003 ~]# vim /data02/oracle/product/11.2.0/db_1/bin/dbshut
# 把里面的 ORACLE_HOME_LISTNER=$1 改为ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1 两个文件都要改!
2.9、开机启动oracle
Root用户模式下:
[root@test003 ~]# su root
[root@test003 ~]# chmod +x /etc/rc.d/rc.local
[root@test003 ~]# chown -R oracle:oinstall /data02
修改文件 vim /etc/rc.d/rc.local
在文件最后追加以下内容:
su oracle -lc "/data02/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc "/data02/oracle/product/11.2.0/db_1/bin/dbstart"
2.10、sqlplus启动
[root@test003 ~]# su oracle
[oracle@test003 bin]$ cd /data02/oracle/product/11.2.0/db_1/bin/
[oracle@test003 bin]$ ./sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Sat Jun 15 00:14:52 2024
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL>