系统:Centos7
一、安装准备
1.1 更换依赖源
yum源进行切换(这里采用的阿里云的yum源)(切换之前建议先备份 /etc/yum.repos.d 中的文件)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1.2依赖下载
有网络依赖下载
yum install compat-libstdc++-33 elfutils-libelf-devel gcc* glibc-* ksh libaio libaio-devel libstdc++-devel unixODBC unixODBC-devel sysstat -y
无网络依赖下载(需要现在一台有网络的服务器上运行该命令)
yum install --downloadonly --downloaddir=/tmp/ compat-libstdc++-33 elfutils-libelf-devel gcc* glibc-* ksh libaio libaio-devel libstdc++-devel unixODBC unixODBC-devel sysstat -y
#然后把在/tmp/文件夹下的依赖包上传到服务器中,执行该命令
rpm -Uvh --force --nodeps *.rpm
1.3 创建需要的用户和用户组
groupadd oinstall
groupadd dba
groupadd asmadmin
groupadd asmdba
useradd -g oinstall -G dba,asmdba oracle -d /home/oracle
passwd oracle
1.4.修改linux内核参数
编辑sysctl.conf
vi /etc/sysctl.conf
把下列内容放到sysctl.conf文件中
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 8388608
kernel.shmmax = 34359738368
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生效参数,或者重启操作系统
1.5. 关闭selinux、防火墙
关闭selinux
vim /etc/selinux/config
设置SELINUX=disabled
关闭防火墙
systemctl stop firewalld
1.6.修改配置文件
修改limits.conf文件
vi /etc/security/limits.conf
将以下内容加到limits.conf文件中
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
修改/etc/pam.d/login文件
vi /etc/pam.d/login
将以下内容加到login文件中
session required /lib64/security/pam_limits.so
session required pam_limits.so
修改/etc/profile文件
vim /etc/profile
将以下内容加到profile文件中
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
使profile文件生效
source /etc/profile
1.7. 创建数据库相关目录并授权、修改/etc/oraInst.loc文件
mkdir -p /u01/app/
chown -R oracle:oinstall /home/oracle
chmod -R 775 /home/oracle
chown -R oracle:oinstall /u01/app/
chmod -R 775 /u01/app/
添加/etc/oraInst.loc文件
vi /etc/oraInst.loc
将以下内容放到oraInst.loc文件中
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
授权
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc
1.8.切换的oracle用户,并设置用户环境变量
切换oracle用户
su - oracle
设置环境变量
vi ~/.bash_profile
将以下内容放到.bash_profile文件中
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl
重新加载环境变量,使其生效
source ~/.bash_profile
1.9.上传已经下载好的数据库安装包到linux任意目录并解压,我这里解压到的是/home/oracle/目录
提供linux的oracle11g安装包
链接:https://pan.baidu.com/s/183ItZoi77JGUWnQyOQImOg?pwd=uikp
提取码:uikp
解压zip包(unzip安装命令‘yum install unzip’)
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
1.10.切换到root用户并授权相关文件
su - root
cd /home/oracle/
mkdir etc
cp /home/oracle/database/response/* /home/oracle/etc/
chmod 777 /home/oracle/etc/*.rsp
11.切换到oracle用户,配置数据库安装文件
su - oracle
vi /home/oracle/etc/db_install.rsp
#将下列内容添加到db_install.rsp文件末尾即可
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=主机名
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN,zh_TW
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
#这里必须填ture
DECLINE_SECURITY_UPDATES=true
1.12. 执行安装
进入 /home/oracle/database文件夹下执行以下命令
./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
此处会卡住,安装完成会出现以下情况则安装成功,若未出现可查看日志文件
可以重新开一个窗口查看日志文件命令 文件名需要自己更改
tail -f /u01/app/oracle/oraInventory/logs/installActions2024-09-20_11-39-48PM.log
1.13. 安装完成后切换到root用户
su root
执行
sh /u01/app/oracle/product/11.2.0/db_1/root.sh
1.14. 切换成oracle用户配置环境变量
su - oracle
vi ~/.bash_profile
将以下内容添加到.bash_profile文件中
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data
刷新环境变量,使其生效
source ~/.bash_profile
1.15. 安装数据库实例,配置dbca.rsp文件
vi /home/oracle/etc/dbca.rsp
将以下内容添加到dbca.rsp文件中
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "1638"
# 其中TOTALMEMORY = "1638" 为1638MB,物理内存2G*80%
1.16. 安装数据库实例
dbca -silent -responseFile /home/oracle/etc/dbca.rsp
执行命令之后,会提示输入Sys和System用户的密码,输入后会出现下列文字
出现以下文字则安装成功
实例进程检查
ps -ef | grep ora_ | grep -v grep
1.17. 监听配置,切换到oracle用户
su - oracle
配置监听
netca /silent /responsefile /home/oracle/database/response/netca.rsp
查看监听状态
netstat -tnulp | grep 1521
1.18. 安装完成,使用sqlplus连接测试
sqlplus /nolog
conn /as sysdba
出现以下情况即可
1.19. 启动监听
按照我的这个安装过程,需要先停止监听,再启动监听
监听停止
lsnrctl stop
监听启动
lsnrctl start
#执行启动监听的命令时 估计会出现The listener supports no services,如果出现以下情况
#去/u01/app/oracle/product/11.2.0/db_1/network/admin 文件夹下,修改 listener.ora 文件 增加以下内容
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = orcl)
)
)
# 同时把LISTENER中host=loaclhost改成host=本机ip地址
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
改成
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.134.129)(PORT = 1521))
)
)
- 启动数据库
#执行以下命令启动数据库
sqlplus /nolog
conn /as sysdba
startup
如果启动数据库出现以下情况执行以下命令 将/u01/app/oracle/admin/orcl11g/pfile/init.ora.8202022213917 复制到’/u01/app/oracle/product/11.2.0/db_1/dbs文件夹下并更名为initorcl.ora
在oracle用户下执行
cp /u01/app/oracle/admin/orcl11g/pfile/init.ora.8202022213917 /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora
二、后续步骤
3.1 监听配置
host 可以改为自身IP地址,也可以改为localhost或者127.0.0.1,本质没有区别
端口号默认为1521
oracle@yaoyuan ~$ cat /u01/app/oracle/product/19.3.0/db_1/network/admin/tnsnames.ora
...
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracleace)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
监听操作
lsnrctl stop
lsnrctl start
lsnrctl status
3.2 数据库连接
Navicat连接Oracle数据库