Centos7 下载安装Oracle11g

 

 

环境准备

1.CentOS7 / CentOS8 64位最小化安装的虚拟机环境,需要图像化桌面

准备图形化桌面 

   安装oracle之前,Centos需要安装桌面环境,如果你的机器一开始就已经装好了桌面环境,可以忽略此步骤。我这里安装完系统,默认是命令行界面,这时就需要手动来安装用户图形界面了。

   查看一下当前的运行级别和可以安装的group:

systemctl get-default yum grouplist

  用命令行安装GNOME包,这需要等待很长一段时间:

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
#  更新系统的运行级别为graphical.target,设置默认启动图形界面:
systemctl set-default graphical.target
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
systemctl get-default #检查一下

        重启系统reboot,然后开机就能进入图形界面,按照提示设置普通用户登录密码,语言和时区等。

2.Oracle 11gR2 64位 Linux版安装包

虚拟机,centos7镜像文件,oracle11g文件

链接:https://pan.baidu.com/s/1zRcf959F3X2mJ5lfmZUY_A   提取码:uh0z

linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip

安装过程

1.关闭防火墙

操作用户:root

systemctl stop firewalld.service
systemctl disable firewalld.service
[root@localhost etc]# vim /etc/selinux/config
将SELINUX=active改为SELINUX=disabled,保存退出

2.安装依赖包

操作用户为:root。

执行如下命令安装依赖包。

yum install -y automake autotools-dev binutils bzip2 elfutils expat \ gawk gcc gcc-multilib g++-multilib lib32ncurses5 lib32z1 \ ksh less lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 \ libc6-i386 libelf-dev libltdl-dev libodbcinstq4-1 libodbcinstq4-1:i386 \ libpth-dev libpthread-stubs0-dev libstdc++5 make openssh-server rlwrap \ rpm sysstat unixodbc unixodbc-dev unzip x11-utils zlibc unzip cifs-utils \ libXext.x86_64 glibc.i686

如果上述命令报错,则直接直接下面的命令。

yum -y install xz wget gcc-c++ ncurses ncurses-devel \ cmake make perl openssl openssl-devel gcc* libxml2 \ libxml2-devel curl-devel libjpeg* libpng* freetype* \ make gcc-c++ cmake bison perl perl-devel perl perl-devel \ glibc-devel.i686 glibc-devel libaio readline-devel \ zlib.x86_64 zlib-devel.x86_64 libcurl-* net-tool* \ sysstat lrzsz dos2unix telnet.x86_64 iotop unzip \ ftp.x86_64 xfs* expect vim psmisc openssh-client* \ libaio bzip2 epel-release automake binutils bzip2 \ elfutils expat gawk gcc ksh less make openssh-server \ rpm sysstat unzip unzip cifs-utils libXext.x86_64 \ glibc.i686 binutils compat-libstdc++-33 \ elfutils-libelf elfutils-libelf-devel \ expat gcc gcc-c++ glibc glibc-common \ glibc-devel glibc-headers libaio \ libaio-devel libgcc libstdc++ libstdc++-devel \ make sysstat unixODBC unixODBC-devel libnsl

3.创建oracle用户

操作用户为:root

1.[root@localhost etc]# groupadd oinstall

2.[root@localhost etc]# groupadd dba
# 新增oracle用户,该用户初始组为oinstall,控制软件和补丁的安装 # 附加组为dba,负责控制数据库的创建和管理等

3.[root@localhost etc]# useradd -g oinstall -G dba -m oracle

4.[root@localhost etc]# passwd oracle
更改用户 oracle 的密码 。 新的 密码: 无效的密码: 密码少于 8 个字符 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。

5.[root@localhost etc]# groups oracle
oracle : oinstall dba

6.[root@localhost etc]# id oracle
uid=1001(oracle) gid=1001(oinstall) 组=1001(oinstall),1002(dba)

上述命令执行完毕后,为oracle用户设置密码,例如,我这里设置的密码为123456

创建文件目录,并授予他们所属用户所属组

1.[root@localhost etc]# mkdir -p data/oracle
2.[root@localhost etc]# mkdir -p data/oraInventory
4.[root@localhost etc]# cd /data
5.[root@localhost data]# ls oracle oraInventory #oracle数据库安装目录

4.解压Oracle数据库安装包

操作用户:oracle

操作目录:/home/oracle

将Oracle 11gR2安装文件上传(可以使用sftp上传)到该操作目录下面,然后顺序解压安装文件到该目录。

unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip #解压安装程序后自动生成的安装包目录database [root@localhost data]# ls database oracle oraInventory [root@localhost src]# chown -R oracle:oinstall data/ # 在给data下的所有文件授权 [root@localhost src]# chmod -R 777 data/

 

5.修改操作系统配置

1、将服务器名写入到hosts文件,可以测试ping sername 是否返回127.0.0.1

[root@oracledb ~] echo '192.168.80.12 localhost localhost.localdomain' >> /etc/hosts [root@oracledb ~] ping -c 3 oracledb PING oracledb (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.030 ms 64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.043 ms

 

2 对oracle用户设置限制,提高软件运行性能

操作用户:root

操作文件:/etc/security/limits.conf

vim /etc/security/limits.conf

在文件的末尾添加如下配置项。

oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle soft core unlimited oracle hard core unlimited oracle soft memlock 50000000 oracle hard memlock 50000000

3、修改用户登录认证

[root@oracledb ~] vim /etc/pam.d/login

session required /lib64/security/pam_limits.so

session required pam_limits.so

 

6.创建Oracle安装目录

操作用户:oracle

解压安装包后会生成database文件夹 /usr/local/src/oracle下新建文件,并授予他们所属用户所属组 mkdir -p /tools/oracle11g/product/11.2.0/dbhome_1 chown -R oracle:oinstall oracle/

 

 

7.修改环境变量

操作用户:oracle

操作目录:/home/oracle

1. 设置环境变量(ORACLE_HOME 设置为安装目录product下默认目录)

[root@oracledb ~] vim /etc/profile #oracle export ORACLE_HOME=/usr/local/src/data/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi

2. 修改Oracle用户环境变量

vim ~/.bash_profile

在文件末尾添加如下配置项

export ORACLE_BASE=/usr/local/src/data/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export ORACLE_UNQNAME=orcl export NLS_LANG=.AL32UTF8 export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

使得环境变量生效。

source ~/.bash_profile

------------------------准备条件已经完成,开始安装---------------------------------------

 

9.通过桌面方式安装Oracle

1、使用oracle用户登录桌面,打开终端运行安装程序

[oracle@oracle database]$ su - root Password: Last login: Mon Apr 26 15:27:31 CST 2021 on pts/1 [root@oracle ~]# DISPLAY=:0.0 [root@oracle ~]# export DISPLAY [root@oracle ~]# echo $DISPLAY :0.0 #DISPLAY变量是用来设置将图形显示到何处.比如CENTOS,你用图形界面登录进去,DISPLAY自动设置为DISPLAY=:0.0表示显式到本地监视器,那么通过终端工具(例如:xshell)进去,运行图形界面的程序,如果没有设置,系统是不允许程序启动的。 在执行xhost +命令(使得所有客户都可以访问) [root@oracle ~]# xhost access control enabled, only authorized clients can connect SI:localuser:root [root@oracle ~]# xhost + access control disabled, clients can connect from any host 切换到oracle用户 [root@oracle ~]# su - oracle 上一次登录:一 4月 26 15:33:42 CST 2021pts/1 上 [oracle@oracle ~]$ DISPLAY=:0.0 [oracle@oracle ~]$ export DISPLAY [oracle@oracle ~]$ echo $DISPLAY :0.0

 

cd /usr/local/src/oracle/database # 不然乱码,临时修改编码 export LANG=en_US.UTF-8 # 显示弹框 ./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

安装过程

1. 订阅邮件这些就直接跳过不填了

 

2.这里选择仅安装数据库,稍后再配置初始化数据。

 

3.选择单实例安装。

 

4. 默认英文

 

5. 默认

 

6. 这里就出现最开始创建的相应目录信息了,会自动读取

 

 

7. 默认

 

 

9. 选择group 组为之前创建好的oinstall

 

10. 直接忽略这些提示(勾选 ignore all)

 

11. 有警告直接忽略

 

 

 

 

 

1、OUI-10182 The effective user ID does not match the owner of the file ..........

解决方法:用root帐户在/etc下建立文件oraInst.loc,并写入以下内容:

inventory_loc=/usr/local/src/data/oraInventory(oraInventory所在目录) inst_group=oinstall

 

 

12 等待完成

 

 

 

-------------------------到这就安装完成,接下来进行配置-------------------------------

 

13.安装完成

操作用户:root

根据上一步完成信息提示,执行以下两行命令,具体位置需要根据你的安装位置决定:

/usr/local/src/data/oraInventory/orainstRoot.sh /usr/local/src/data/oracle/product/11.2.0/dbhome_1/root.sh

 

 

安装完成后还需要创建数据库,还是同样在Oracle用户桌面环境下,重新打开一个终端,输入 dbca 命令即可弹出相应的数据库创建向导。

切换到oracle用户 [root@oracle ~]# su - oracle 上一次登录:一 4月 26 15:33:42 CST 2021pts/1 上 [oracle@oracle ~]$ DISPLAY=:0.0 [oracle@oracle ~]$ export DISPLAY [oracle@oracle ~]$ echo $DISPLAY :0.0 [oracle@oracle ~]$ export LANG=en_US.UTF-8 [oracle@oracle ~]$ dbca bash: dbca: command not found... 报错时检查下配置文件~/.bash_profile

 

 

 选择创建数据库

 

选择第一行:一般用途或事务处理

第二行:定制数据库

第三行:数据仓库

 

填写全局数据库与SID

 

不配置EM,费资源

 

 选择下面的所有账户使用统一管理命令,你也可以选择上面使用不同管理命令

 

使用它默认的数据库文件所在位置

 

 恢复配置这一步,选择指定快速恢复区

 

根据自己情况,是否将实例方案添加到数据库中,我也不太懂啥意思,就勾上了

 

 上面四个:内存、调整大小、字符集、连接模式

 

字符集最好使用UTF8(当有中文时,防止出现乱码)

 

 数据库存储,直接下一步

 

 选择创建数据库和创建数据库脚本

 

报错:

故障原因:

在oracle database 11g中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就会报错。

 

解决办法:

1.[root@localhost db_1]# mount -o remount,size=2G /dev/shm 2.[root@localhost db_1]# vim /etc/fstab 添加: 3.tmpfs /dev/shm tmpfs defaults,size=2G 0 0 3.[root@localhost db_1]# mount -a 4.[root@localhost db_1]# df -h

 

点击Password Management...(口令管理)

解锁scott账户, 去掉前面的紫色小勾,输入密码。同样可以输入平常用的短小的密码

 

 

 

--------------------------------------------大功告成----------------------------------------------

启动数据库

 

1.启动数据库

启动已经安装的数据库orcl。

操作用户oracle

启动监听,才能进行远程连接

lsnrctl start

启动数据库过程如下:

sqlplus /nolog

使用dba权限连接Oralce

connect / as sysdba

启动数据库

startup

确认启动结果:

ORACLE instance started. Total System Global Area 534462464 bytes Fixed Size 2215064 bytes Variable Size 373293928 bytes Database Buffers 150994944 bytes Redo Buffers 7958528 bytes Database mounted. Database opened.

 

2.验证数据库

这里,我们使用DataGrip连接Oracle数据库,如下所示。

这里,输入的用户名为scott,密码为123456。

接下来,点击“连接测试”,如下所示。

 

---------------------------------------------

报错:

SQL> startup ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/usr/local/src/data/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora'

解决:

如果该解决方案还不行,试试给initorcl.ora授权

[oracle@gettestlnx01 dbs]$ cd /usr/local/src/data/oracle/admin/flinkx11/pfile [oracle@gettestlnx01 pfile]$ ls  init.ora.10262020153036 [oracle@gettestlnx01 pfile]$ cp init.ora.10262020153036 /usr/local/oracle/product/11.2.0/db_1/dbs/initorcl.ora  #如果没有initorcl.ora该文件 解决方案:将init.ora.10262020153036拷贝过去后重命名为initorcl.ora即可

 

报错:

SQL> startup MEMORY_TARGET not supported on this system

在oracle database 11g中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就会报错。

解决办法:

1.[root@localhost db_1]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 2.0G 1.1G 965M 53% /dev/shm tmpfs 1.9G 13M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 17G 14G 3.6G 80% / /dev/sda1 1014M 211M 804M 21% /boot tmpfs 378M 60K 378M 1% /run/user/0 /dev/sr0 4.4G 4.4G 0 100% /run/media/root/CentOS 7 x86_64 2. #为了确保操作系统重启之后能生效,需要修改/etc/fstab文件 [root@localhost db_1]# vim /etc/fstab 添加: tmpfs /dev/shm tmpfs defaults,size=4G 0 0 # 重新加载 3.[root@localhost db_1]# mount -a [root@slave12 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 4.0G 1.1G 3.0G 27% /dev/shm tmpfs 1.9G 13M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 17G 14G 3.5G 80% / /dev/sda1 1014M 211M 804M 21% /boot tmpfs 378M 8.0K 378M 1% /run/user/42 tmpfs 378M 0 378M 0% /run/user/0 #如果调整后还是报错,那就是/dev/shm还不够大

参考链接:

https://blog.csdn.net/l1028386804/article/details/106313375/

https://www.cnblogs.com/hudong716/p/14705432.html

https://blog.csdn.net/csgd2000/article/details/100224722

 

上一篇:Centos7安装Oracle11g及可能遇到的问题(最详细的操作过程)


下一篇:05 Linux快速安装 Oracle11g