一.准备工作

通过ftp工具上传安装包到linux服务器

1.1 上传oracle 11g安装文件到服务器并解压
cd /home   
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
1.2 在/etc/hosts文件中增加主机名,配置host文件
vim /etc/hosts

192.168.233.101 hadoop
1.3 关闭selinux
vim /etc/selinux/config

SELINUX=disabled
setenforce 0
1.4 关闭防火墙
service iptables stop

二 安装步骤

2.1安装依赖包
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686elfutils-libelf elfutils-libelf-devel gcc gcc-c++  glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686  libgcc libgcc.i686 libstdc++ libstdc++.i686libstdc++-devel make sysstat unixODBC unixODBC-devel
2.2 添加oracle用户和用户组

创建oinstall组和dba组,把oracle用户加入到用户组,并设置oracle登录密码

groupadd oinstall             
groupadd dba            
useradd -g oinstall -G dba oracle   
passwd oracle  
2.3 修改内核参数配置文件
 vim /etc/sysctl.conf
 # 在文件底部添加以下的内容

fs.file-max= 6815744
fs.aio-max-nr=1048576
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
kernel.sem= 250 32000 100 128

# 执行命令sysctl使其自检并生效
sysctl -p
2.4 修改用户限制文件
2.4.1 修改配置文件
vim /etc/security/limits.conf
# 在文件底部添加以下的内容

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
2.4.2 修改用户关联文件
vim /etc/pam.d/login
# 在文件底部添加以下的内容

session  required  /lib64/security/pam_limits.so 
session required pam_limits.so
2.4.3 修改系统环境参数
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
2.5 创建安装目录和设置目录权限
mkdir /usr/local/oracle   # oracle是数据库系统安装目录,
mkdir /usr/local/oradata   # oradata是数据库数据安装目录,
mkdir /usr/local/oradata_back   # oradata_back是数据备份目录,
mkdir /usr/local/oraInventory   # oraInventory是清单目录
chown -R oracle:oinstall /usr/local/oracle /usr/local/oraInventory /usr/local/oradata/ 
chmod -R 775 /usr/local/oracle /usr/local/oraInventory /usr/local/oradata/
2.6 配置oracle用户环境变量
vim /home/oracle/.bash_profile
# 在文件底部追加以下内容

export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

# 保存退出,刷新配置
source .bash_profile

三 编辑静默安装响应文件

切换到 oracle用户

su  oracle
3.1 复制一份模板
cp -R /home/database/response/ /usr/local/oracle

该文件默认存放在解压后的安装包内,也就是本例中/home/database/response下,将oracle静默安装所需应答文件全部拷贝至 /usr/local/oracle文件夹下

3.2 修改安装所需的所有响应文件的所属组及权限
cd  /usr/local/oracle/response
chown oracle:oinstall /usr/local/oracle/response/*.rsp
chmod 755 /usr/local/oracle/response/*.rsp  
3.3 配置db_install.rsp文件
vim /usr/local/oracle/response/db_install.rsp
# 找到对应属性并修改

oracle.install.option=INSTALL_DB_SWONLY     #安装类型,只装数据库软件   
ORACLE_HOSTNAME=nginx                    #主机名称(命令hostname查询)
UNIX_GROUP_NAME=oinstall                    # 安装组   
INVENTORY_LOCATION=/usr/local/oraInventory   #INVENTORY目录(**不填就是默认值,本例此处需修改,因个人创建安装目录而定)   
SELECTED_LANGUAGES=en,zh_CN                    # 选择语言   
ORACLE_HOME=/usr/local/oracle/product/11.2.0/db_1    # oracle_home *路径根据目录情况注意修改 本例安装路径/usr/local/oracle  
ORACLE_BASE=/usr/local/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=dba              #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(**此处注意与环境变量内配置SID一致) 
oracle.install.db.config.starterdb.memoryLimit=8920      #自动管理内存的内存(M)  
oracle.install.db.config.starterdb.password.ALL=oracle    #设定所有数据库用户使用同一个密码 
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false            #(手动写了false)  
oracle.install.db.config.starterdb.password.SYS=1995
oracle.install.db.config.starterdb.password.SYSTEM=1995
DECLINE_SECURITY_UPDATES=true        # **注意此参数 设定一定要为true
3.4 根据响应文件安装oracle
cd /home/database/
./runInstaller  -silent -responseFile /usr/local/oracle/response/db_install.rsp -ignorePrereq

参数说明:   
/home/database 是安装包解压后的路径,此处根据安装包解压所在位置做修改,因人而异。  
runInstaller 是主要安装脚本   
-silent 静默模式   
-force 强制安装   
-ignorePrereq忽略warning直接安装。   
-responseFile读取安装应答文件。
当出现以下界面时, 表示安装成功了,按照其提示操作。

在这里插入图片描述
如果出现以下错误信息,需要增加swap分区:

在这里插入图片描述
linux增加swap分区:

# LINUX增加SWAP分区 ---install_oracle
# 我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢?
# 在装完Linux系统之后,建立Swap分区有两种方法。
# 1.新建磁盘分区作为swap分区
# 2.用文件作为swap分区 (操作更简单,我更常用)
# 下面介绍这两种方法:(都必须用root权限,操作过程应该小心谨慎。)

#一、新建磁盘分区作为swap分区
#1.以root身份进入控制台(登录系统),输入
swapoff -a   #停止所有的swap分区
# 2. 用fdisk命令(例:# fdisk /dev/sdb)对磁盘进行分区,添加swap分区,新建分区,在fdisk中用“t”命令将新添的分区id改为82(Linux swap类型),最后用w将操作实际写入硬盘(没用w之前的操作是无效的)。
#3. 
mkswap /dev/sdb2 #格式化swap分区,这里的sdb2要看您加完后p命令显示的实际分区设备名
#4.
swapon /dev/sdb2 #启动新的swap分区
# 5. 为了让系统启动时能自动启用这个交换分区,可以编辑/etc/fstab,加入下面一行
/dev/sdb2 swap swap defaults 0 0

#二、用文件作为Swap分区
#1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。
dd if=/dev/zero of=/root/swapfile bs=1M count=1024
# 2.格式化为交换分区文件:
mkswap /root/swapfile #建立swap的文件系统
# 3.启用交换分区文件:
swapon /root/swapfile #启用swap文件
# 4.使系统开机时自启用,在文件/etc/fstab中添加一行:
/root/swapfile swap swap defaults 0 0


# 新建和增加交换分区用到的命令为:mkswap、swapon等,而想关闭掉某个交换分区则用“swapon /dev/sdb2”这样的命令即可

在root账号登录打开新窗口内执行以下提示的脚本:

/usr/local/oraInventory/orainstRoot.sh
/usr/local/oracle/product/11.2.0/db_1/root.sh

在这里插入图片描述

oracle用户下编辑静默响应文件.把dbca.rsp改名为dbca_数据库名.rsp

cd  /usr/local/oracle/response
mv  dbca.rsp   dbca_orcl.rsp   
3.5 静默配置监听
netca /silent /responsefile /usr/local/oracle/response/netca.rsp
# 注意netca.rsp文件的需要指定绝对路径

看到以下就成功了

在这里插入图片描述

查看生成监听文件

ll $ORACLE_HOME/network/admin/*.ora

成功运行后,在/usr/local/oracle/product/11.2.0/db_1/network/admin目录下生成sqlnet.ora和listener.ora两个文件

在这里插入图片描述

通过netstat-tlnp命令,可以看到orcl的1521端口已经启动了

netstat -tlnp

在这里插入图片描述

如果监控程序没启动成功的情况下,执行下面命令手动启动

lsnrctl start
dbstart

四 静默安装数据库(同时也建立一个对应的实例)

4.1 修改/usr/local/oracle/response/dbca_orcl.rsp
vim /usr/local/oracle/response/dbca_orcl.rsp
# 设置如下:

GDBNAME="orcl"           #78行 全局数据库的名字=SID+主机域名
SID="orcl"               #149行 SID对应的实例名字
SYSPASSWORD="1995"       #190 SYS管理员密码
SYSTEMPASSWORE="1995"    #200行//SYSTEM管理员密码
DATAFILEDESTINATION=/usr/local/oradata/    #357行 数据文件存放目录
RECOVERYAREADESTINATION=/usr/local/oradata_back     #367行 恢复数据存放目录
CHARACTERSET="AL32UTF8"    #415行 字符集,重要!!!建库后一般不能更改,所以建库前要确定清楚
TOTALMEMORY= "5120"       #540行 oracle内存5120MB,建议为物理内存70%~85%
4.2.静默安装数据库命令
dbca -silent -responseFile /usr/local/oracle/response/dbca_orcl.rsp

查看安装日志

cat /usr/local/oracle/cfgtoollogs/dbca/orcl/orcl.log

在这里插入图片描述

如果日志里出现 未找到包含数据文件信息的文件 “/usr/local/oradata/Seed_Database.dfb”。请指定有效文件。

则需要找到Seed_Database.dfb文件复制到/usr/local/oradata/Seed_Database.dfb目录
在这里插入图片描述

find / -name  Seed_Database.dfb
#找到文件然后复制过去
cp /home/oracle/database/stage/Components/oracle.rdbms.install.seeddb/11.2.0.1.0/1/DataFiles/Expanded/filegroup1/Seed_Database.dfb   /usr/local/oradata/Seed_Database.dfb

3.建库后实例查询

ps -ef | grep ora_ | grep -v grep

在这里插入图片描述

4.建库后监听检查

lsnrctl status

在这里插入图片描述

五 启动数据库,创建用户赋权

启动数据库命令:

su - oracle
lsnrctl start
5.1重启启动数据库
export ORACLE_SID=orcl
sqlplus / as sysdba
shutdown immediate
startup

如果客户端工具连接出现ORA-01033,或者 ORA-12514, TNS:listener does not currently know of service requested in connect descriptor 错误,进入sqlplus执行以下命令

sqlplus / as sysdba
shutdown abort 
startup
5.2.创建新用户并授予权限

启动 SQL plus 程序的命令行:

sqlplus

创建新用户

SQL> CREATE USER USER01 IDENTIFIED BY Orcl1234;
User created.

如果报错 bash: sqlplus: command not found的问题,如下报错:
在这里插入图片描述
1、当前是否成功切换到 oracle用户
2、su oracle 需要加上 横杠 “-” 例如:su - oracle(注意,这个比较坑,很多人容易忽略这一点)
下面科普一下为什么要加 横杠“-”
有横杠 login shell:用户切换,更改工作目录,加载所有用户环境配置。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐