Linux7.6从0开始安装Oracle数据库
1、环境准备
资源清单
资源列表 | 配置 |
---|---|
CPU | 4U |
内存 | 8G |
硬盘 | 200G |
操作系统 | CentOS Linux release 7.9.2009 (Core) |
oracle安装 | Linux-x86-64_1of7.zip,Linux-x86-64_2of7.zip |
安装前准备
1、更新yum
如果是新系统,这里会提示有很多需要更新的内容,等待更新完毕即可,我这边已经操作过,因此显示没有packages需要更新了。
[root@localhost app]# yum update
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.huaweicloud.com* extras: mirrors.huaweicloud.com* updates: mirrors.huaweicloud.com
No packages marked for update
2、安装oracle安装所需依赖
[root@localhost app]# yum install -y binutils compat-gcc* compat-glibc* compat-libcap1 compat-libstd* compat-libstdc++-33 compat-libstdc++-33.i686 compat-libstdc++-33*.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-devel.i686 glibc-devel*.i686 glibc-headers glibc.i686 glibc*.i686 ksh libaio libaio-devel libaio-devel.i686 libaio-devel*.i686 libaio.i686 libaio*.i686 libgcc libgcc.i686 libgcc*.i686 libstdc++ libstdc++-devel libstdc++-devel*.i686 libstdc++.i686 libstdc++*.i686 libXp make numactl sysstat unixODBC unixODBC-devel unixODBC-devel*.i686 unixODBC*.i686
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.huaweicloud.com* extras: mirrors.huaweicloud.com* updates: mirrors.huaweicloud.com
Package binutils-2.27-44.base.el7_9.1.x86_64 already installed and latest version
Package compat-gcc-44-c++-4.4.7-8.el7.x86_64 already installed and latest version
Package compat-gcc-44-gfortran-4.4.7-8.el7.x86_64 already installed and latest version
Package compat-gcc-44-4.4.7-8.el7.x86_64 already installed and latest version
Package 1:compat-glibc-2.12-4.el7.centos.x86_64 already installed and latest version
Package 1:compat-glibc-headers-2.12-4.el7.centos.x86_64 already installed and latest version
Package compat-libcap1-1.10-7.el7.x86_64 already installed and latest version
Package compat-libstdc++-33-3.2.3-72.el7.x86_64 already installed and latest version
Package compat-libstdc++-33-3.2.3-72.el7.x86_64 already installed and latest version
Package compat-libstdc++-33-3.2.3-72.el7.i686 already installed and latest version
Package compat-libstdc++-33-3.2.3-72.el7.i686 already installed and latest version
Package elfutils-libelf-0.176-5.el7.x86_64 already installed and latest version
Package elfutils-libelf-devel-0.176-5.el7.x86_64 already installed and latest version
Package gcc-4.8.5-44.el7.x86_64 already installed and latest version
Package gcc-c++-4.8.5-44.el7.x86_64 already installed and latest version
Package glibc-2.17-326.el7_9.3.x86_64 already installed and latest version
Package glibc-common-2.17-326.el7_9.3.x86_64 already installed and latest version
Package glibc-devel-2.17-326.el7_9.3.x86_64 already installed and latest version
Package glibc-devel-2.17-326.el7_9.3.i686 already installed and latest version
Package glibc-devel-2.17-326.el7_9.3.i686 already installed and latest version
Package glibc-headers-2.17-326.el7_9.3.x86_64 already installed and latest version
Package glibc-2.17-326.el7_9.3.i686 already installed and latest version
Package glibc-devel-2.17-326.el7_9.3.i686 already installed and latest version
Package glibc-2.17-326.el7_9.3.i686 already installed and latest version
Package glibc-static-2.17-326.el7_9.3.i686 already installed and latest version
Package libaio-0.3.109-13.el7.x86_64 already installed and latest version
Package libaio-devel-0.3.109-13.el7.x86_64 already installed and latest version
Package libaio-devel-0.3.109-13.el7.i686 already installed and latest version
Package libaio-devel-0.3.109-13.el7.i686 already installed and latest version
Package libaio-0.3.109-13.el7.i686 already installed and latest version
Package libaio-0.3.109-13.el7.i686 already installed and latest version
Package libaio-devel-0.3.109-13.el7.i686 already installed and latest version
Package libgcc-4.8.5-44.el7.x86_64 already installed and latest version
Package libgcc-4.8.5-44.el7.i686 already installed and latest version
Package libgcc-4.8.5-44.el7.i686 already installed and latest version
Package libstdc++-4.8.5-44.el7.x86_64 already installed and latest version
Package libstdc++-devel-4.8.5-44.el7.x86_64 already installed and latest version
Package libstdc++-devel-4.8.5-44.el7.i686 already installed and latest version
Package libstdc++-4.8.5-44.el7.i686 already installed and latest version
Package libstdc++-4.8.5-44.el7.i686 already installed and latest version
Package libstdc++-static-4.8.5-44.el7.i686 already installed and latest version
Package libstdc++-devel-4.8.5-44.el7.i686 already installed and latest version
Package libXp-1.0.2-2.1.el7.x86_64 already installed and latest version
Package 1:make-3.82-24.el7.x86_64 already installed and latest version
Package numactl-2.0.12-5.el7.x86_64 already installed and latest version
Package sysstat-10.1.5-20.el7_9.x86_64 already installed and latest version
Package unixODBC-2.3.1-14.el7.x86_64 already installed and latest version
Package unixODBC-devel-2.3.1-14.el7.x86_64 already installed and latest version
Package unixODBC-devel-2.3.1-14.el7.i686 already installed and latest version
Package unixODBC-2.3.1-14.el7.i686 already installed and latest version
Package unixODBC-devel-2.3.1-14.el7.i686 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package ksh.x86_64 0:20120801-144.el7_9 will be installed
--> Processing Conflict: ksh-20120801-144.el7_9.x86_64 conflicts pdksh
--> Finished Dependency Resolution
Error: ksh conflicts with pdksh-5.2.14-37.el5_8.1.x86_64You could try using --skip-broken to work around the problemYou could try running: rpm -Va --nofiles --nodigest
最后的错误是因为我安装了pdksh-5.2.14-37.el5_8.1.x86_64 导致的,因为在安装oracle数据库的时候需要,如果有需要的朋友可以留言或者是手动从互联网下载;可以忽略此错误,在准备此环境的时候,是不会出现此错误的
3、关闭防火墙
[root@localhost app]# systemctl stop firewalld.service
[root@localhost app]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
4、上传oracle安装文件
我上传的路径是/app
[root@localhost app]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring p13390677_112040_Linux-x86-64_2of7.zip...100% 1124320 KB 38769 KB/sec 00:00:29 0 Errors
Transferring p13390677_112040_Linux-x86-64_1of7.zip...100% 1362873 KB 38939 KB/sec 00:00:35 0 Errors
5、用户,用户组准备
在root用户下执行
[root@localhost app]# groupadd dba
[root@localhost app]# groupadd oper
[root@localhost app]# groupadd oinstall
[root@localhost app]# useradd oracle
[root@localhost app]# usermod -a -G dba,oper,oinstall username
为了确保oracle用户在争取的组中,可以使用 id oracle检查
[root@localhost app]# id oracle
uid=1000(oracle) gid=1003(oracle) groups=1003(oracle),1000(dba),1001(oper),1002(oinstall)
也可以在oracle用户下查看自己所在组织
[oracle@localhost ~]$ groups
oracle dba oper oinstall
6.创建安装目录
[root@localhost app]# mkdir -p /oracle/product
[root@localhost app]# mkdir -p /oracle/product/OraHome
[root@localhost app]# mkdir -p /oracle/oraInventory
[root@localhost app]# mkdir -p /oracle/oradata
[root@localhost app]# mkdir -p /var/opt/oracle
7.设置目录的所有者所属组和权限
[root@localhost app]# chown -R oracle.oinstall /oracle
[root@localhost app]# chown -R oracle.oinstall /oracle/oradata
[root@localhost app]# chown -R oracle.oinstall /oracle/product/OraHome
[root@localhost app]# chown -R oracle.dba /oracle/oraInventory
[root@localhost app]# chown oracle.dba /var/opt/oracle
[root@localhost app]# chmod -R 775 /oracle
[root@localhost app]# chmod -R 755 /var/opt/oracle
8、设置用户oracle的环境变量
切换到oralce用户下
[root@localhost app]# su - oracle
[oracle@localhost ~]$ vim /home/oracle/.bash_profile
新增以下内容
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/OraHome
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export ORACLE_TERM=vt100
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
PATH=$PATH:/usr/sbin; export PATH
PATH=$PATH:/usr/bin; export PATH
完整文件内容为
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/binexport PATH
# 新增内容
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/OraHome
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export ORACLE_TERM=vt100
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
PATH=$PATH:/usr/sbin; export PATH
PATH=$PATH:/usr/bin; export PATH
9、修改/etc/sysctl.conf
切换到root用户执行,新增以下内容
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 = 1048586
注意 kernel.shmmax = 536870912
和机器的内存有关,安装时如出现问题,可以进行调整;
sysctl 生效
[root@localhost mrduan]# /sbin/sysctl -p
10、提高性能 修改 /etc/security/limits.conf
[root@localhost mrduan]# vim /etc/security/limits.conf
接入以下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 4096
oracle hard nofile 65536
oracle soft stack 10240
11、修改参数 /etc/selinux/config
[root@localhost mrduan]# vim /etc/selinux/config
修改以下内容
SELINUX=disabled
12、修改属性文件 /etc/profile
[root@localhost mrduan]# 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
配置生效
[root@localhost mrduan]# source /etc/profile
13、解压文件并赋写权限给oracle用户
[root@localhost app]# unzip p13390677_112040_Linux-x86-64_1of7.zip
[root@localhost app]# unzip p13390677_112040_Linux-x86-64_2of7.zip[root@localhost app]# chown -R oracle database
[root@localhost app]# chgrp -R oinstall database
14、准备linux桌面
因为在执行oracle安装的时候需要使用图形界面,所以需要准备linux,如果有朋友知道可以不使用图形界面安装的可以留言让我学习以下!
在root用户下执行,静等安装完成就可以了
[root@localhost app]# yum groupinstall “GNOME Desktop” “Graphical Administration Tools”
安装完成之后,此时系统默认还是命令行模式,可以切换到砖面模式
[root@localhost app]# systemctl set-default graphical.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
如果在安装完oracle之后切换回命令行模式,可以执行
[root@localhost app]# systemctl set-default multi-user.target
通过get-default可以检查下次激动的到底时什么
[root@localhost app]# systemctl get-default
graphical.target
这里 graphical.target
表示图形桌面,multi-user.target
表示命令行(多用户)
接下来仍需要重启方可生效
[root@localhost app]# reboot
到此安装前的准备工作完成,接下来开始数据库安装工作
2.Oracle数据库安装
2.1 数据库软件安装
1、打开Linux桌面使用oracle用户登录
输入密码登录之后,在桌面右键打开命令行
切换到数据库的上传目录/app/database
[oracle@localhost app]$ ll
total 2487200
drwxr-xr-x. 7 oracle oinstall 136 Aug 27 2013 database
-rw-r--r--. 1 root root 1395582860 Apr 28 2017 p13390677_112040_Linux-x86-64_1of7.zip
-rw-r--r--. 1 root root 1151304589 Apr 28 2017 p13390677_112040_Linux-x86-64_2of7.zip
[oracle@localhost app]$ cd database/
[oracle@localhost database]$ ll
total 44
drwxr-xr-x. 4 oracle oinstall 248 Aug 27 2013 install
-rw-r--r--. 1 oracle oinstall 30016 Aug 27 2013 readme.html
drwxr-xr-x. 2 oracle oinstall 61 Aug 27 2013 response
drwxr-xr-x. 2 oracle oinstall 34 Aug 27 2013 rpm
-rwxr-xr-x. 1 oracle oinstall 3267 Aug 27 2013 runInstaller
drwxr-xr-x. 2 oracle oinstall 29 Aug 27 2013 sshsetup
drwxr-xr-x. 14 oracle oinstall 4096 Aug 27 2013 stage
-rw-r--r--. 1 oracle oinstall 500 Aug 27 2013 welcome.html
2.执行安装命令
[oracle@localhost database]$ ./runInstaller
此时Linux桌面就回弹出安装的页面,需要我们一步一步操作;
第一步:
直接点击yes即可
第二步
忽略更新
第三步
选择只安装软件
第四步直接下一步
第五步
第六步
安装企业版
第七步
选择安装位置,请确保oracle用户对这些目录有读写全选
第八步
这个路径需要选择以下,默认时没有此路径的
第九步:数据库管员组选择
第十步:环境检查
安装环境检查,建议把这些问题解决了在继续安装,否则可能出现不可预知的错误
PRVG-1201 问题解决方案
PRVG-1201:05 kernel parameter"shmmax" does not have proper value on
node “localhost”[Expected=“2001152000”,current =
“3774873”:Configured=“3774873”].
参考安装准备的工作9即重新配置
实际根据详细提示信息修改即可!
kernel.shmmax = 2001152000
PRWF-7532:Package"pdksh"is missing 问题解决方案
Package:pdksh-5.2.14 -This is a prerequisite condition to test whether
the package"pdksh-5.2.14"is available on the system.
Expected walue :pdksh-5.2.14
Actual walue
: missing
Details.
PRWF-7532:Package"pdksh"is missing on node “localhost”
-Cause: A required package is either not installed or, if the
package is a kernel module,is not loaded on the specified node.
-Action: Ensure that the required package is installed and
available.
如果出现此问题,可以从互联网手动下载pdksh-5.2.14安装,安装前需要更新yum
如果你找不到pdksh-5.2.14安装包,也可以留言或者私信
全部问题解决之后,则可以看到
第十一步:程序安装
第十二步:执行启动脚本
需要切换到root用户下执行,建议新开一个终端
执行orainstRoot.sh
[root@localhost oraInventory]# pwd
/home/oracle/oraInventory[root@localhost oraInventory]# ./orainstRoot.sh
Changing permissions of /home/oracle/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.Changing groupname of /home/oracle/oraInventory to oinstall.
The execution of the script is complete.
执行root.sh
[root@localhost OraHome]# pwd
/oracle/product/OraHome
[root@localhost OraHome]# ./root.sh
Performing root user operation for Oracle 11g The following environment variables are set as:ORACLE_OWNER= oracleORACLE_HOME= /oracle/product/OraHomeEnter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ...Copying oraenv to /usr/local/bin ...Copying coraenv to /usr/local/bin ...Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
Enter the full pathname of the local bin directory: [/usr/local/bin]:
这一步直接按回传即可
第十三步:安装完成
至此数据库安装完成
2.2配置数据库监听
在oracle用户下执行netca
[oracle@localhost database]$ netca
第一步
第二步
第三步
第四步
第五步
第六步
第七步
如果不在配置了点击finish即可
2.3创建数据库
在oracle用户下的终端执行(桌面)dbca
[oracle@localhost database]$ dbca
接下来就可以单出来配置页面
第一步:欢迎页面
第二步:创建数据库还是模板管理
第三步:选择根据哪个模板创建数据库
第四步:输入数据库名称
第五步:配置管理
第六步:修改数据库密码
第七步:存储位置,默认即可
第八步:配置Recovery位置
第九步:勾选sample
第十步:内存初始化和管理,勾选Use Automatic Memory Management
字符集配置
第十一步:配置说明,建议保存
第十二步:创建前的提示
第十三步:点击上一步的finish开始安装
警告信息:可以忽略
安装完成提示是否管理密码
至此,数据库实例配置完成!
验证实例是否安装完成
在浏览器输入:http://localhost:1158/em/
输入dba账号登录
通过PLSQL 登录
这样我们就可以对数据库进行使用了!