centos7 下载安装 oracle11 最新必成功
2021/5/24 2:26:07
本文主要是介绍centos7 下载安装 oracle11 最新必成功,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
本教程自己经过5遍的实践检验,每一遍都会有各种报错,但是多安装几遍,多百度找找原因,应该不是什么问题。最后一遍安装时间花费1个小时
没有虚拟机,centos7镜像和oracle11安装包的,我已经给大家提供好了,不用谢
链接:https://pan.baidu.com/s/1zRcf959F3X2mJ5lfmZUY_A 提取码:uh0z
环境准备
1.CentOS7 / CentOS8 64位最小化安装的虚拟机环境,需要图像化桌面
准备图形化桌面
安装oracle之前,Centos需要安装桌面环境,如果你的机器一开始就已经装好了桌面环境,可以忽略此步骤。我这里安装完系统,默认是命令行界面,这时就需要手动来安装用户图形界面了。
查看一下当前的运行级别和可以安装的group:
[root@localhost ~]# systemctl get-default [root@localhost ~]# yum grouplist
用命令行安装GNOME包,这需要等待很长一段时间:
[root@localhost ~]#yum groupinstall "GNOME Desktop" "Graphical Administration Tools" # 更新系统的运行级别为graphical.target,设置默认启动图形界面: [root@localhost ~]#systemctl set-default graphical.target [root@localhost ~]#ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target [root@localhost ~]#systemctl get-default #检查一下
重启系统reboot,然后开机就能进入图形界面,按照提示设置普通用户登录密码,语言和时区等。
2.Oracle 11gR2 64位 Linux版安装包
下载好这两个安装包
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
安装过程
1.关闭防火墙
操作用户:root
[root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# systemctl disable firewalld.service [root@localhost etc]# vim /etc/selinux/config 将SELINUX=active改为SELINUX=disabled,保存退出
2.安装依赖包
操作用户为:root。
执行如下命令安装依赖包。
[root@localhost ~]# 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
如果上述命令报错,则直接直接下面的命令。
[root@localhost ~]# 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用户
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
#oracle是数据库安装目录,oraInventory存放所有日志 [root@localhost data]# mkdir oracle [root@localhost data]# mkdir oraInventory [root@localhost data]# ls oracle oraInventory
4.解压Oracle数据库安装包
将Oracle 11gR2安装文件上传(可以使用sftp上传)到该操作目录/data下面,然后顺序解压安装文件到该目录。
[root@localhost data]# unzip linux.x64_11gR2_database_1of2.zip [root@localhost data]# 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.修改操作系统配置
- 将服务器名写入到hosts文件,可以测试ping sername 是否返回127.0.0.1
[root@localhost data]# echo '192.168.80.12 localhost localhost.localdomain' >> /etc/hosts [root@localhost data]# 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
- 对oracle用户设置限制,提高软件运行性能
[root@localhost data]# 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
- 修改用户登录认证
[root@localhost ~] vim /etc/pam.d/login session required /lib64/security/pam_limits.so session required pam_limits.so
- 修改环境变量
设置环境变量(ORACLE_HOME 设置为安装目录product下默认目录)
默认安装完成后在product/11.2.0/dbhome_1下,如果有不同,回头修改
[root@localhost ~] 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 [root@localhost ~] source /etc/profile
- 修改Oracle用户环境变量
[root@localhost ~] 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 # 使得环境变量生效。 [root@localhost ~] source ~/.bash_profile
------------------------准备条件已经完成,开始安装---------------------------------------
准备安装
- 通过桌面方式安装Oracle
使用oracle用户登录桌面,打开终端运行安装程序
DISPLAY变量是用来设置将图形显示到何处.比如CENTOS,你用图形界面登录进去,DISPLAY自动设置为DISPLAY=:0.0表示显式到本地监视器,那么通过终端工具(例如:xshell)进去,运行图形界面的程序,如果没有设置,系统是不允许程序启动的。
[oracle@localhost database]$ su - root Password: Last login: Mon Apr 26 15:27:31 CST 2021 on pts/1 [root@localhost ~]# DISPLAY=:0.0 [root@localhost ~]# export DISPLAY [root@localhost ~]# echo $DISPLAY :0.0 # 在执行xhost +命令(使得所有客户都可以访问) [root@localhost ~]# xhost access control enabled, only authorized clients can connect SI:localuser:root [root@localhost ~]# xhost + access control disabled, clients can connect from any host 切换到oracle用户 [root@localhost ~]# su - oracle 上一次登录:一 4月 26 15:33:42 CST 2021pts/1 上 [oracle@oracle ~]$ DISPLAY=:0.0 [oracle@localhost ~]$ export DISPLAY [oracle@localhost ~]$ echo $DISPLAY :0.0
真的准备开始安装了
[oracle@localhost ~]$ cd /usr/local/src/data/database # 临时修改编码,不然乱码 [oracle@localhost database]$ export LANG=en_US.UTF-8 # 显示弹框,不设置的话,弹框特别难看 [oracle@localhost database]$ ./runInstaller -jreLoc /etc/alternatives/jre_1.8.0
安装过程
1.订阅邮件这些就直接跳过不填了
2.这里选择仅安装数据库,稍后再配置初始化数据。
3.选择单实例安装。
-
默认英文
-
默认
-
这里就出现最开始创建的相应目录信息了,会自动读取;如果路径不一,记得修改
-
默认
-
选择group 组为之前创建好的oinstall
-
直接忽略这些提示(勾选 ignore all)
-
有警告直接忽略
12 等待完成
报错:OUI-10182 The effective user ID does not match the owner of the file …
解决方法:用root帐户在/etc下建立文件oraInst.loc,并写入以下内容:
[root@localhost etc]$ touch oraInst.loc [root@localhost etc]$ vim oraInst.loc inventory_loc=/usr/local/src/data/oraInventory(oraInventory所在目录) inst_group=oinstall
-------------------------到这就安装完成,接下来进行配置-------------------------------
安装完成准备配置
13.安装完成
操作用户:root
根据上一步完成信息提示,执行以下两行命令,具体位置需要根据你的安装位置决定:
[root@localhost ~]$ /usr/local/src/data/oraInventory/orainstRoot.sh [root@localhost ~]$ /usr/local/src/data/oracle/product/11.2.0/dbhome_1/root.sh
安装完成后还需要创建数据库,还是同样在Oracle用户桌面环境下,重新打开一个终端,输入 dbca 命令即可弹出相应的数据库创建向导。
[root@localhost ~]# su - oracle 上一次登录:一 4月 26 15:33:42 CST 2021pts/1 上 [oracle@localhost ~]$ DISPLAY=:0.0 [oracle@localhost ~]$ export DISPLAY [oracle@localhost ~]$ echo $DISPLAY :0.0 [oracle@localhost ~]$ export LANG=en_US.UTF-8 [oracle@localhost ~]$ dbca
报错:bash: dbca: command not found…
解决方案:报错时检查下配置文件~/.bash_profile,重新添加oracle的配置文件
选择创建数据库
选择第一行:一般用途或事务处理
第二行:定制数据库
第三行:数据仓库
填写全局数据库与SID
不配置EM,费资源
选择下面的所有账户使用统一管理命令,你也可以选择上面使用不同管理命令
使用它默认的数据库文件所在位置
恢复配置这一步,选择指定快速恢复区
根据自己情况,是否将实例方案添加到数据库中,我也不太懂啥意思,就勾上了
上面四个:内存、调整大小、字符集、连接模式
字符集最好使用UTF8(当有中文时,防止出现乱码)
数据库存储,直接下一步
选择创建数据库和创建数据库脚本
报错:
故障原因:
在oracle database 11g中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就会报错。
解决办法:
[root@localhost db_1]# vim /etc/fstab 添加: tmpfs /dev/shm tmpfs defaults,size=4G 0 0 [root@localhost db_1]# mount -a [root@localhost db_1]# df -h
点击Password Management…(口令管理)
解锁scott账户, 去掉前面的紫色小勾,输入密码。同样可以输入平常用的短小的密码
--------------------------------------------大功告成----------------------------------------------
启动数据库
# 1.启动数据库 启动已经安装的数据库orcl。 操作用户oracle 启动监听,才能进行远程连接 [oracle@localhost ~]# lsnrctl start 启动数据库过程如下: [oracle@localhost ~]# sqlplus /nolog 使用dba权限连接Oralce SQL> connect / as sysdba 启动数据库 SQL> 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 下载安装 oracle11 最新必成功的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25安卓NDK 是什么?-icode9专业技术文章分享
- 2024-12-25caddy 可以定义日志到 文件吗?-icode9专业技术文章分享
- 2024-12-25wordfence如何设置密码规则?-icode9专业技术文章分享
- 2024-12-25有哪些方法可以实现 DLL 文件路径的管理?-icode9专业技术文章分享
- 2024-12-25错误信息 "At least one element in the source array could not be cast down to the destination array-icode9专业技术文章分享
- 2024-12-25'flutter' 不是内部或外部命令,也不是可运行的程序 或批处理文件。错误信息提示什么意思?-icode9专业技术文章分享
- 2024-12-25flutter项目 as提示Cannot resolve symbol 'embedding'提示什么意思?-icode9专业技术文章分享
- 2024-12-24怎么切换 Git 项目的远程仓库地址?-icode9专业技术文章分享
- 2024-12-24怎么更改 Git 远程仓库的名称?-icode9专业技术文章分享
- 2024-12-24更改 Git 本地分支关联的远程分支是什么命令?-icode9专业技术文章分享