CentOS安装Oracle11G
LiuSw Lv6

CentOS安装Oracle11G

一.下载上传Oracle11G

1.下载

链接如下:

oracle下载地址 | LiuSw’ Blog

2.上传

使用ftp软件或者rz -y上传

如果rz –y命令不能使用,请安装lrzsz

1
yum install lrzsz -y

二.基础配置

0.设置交换空间

1
oracle需要设置交换空间

1.关闭selinux

1
2
3
4
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 或者
vim /etc/selinux/config
# 将SELINUX=enforcing改成SELINUX=disabled

2.关闭防火墙

1
2
systemctl stop firewalld
systemctl disable firewalld

3.安装依赖

1
yum install gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel –y

4.添加安装用户和用户组

1
2
3
4
5
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
id oracle

5.修改内核参数配置文件

1
vi /etc/sysctl.conf 

在末尾添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
# 其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。
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
1
2
# 加载配置
sysctl -p

6.修改用户的限制文件

1
vim /etc/security/limits.conf

在末尾添加以下内容:

1
2
3
4
5
oracle           soft    nproc           2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
1
vim /etc/pam.d/login

在末尾添加以下内容:

1
2
session required  /lib64/security/pam_limits.so
session required pam_limits.so
1
vim /etc/profile

在末尾添加以下内容:

1
2
3
4
5
6
7
8
9
#oracle配置
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

7.创建安装目录和设置文件权限

1
2
3
4
5
6
mkdir -p /data/oracle/product/11.2.0
mkdir /data/oracle/oradata
mkdir /data/oracle/inventory
mkdir /data/oracle/fast_recovery_area
chown -R oracle:oinstall /data/oracle
chmod -R 775 /data/oracle

8.设置oracle用户环境变量

1
2
su -l oracle
vim .bash_profile

在末尾添加如下内容:

1
2
3
4
5
6
# oracle
ORACLE_BASE=/data/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

注意,标红处必须与创建的数据库实例名称一致,否则数据库启动后无法访问。第一次配置完记得source一下。

1
source .bash_profile

三.安装Oracle

1.根据响应文件静默安装Oracle11g

1
2
cd /software/database/
./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq

如果执行以上命令出错,会提示有参数格式,按照提示参数格式修改修改即可,一般是由于word中的字体、符号格式复制到客户端命令行后不一致引起,修改即可。

开始Oracle在后台静默安装。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现Successfully Setup Software,则安装程序已经停止了。

可以在以下位置找到本次安装会话的日志:/data/oracle/inventory/logs/installActions2022-09-22_02-14-55PM.log

切换终端执行top命令查看后台进程一直是在安装的,/data目录也在不断增大,当出现以下提示时,代表安装成功:

1
Successfully Setup Software.

2.切换root身份登录,执行脚本

1
2
3
4
5
6
7
8
9
sh /data/oracle/inventory/orainstRoot.sh
# Changing permissions of /data/oracle/inventory.

# Adding read,write permissions for group.

# Removing read,write,execute permissions for world.

# Changing groupname of /data/oracle/inventory to oinstall.
# The execution of the script is complete.
1
2
sh /data/oracle/product/11.2.0/root.sh
Check /data/oracle/product/11.2.0/install/root_iZ2f570bi1k56uZ_2022-09-22_03-25-04.log for the output of root script

四.以静默方式配置监听

使用oracle用户登录

1
2
su -l oracle
netca /silent /responseFile /home/oracle/response/netca.rsp

注意此处,必须使用/silent /responseFile格式,而不是-silent -responseFile,因为是静默安装。

成功运行后,在/data/oracle/product/11.2.0/network/admin中生成listener.ora和sqlnet.ora

通过netstat命令可以查看1521端口正在监听。

1
2
yum install -y net-tools
netstat tunlp | grep 1521

五.静默方式建立新库,同时也建立一个对应的实例

1
vi /home/oracle/response/dbca.rsp

修改文件中以下参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
[GENERAL]

# oracle版本,不能更改
RESPONSEFILE_VERSION = "11.2.0"

# Description : Type of operation
OPERATION_TYPE = "createDatabase"

[CREATEDATABASE]

# Description : Global database name of the database
# 全局数据库的名字=SID+主机域名# 第三方工具链接数据库的时候使用的service名称
GDBNAME = "orcl.test"

# Description : System identifier (SID) of the database
# 对应的实例名字
SID = "orcl"

# Description : Name of the template
# 建库用的模板文件
TEMPLATENAME = "General_Purpose.dbc"

# Description : Password for SYS user
# SYS管理员密码
SYSPASSWORD = "123456"

# Description : Password for SYSTEM user
# SYSTEM管理员密码
SYSTEMPASSWORD = "123456"

# Description : Password for SYSMAN user
# SYSMAN管理员密码
SYSMANPASSWORD = "123456"

# Description : Password for DBSNMP user
# DBSNMP管理员密码
DBSNMPPASSWORD = "123456"

# Description : Location of the data file's
# 数据文件存放目录
DATAFILEDESTINATION =/data/oracle/oradata

# Description : Location of the data file's
# 恢复数据存放目录
RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area

# Description : Character set of the database
# 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
# (CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8")
CHARACTERSET = "ZHS16GBK"

# Description : total memory in MB to allocate to Oracle
# oracle内存1638MB,物理内存2G*80%
TOTALMEMORY = "1638"

进行静默配置:

1
dbca -silent -responseFile /home/oracle/response/dbca.rsp

建库后进行实例进程检查:

1
ps -ef | grep ora_ | grep -v grep

查看监听状态:

1
lsnrctl status

数据库创建完成。

有关详细信息, 请查看以下位置的日志文件: /data/oracle/cfgtoollogs/dbca/orcl/orcl.log。

数据库信息:

1
2
3
全局数据库名:orcl.test

系统标识符 (SID):orcl

登录查看实例状态:

1
2
sqlplus / as sysdba
SQL> select status from v$instance;

如果报错:【ORA-12162: TNS:net service name is incorrectly specified】

错误原因:【这个错误是因为ORACLE_SID变量没有传进去造成的。】

解决方法:

1.查看当前ORACLE_SID

[oracle@iZ2f570bi1k56uZ ~]$ echo $ORACLE_SID

orcl

2.修改ORACLE_SID和/home/oracle/response/dbca.rsp中的一样

[oracle@iZ2f570bi1k56uZ ~]$ export ORACLE_SID=orcl

3.如果遇到ORA-12162: TNS:net service name is incorrectly specified.错误

参考文章:【ORA-12162: TNS:net service name is incorrectly specified.

4.如果依然不能登陆,尝试修改orcle文件夹的权限

【如果本地连接时,出现监听错误,参考Linux中安装Oracle11g后出现监听的问题及解决办法

六.命令行模式静默删除

1、首先查看dbca的帮助信息

1
dbca -help

修改/home/oracle/response/dbca.rsp文件里以下几个参数,下面三个参数根据建库实际情况进行修改:

1
2
3
4
5
6
7
OPERATION_TYPE = "deleteDatabase"

SOURCEDB = "orcl"

SYSDBAUSERNAME = "sys"

SYSDBAPASSWORD = "123456"

然后运行:

1
dbca -silent -responseFile /home/oracle/response/dbca.rsp

各参数含义如下:

  • silent 表示以静默方式删除

  • -responseFile 表示使用哪个响应文件,必需使用绝对路径

  • RESPONSEFILE_VERSION 响应文件模板的版本,该参数不要更改

  • OPERATION_TYPE 安装类型,该参数不要更改

  • SOURCEDB 数据库名,不是全局数据库名,即不包含db_domain

很简单数据库卸载完成了,请注意,只是数据库卸载完了,数据库软件还是在的。

2、使用DBCA卸载数据库

1
dbca -silent -delete Database -responseFile dbca.rsp
  • -silent表示静默安装,免安装交互,大部分安装信息也不输出

  • -responseFile指定应答文件,要求用绝对路径

本文来自linux安装Oracle11G - 淼淼之森 - 博客园 (cnblogs.com)

 评论