1.查看Swap分区空间(不能小于2G)

grep SwapTotal /proc/meminfo

2.修改CentOS系统标识 (由于Oracle默认不支持CentOS)

 vim /etc/redhat-release

执行vim语句时由于centos最小化安装vim并没有安装完整需要重新安装

yum -y install vim-enhanced

 执行后重新执行语句

3.删除CentOS Linux release 7.9.2009 (Core)(快捷键dd),改成redhat-7

4.修改sysctl.conf 配置内核参数

vim /etc/sysctl.conf

 添加以下内容:

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

 

 修改完后,启用新的配置

sysctl -p

5.安装必须的软件包

yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC* unzip lrzsz

6.创建安装oracle程序用户组

groupadd oinstall

 7.创建DBA用户组

groupadd dba

 8.创建用户oracle 并加入到dba组

useradd -g dba -m oracle

 9.将用户oracle加入到oinstall组

usermod -a -G oinstall oracle

10.修改用户oracle的密码

passwd oracle

11.查看用户oracle的信息

id oracle

12.创建oracle主目录

mkdir -p /data/oracle

 13.创建oralce配置目录

mkdir -p /data/inventory

 14.创建oracle压缩包解压目录

mkdir -p /data/src

 15.修改目录权限

chown -R oracle:oinstall /data/oracle

chown -R oracle:oinstall /data/inventory

chown -R oracle:oinstall /data/src

 16.查看目录权限

ll /data

  17.设置系统资源的软限制和硬限制

vim /etc/security/limits.conf

 添加如下内容

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

18.修改用户环境变量

vim /home/oracle/.bashrc

添加内容如下:

export PATH
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orc1
export ORACLE_UNQNAME=orc1
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lb:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

19.激活/home/oracle/.bashrc

source /home/oracle/.bashrc

 20.使用Xftp 传输文件

21.unzip七个zip安装包并授权

unzip p13390677_112040_LINUX_1of7.zip -d /data/src/
unzip p13390677_112040_LINUX_2of7.zip -d /data/src/
unzip p13390677_112040_LINUX_3of7.zip -d /data/src/
unzip p13390677_112040_LINUX_4of7.zip -d /data/src/
unzip p13390677_112040_LINUX_5of7.zip -d /data/src/
unzip p13390677_112040_LINUX_6of7.zip -d /data/src/
unzip p13390677_112040_LINUX_7of7.zip -d /data/src/

解压后一定要进行授权,不然oracle用户无法修改数据库安装文件

chown -R oracle:oinstall /data/src/

容易遇到的问题:

21.1.unzip: Command Not Found 

由于centos最小化安装可能没有安装unzip,需要使用yum指令进行安装
 

yum install -y unzip zip

 21.2.文件在使用unzip解压时显示disk full 磁盘已满

我一般重新安装虚拟机,在安装虚拟机的时候自主分配磁盘空间/root分配足够大

查看一下/data/src目录

22.关闭selinux

vim /etc/selinux/config

22.1.修改SELINUX=disabled

23.重启机器

reboot

 24.进入Oracle用户

su oracle

25.编辑数据库安装文件

vim /data/src/database/response/db_install.rsp

 修改以下字段:万分小心,错了一个字都会导致数据库无法启动

oracle.install.option=INSTALL_DB_SWONLY                # 安装类型
ORACLE_HOSTNAME=oracle.server                            # 主机名称
UNIX_GROUP_NAME=oinstall                                   # 安装组
INVENTORY_LOCATION=/data/inventory                         # INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN                                # 选择语言
ORACLE_HOME=/data/oracle/product/11.2.0/db_1               # oracle_home
ORACLE_BASE=/data/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                              # 设置安全更新

26.安装oracle

/data/src/database/runInstaller -silent -responseFile /data/src/database/response/db_install.rsp -ignorePrereq

遇到的问题:

切换到root用户执行以下命令

yum install binutils -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install gcc -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
yum install ksh -y
yum install libgcc -y
yum install libgcc.i686 -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install libstdc++-devel.i686 -y
yum install libaio -y
yum install libaio.i686 -y
yum install libaio-devel -y
yum install libaio-devel.i686 -y
yum install libXext -y
yum install libXext.i686 -y
yum install libXtst -y
yum install libXtst.i686 -y
yum install libX11 -y
yum install libX11.i686 -y
yum install libXau -y
yum install libXau.i686 -y
yum install libxcb -y
yum install libxcb.i686 -y
yum install libXi -y
yum install libXi.i686 -y
yum install make -y
yum install sysstat -y
yum install unixODBC -y
yum install unixODBC-devel -y
yum install zlib-devel -y
yum install elfutils-libelf-devel -y

执行后回到oracle用户继续安装

27.双击窗口,复制/data/oracle/product/11.2.0/db_1/root.sh

在另一个窗口输入命令如下:

/data/oracle/product/11.2.0/db_1/root.sh

 一定要执行了之后在回到安装窗口回车

如果遇到错误:
CAUSE: The central inventory location provided is not empty.

解决方法:找到报错标明的那个inventory目录,把它噶了,重新执行命令。

 28.编辑监听配置文件

vim /data/src/database/response/netca.rsp

 修改如下配置(有很多都不用修改)

INSTALL_TYPE=""custom""                               # 安装的类型
LISTENER_NUMBER=1                                     # 监听器数量
LISTENER_NAMES={"LISTENER"}                           # 监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"}                       # 监听器使用的通讯协议列表
LISTENER_START=""LISTENER""                           # 监听器启动的名称

29.执行以下命令

/data/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data/src/database/response/netca.rsp

常见错误:

方法:换一个主机名,主机名不能使用默认的localhost

hostnamectl set-hostname 你要使用的数据名

 并且把主机名和ip写入到/etc/hosts中

vim /etc/hosts

 30.编辑数据库实例文件

vim /data/src/database/response/dbca.rsp

 30.1.按esc,输入/+参数名(例如RESPONSEFILE_VERSION),根据以下值修改(要细心,一个也不能错!!!)

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 =/data/oracle/oradata                   // 数据文件存放目录
RECOVERYAREADESTINATION=/data/oracle/flash_recovery_area    // 恢复数据存放目录
CHARACTERSET ="AL32UTF8"                                    // 字符集
NATIONALCHARACTERSET= "AL16UTF16"                           // 字符集
TOTALMEMORY ="1638"                                         // 1638MB,物理内存2G*80%

31.执行以下命令

/data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/src/database/response/dbca.rsp

32.查看实例是否运行

ps -ef | grep ora_ | grep -v grep

 如果没有数据则是实例没有运行成功,继续安装数据库也无法启动

33.修改启动和关闭实例的程序

vim /data/oracle/product/11.2.0/db_1/bin/dbstart

 33.1.将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1

ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1

33.2.同上,将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1

vim /data/oracle/product/11.2.0/db_1/bin/dbshut

 ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1

 

34.修改/etc/oratab

vim /etc/oratab

 34.1.将orcl:/data/oracle/product/11.2.0/db_1:N修改为orcl:/data/oracle/product/11.2.0/db_1:Y

 

35.启动实例

/data/oracle/product/11.2.0/db_1/bin/dbstart

 

 36.开机启动Oracle(以下命令都是在root用户下!!!也就是第27步双击打开的窗口)

chmod +x /etc/rc.d/rc.local

vim /etc/rc.d/rc.local

su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/dbstart"

 

37.oracle用户窗口输入以下命令,进入oracle数据库

(最重要的地方,验证的你数据库是否可以正常启动)

在数据库中输入

sqlplus / as sysdba

在SQL命令行输入:

startup

 如果显示如下,则恭喜数据库安装成功

 下面我遇到的几种常见报错:

一,ORA-01078、LRM-00109错误问题处理

cd /data/oracle/product/11.2.0/db_1/dbs/  首先看看自己文件夹里面是否有initorcl.ora这个文件,

如果没有

mv /data/oracle/admin/orcl/pfile/ 里面的ora文件 /data/oracle/product/11.2.0/db_1/dbs/initorcl.ora

 把pfile里面的ora文件移动过来使用 问题得以解决

参考:https://www.cnblogs.com/linyfeng/p/7231603.html

二,ORA-00205: error in identifying control file

控制文件损坏,或者控制文件不存在

我找到的问题是我们上面的步骤做了一个开机自启动,导致控制文件已经被人打开了,没法再次打开

解决方案:回到36步,把写入的三行数据全部注释掉,回到oracle重新执行startup

问题解决。

参考:https://www.shijianbu.com/front/article/1764.html

三,ORA-01507: database not mounted

进入oracle家目录的dbs里面,看看有没有lk开头的文件,有的话直接kill掉

fuser -k lk*

 参考:https://blog.csdn.net/qq_60175070/article/details/129662831

重启数据库,问题解决。

四,ORA-01219 :数据库未打开:仅允许在固定表/视图中查询

参考:https://blog.csdn.net/qq_43271844/article/details/120287713

参考:https://blog.csdn.net/myydan/article/details/129130323

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐