[oracle@localhost database]$ netca #创建监听
下图为oracle数据库安装导图:
安装步骤:
1、下载oracle 11g 安装包
因为我centos7为64位操作系统,所以这里下载的也是64位版本的oracle。
下载地:http://www.oracle.com/technetwork/indexes/downloads/index.html#database
下载后:
2、安装前的准备
2.1、创建组与用户
[root@localhost zhuzi]# groupadd oinstall #创建oinstall组 [root@localhost zhuzi]# groupadd dba #创建dba组 [root@localhost zhuzi]# useradd -g oinstall -g dba -m oracle #创建oracle用户并将用户加入到dba组与oinstall组
[root@localhost zhuzi]# passwd oracle #设置oracle用户密码
2.2、创建oracle安装目录
[root@localhost zhuzi]# mkdir -p /data/oracle #oracle根目录 [root@localhost zhuzi]# mkdir -p /data/database #用于存放Oracle解压后的安装包 [root@localhost zhuzi]# mkdir -p /data/oraInventory #数据库配置文件目录 [root@localhost zhuzi]# chown -R oracle:oinstall /data #修改目录所有者为oracle
2.3、关闭防火墙
1)、首先关闭selinux,修改/etc/selinux/config文件,将SELINUX=disabled。修改好后如下图所示,这个如果修改好后,需要重启才能生效:
2)、关闭防火墙,并设置开机不启动防火墙。设置好后不需要重启,会立即生效。
[root@localhost zhuzi]# systemctl stop firewalld.service #关闭防火墙 [root@localhost zhuzi]# systemctl disable firewalld.service #设置开机不启动防火墙
2.4、优化系统内核参数
1)、编辑/etc/sysctl.conf文件,在文件尾添加如下内容:
net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.conf.all.rp_filter = 1 fs.file-max = 6815744 #设置最大打开文件数 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024 kernel.shmmax = 2147483648 #最大共享内存的段大小 kernel.shmmni = 4096 #整个系统共享内存端的最大数 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围 net.core.rmem_default = 262144 net.core.rmem_max= 4194304 net.core.wmem_default= 262144 net.core.wmem_max= 1048576
2)、使配置修改内核的参数生效:
[root@localhost zhuzi]# sysctl -p
2.5、对oracle用户设置限制
[root@localhost zhuzi]# vi /etc/security/limits.conf
在文件后半部分,添加如下内容中斜体部分内容,保存退出。
@student - maxlogins 4 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 End of file
2.6、设置用户变量
[root@localhost ~]# vi /home/oracle/.bash_profile
在文件末尾添加如下内容:
export ORACLE_BASE=/data/oracle #oracle数据库安装目录 export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径 export ORACLE_SID=orcl #oracle启动数据库实例名 export ORACLE_UNQNAME=orcl export ORACLE_TERM=xterm #xterm窗口模式安装 export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量 export LANG=C #防止安装过程出现乱码 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致
使配置的环境变量生效:
[root@localhost ~]# source /home/oracle/.bash_profile
2.6、配置yum源
1). 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2).下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/,这里使用阿里的yum源。
CentOS 7命令为:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3)、yum clean all #清空yum缓存
4)、yum makecache #重建缓存
5)、yum repolist #查看配置目录资源数
2.7、安装依赖包
[root@localhost ~]# 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*
centos7需要的安装包,可以在Oracle上查看:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1085
我的版本当然对应的是这个版本:Oracle Linux 7 and Red Hat Enterprise Linux 7
它没有要求说要安装elfutils和unixODBC包,但是等安装Oracle检查安装前准备时,会提示说缺少这两个包,所以一并安装
3、开始安装Oracle
前面设置很多内容,保险起见,重启一次系统。
[root@localhost ~]# reboot
将步骤1中下载的两个oracle安装文件,上传至/usr/local/src目录中。我使用的xshell工具,root用户直接在命令窗口cd /usr/local/src ,然后鼠标拖住那两个安装包至命令窗口就可以自动上传。
用root用户解压这两个文件到/data/database 目录下,设置所属用户与组,再切换至oracle用户加载一下环境变量,开始安装。
[root@localhost src]# unzip linux.x64_11gR2_database_1of2.zip -d /data/database/ #解压第一个压缩包 [root@localhost src]# unzip linux.x64_11gR2_database_2of2.zip -d /data/database/ #解压第二个压缩包
[root@localhost src]# chown -R oracle:oinstall /data #指定文件夹及子目录的所属用户与组
[root@localhost src]# su oracle #切换至oracle用户
[oracle@localhost src]$ cd #进入家目录 [oracle@localhost ~]$ source .bash_profile #加载环境变量
[oracle@localhost ~]$ cd /data/database/database/ #进入oracle安装程序存放的目录
[oracle@localhost database]$ ./runInstaller #执行oracle安装命令,然后弹出下图安装窗口。
下面为贴图部分,修改后与下面图保持一致即可。
1)、将勾去掉,这样就不自动更新软件了。
2)、提示你没有提供电子邮件,这里选择yes,继续就行。
3)、这里选择第二项,仅安装数据库软件。
4)、这里选择第一个选项,单实例数据库。第二个为安装集群的意思。
5)、选择语言,默认下一步。
6)、第一个为企业版,默认直接下一步。
7)、前面咱们准备阶段,已经在环境变量里配置好了路径,这里就是读取咱们前面配置的路径,所以直接下一步。不用修改。
8)、指定配置文件存放路径,这个也不需要修改,也是读取了咱们前面配置到环境变量里的路径。所以直接下一步。
9)、关于权限的问题,这里直接都是默认就行。下一步。
10)、这里会检查系统资源与依赖包是否都满足,第一个提示swap大小不符合,这里扩展一下swap大小,可以参考https://www.cnblogs.com/find-syc/p/12615991.html,其他问题,选中缺失的依赖包,如果下方详情栏里Expected value中有括号中标注(i386)或(i686),是在提示缺少32位的依赖包,但是实际上已经安装了64位的依赖包,忽略它们,pdksh包已经安装,就是之前安装的ksh依赖包。
11)、点击finish完成。
报错解决: 1)、该软件包包含一个静态链接库,地址是:/usr/lib64/libc.a
修改/data/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk,将
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为:
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
点击Retry继续安装。 2)、”Error in invoking target 'agent nmhs' of makefile '/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.' 解决方法:在makefile中添加链接libnnz11库的参数
修改/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk,将
$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11
点击Retry继续安装。 有时候安装界面出现的灰色竖线无法拉开,可以重新运行./runInstaller,在重复上述步骤以后,第11步做完直接按照上面两个问题的解决办法修改两个mk文件,修改好安装时就不会报错了。mk文件是makefile文件,要以tab键开头,所以直接复制上面的修改语句会报错,要把
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a的前面的空格修改成tab键,不然会报错。 3)安装Database Configuration Assistant会需要挺长的时间,当安装完成后会弹出一个对话框,点击"Password management...",将竖线拉成对话框,给SYS、System、Scoot、SH设置密码,它们的默认密码分别是SYS:change_on_install、System:manager、Scoot:tiger、SH:sh,分别输入进对应的密码输入框中,在Scoot、SH设置密码之前,点击对号就可以为它们设置密码了。 4)最后等进度在100%的时候,会出现一个竖线,把它拉开,按照里面的提示以root权限进入提示的地址,运行上面提示的两个sh文件,第二个sh文件要你选地址直接回车就好了。 12)、用root用户,依次执行下面两条命令。
[root@localhost zhuzi]# /data/oraInventory/orainstRoot.sh
[root@localhost zhuzi]# /data/oracle/product/11.2.0/db_1/root.sh #这条命令执行后需要再按一次回车键才会结束。
点击右下角close按钮,完成安装。
4、配置监听,在oracle用户下执行命令。
[oracle@localhost database]$ netca #创建监听
在不修改端口的情况下,第一个监听程序,一路回车,就配置好了。
5、创建数据库
[oracle@localhost database]$ dbca #创建数据库
选择第二项,意思是自定义数据库。
下面为输入想要创建数据库的名字,这里我输入的为orcl,你可以随意,但是上下内容要一致。
第二项为对所有账户使用相同的管理密码,这里需要填写一下想设置的密码。
这里提示我密码太简单,我们直接yes忽略他的提示。
指定新建数据库的存放位置,这里我们选第二项,填写上之前建立的目录。
这里取消闪回功能,你也可以打开,看需求。
下面为一些数据库组件的选择,这里就全部清空选择。直接下一步。
一些配置参数,内存,字符集等等,直接默认下一步。
接下来,等待安装结束,测试一下,有没有安装成功。
安装结束,点击Exit按钮。
~~~~~~~~~~~~~~~~~~~~进入测试环节~~~~~~~~~~~~~~~~~~~~~~~~
[oracle@localhost database]$ sqlplus / as sysdba
上图可以看出,sqlplus已经成功登陆进来了。
SQL> select status from v$instance;
上图可以看出,数据库已经是打开状态的了。输入exit回车,可以退出sqlplus。
上图可以看出监听状态,
上图可以看出,orcl已经成功添加到监听中。