2018年11月21日 VMware虚拟机CentOS 7环境安装Oracle 11gR2
我是按照以下的安装步骤进行安装的, https://blog.csdn.net/j754379117/article/details/40222467
第一步:
软件安装:
本菜是在 VMware 虚拟机上安装的 centOS 6.5 ,开辟的虚拟硬盘空间一定要大于 30G( 本菜一开始只开辟了 20g ,结果最后提示空间不够,惨痛的经历,所以第二遍直接开辟了 50G 硬盘空间 ) ,建议在 40G~50G ,内存最低要 1G!!!
至于 VMware 虚拟机和 centOS 的安装不是本文重点,更不是难点,大家可以参考其他内容进行安装,在此不再赘述!
软件准备:
Oracle 的下载,分为 32 位和 64 位,安装过程都是一样的。如果你的机器是 32 位的,就下载 32 位的 Oracle 软件,若是 64 位的就下载 64 位的。下面的安装过程是完全一样的,本菜一开始在这个环节还犹豫了一些时间,汗 ~
因为我是 32 位的 操作系统 ,所以我下载的是 linux_11gR2_database_1of2 和 linux_11gR2_database_2of2 两个压缩文件。若是 64 位的请下载: linux.x64_11gR2_database_1of2 和 linux.x64_11gR2_database_2of2( 注意都是下载两个文件,缺一不可 ) 。如图:
上面是32位的,我下载的是64位安装包,下载地址为 http://mirrors.163.com/centos/6/isos/x86_64/
第二步:修改主机名
以 root 权限登录虚拟机,打开终端输入命令行,将主机名改为 oracledb :
[root@oracledb ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
[root@oracledb ~]# hostname oracledb
此修改非必要,但为了正规,方便管理,最好进行修改
第三步:修改网络连接方式
这一步是必须要做的!因为在安装 centOS ( 网络连接选的是桥接 , 不要选择 NAT ,否则外网无法访问你的虚拟机 )的时候我们都是动态获取 IP ,但是在安装 Oracle 的时候是需要更改的,我们必须要使用静态 IP ,可以这样理解,装上 Oracle 数据库 ,你的虚拟机就是提供数据访问的服务器了, IP 就像你的身份证,如果你的每次都变换身份,谁能找得到你!
知道了为什么,那么就要就行修改配置了:
1.修改网卡配置:
在终端输入命令行: ifconfig 可以查看网卡信息,其中 inet addr 是 IP 地址的意思。
网上很多都是说用命令行:vi /etc/sysconfig/network-scripts/ifcfg-eth0进行修改网卡配置信息,但是我没有修改成功。所以直接讲述我的方法!那就是找到文件,打开进行修改。打开文件系统filesystem ,打开 etc 文件夹,再打开 sysconfig 文件夹,再打开 network-scripts 文件夹,最后打开 ifcfg-eth0文件,进行配置。
我的配置信息如下:
DEVICE=eth0 # 描述网卡对应的设备别名,例如 ifcfg-eth0 的文件中它为 eth0
BOOTPROTO=static #( 这是需要修改的,由原来的 dhcp 改为 static ! ) 设置网卡获得 ip 地址的方式,可能的选项为 static , dhcp ;分别对应静态指定的 ip 地址,通过 dhcp 协议获得的 ip 地址
BROADCAST=192.168.1.255 #(如果没有的话是需要自己添加的,最后一位必须是255 ,前面和你的外边的网络 ip 是一致的 )对应的子网 广播地址
HWADDR=00:07:E9:05:E8:B4 # 对应的 网卡物理地址
IPADDR=12.168.1.118 #(自己手动添加的,必须和外部本地IP 同一个网段,即前三位 192.168.1 和外部本机 IP 一致 )如果设置网卡获得 ip 地址的方式为静态指定,此字段就指定了网卡对应的 ip 地址
NETMASK=255.255.255.0 #( 需要自己添加的,都是 255.255.255.0) 网卡对应的网络掩码
GATEWAY=192.168.1.1 # ( 需要自己添加的,和外部网关一致即可 )
NETWORK=192.168. 1.1 #(需要自己添加的,和网关GATEWAY 保持一致即可 )网卡对应的网络地址
上面我一直说和外部一致,或者是和外部同一网段,那么外部的信息怎么看,在外面打开网络信息,参考进行配置,如图:
2. 修改网关配置
逐步进入etc/sysconfig/network文件 修改后如下:
NETWORKING=yes( 表示系统是否使用网络,一般设置为 yes 。如果设为 no ,则不能使用网络,而且很多系统服务程序将无法启动 )
HOSTNAME= oracledb( 设置本机的主机名,这里设置的主机名要和 /etc/hosts 中设置的主机名对应 )
GATEWAY=192.168. 1.1 # (需要自己添加的,设置本机外部连接的网关的保持一致。 )
3. 修改 DNS 配置
逐步进入/etc/resolv.conf文件 修改后如下:
nameserver(需要自己添加的)即是 DNS 服务器IP地址,第一个是首选,第二个是备用 ,和外部DNS 保持一致 。
若查询自己本机的DNS只有一个,可以只填写一个,但必须一致
4. 重启网络服务
执行命令:
service network restart 或 /etc/init.d/network restart
第四步:添加主机名与 IP 对应记录
命令行如下:
[root@oracledb ~]# vi /etc/hosts 192.168.1.118 oracledb
注:如果命令行没成功,仍然可以找到文件进行添加,其实就是在文件里添加上一行:
192.168.1.118 oracledb
第五步:关闭防火墙Selinux
[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@oracledb ~]# setenforce 0
selinux太复杂,为了避免麻烦,还是直接关闭的好
第六步:安装依赖包
[root@oracledb ~]# yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commonglibc-devel libaio libaio-devel libgcclibstdc++ libstdc++-devel unixODBC unixODBC-devel
此处安装的包有些可能安装不上,不用担心,到后面Oracle安装程序界面时,会进行缺省包的自检,到时候可以安装检出的缺省包进行安装
第七步:创建用户和组
[root@oracledb ~]# sysctl -p
[root@oracledb ~]# groupadd -g 200 oinstall
[root@oracledb ~]# groupadd -g 201 dba
[root@oracledb ~]# useradd -u 440 -g oinstall -G dba oracle
[root@oracledb ~]# passwd oracle
此处操作为创建两个oracle专用组oinstall和dba,并创建用户oracle设置其属于两个组内,修改oracle用户密码
第八步:修改内核参数
[root@oracledb ~]# vi/etc/sysctl.conf #末尾添加如下 (注:建议新手还是逐步找到相应的文件,直接在文件末尾粘贴下面的参数信息)
net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
第九步:修改系统资源限制
[root@oracledb ~]# vi/etc/security/limits.conf #末尾添加如下 (注:建议新手到文件里面进行手动添加)
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
[root@oracledb ~]# vi/etc/pam.d/login (注:建议新手到文件里面进行手动添加)
session required pam_namespace.so #下面添加一条pam_limits.so
session required pam_limits.so
[root@oracledb ~]# vi/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
以上标红的USER,在我安装过程中,需将其改为小写user,否则会提示错误-bash: [[oracle: command not found,但在我查资料的过程中发现,大部分都是使用大写USER,且其发生上述错误时的解决方法为将 [ $ USER ="oracle" ]、 [ $SHELL = "/bin/ksh" ] 改为 [ [$ USER ="oracle" ]]、[[ $SHELL = "/bin/ksh" ]]
以上标蓝部分原作者建议直接在图形界面找到文件进行添加,我觉得最好使用vi进行修改,感觉更加直观
第十步:创建安装目录及设置权限,命令行输入:
[root@oracledb ~]# mkdir /opt/oracle/app/
[root@oracledb ~]# mkdir /opt/oracle/oradata/
[root@oracledb ~]# chmod 755 /opt/oracle/
[root@oracledb ~]# chmod 775 /opt/oracle/app/
[root@oracledb ~]# chown oracle.oinstall -R /opt/oracle/
第十一步:(很重要,第二遍安装差点让它搞砸)设置环境变量!
[oracle@oracledb ~]$ vi ~/.bash_profile (注:~/ 表示的是当前登录用户的根目录的意思 )
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export ORACLE_PID=orcl
第十步跟第十一步是连续的,即第十一步的路径是安装第十步创建的目录来的,在实际安装中,需要在安装之后才能确定上述文件的路径,将实际路径添加到环境变量中,否则会导致lrnsctl start启动数据库监听时报错,具体报错内容忘记了,可以实际情况实际分析
以上信息如果命令行没法修改,我们依然需要进行找到文件进行手动添加信息,但是你会发现找不到!!!因为. 开头的文件都是隐藏文件!!!所以这时候你需要进入 oracle 用户的文件系统,按 CTRL+H 即可让所有的隐藏文件都现身,然后再进行添加信息!!!
[oracle@oracledb ~]$ source .bash_profile #立即生效
第十二步:将已经下载好的两个oracle压缩文件复制到/media文件夹里面,如图:
这两个Oracle安装包我是在本机Windows下下载后,使用FileZilla FTP Client软件传到虚拟机系统指定目录下的
第十三步:解压oracle文件:
[root@oracledb~]# unzip /media/linux_11gR2_database_1of2.zip (如果你是64 位的压缩文件,命令应该是 unzip /media/linux.x64_11gR2_database_1of2.zip )
[root@oracledb~]# unzip /media/linux_11gR2_database_2of2.zip
[root@oracledb~]# xhost + #使所有用户都能访问图形桌面
[root@oracledb~]# su -oracle
[oracle@oracle~]#./media/database/runInstaller (注:我在网上看到的资料解压之后的文件默认是放在了/media的文件夹里面,但是我的并不在里面,而是在root的根目录生成了文件夹database,所以这一步的文件路径是错误的,因而runInstaller没法运行),如图:
这一步我浪费了很长时间,不知道该如何解决,因为和网上解压的位置不一样,以后再输入命令行就错误百出。后来解决办法其实很简单,手动将database这个文件夹剪切到文件系统下的/home/oracle里面。如图:
然后再输入命令行: [oracle@oracle~]#./home/oracle/database/runInstaller
即可运行 oracle 安装操作。
(如果成功进入到图形界面安装的话,下面这段话可以跳过不看!!!)
但是本菜又遇到了一个问题,就是我输入这个命令行的时候,提示我没有权限。这样的话,我就返回到 root 权限,添加了命令行:
[root@oracledb ~]# chmod 755 /home/oracle/database
然后在用命令行:[root@oracledb ~]# su oracle
进入 oracle 用户 , 执行命令行: [oracle@oracle~]#./home/oracle/database/runInstaller
(如果这里不行的话建议在oracle用户下,找到压缩包,直接右键,进行手动解压缩,指定压缩后存放在/home/oracle;解压缩完成后,然后在命令行运行installer)
Oracle的安装需要在支持图形界面的系统下进行安装的
第十四步:成功进入到了图形化界面安装:
1.不要输入Email地址,直接next
2.选择安装数据库软件并创建数据,也可以选择第二项仅安装数据库软件, 然后next
3.选择服务器版本,如图,点击 next
4.单例数据库,如图,点击 next
5.高级模式安装,如图,点击 next
6. 添加支持的语言,如图,点击 next
7.选择要安装的版本,如图,点击 next
8.安装数据库目录,如图,点击 next
9.创建详细目录
10.选择配置类型
11.数据库与服务名
12.开启自动内存管理(如果512m 太大,会出现提示,减少一些就可以 ),然后先不要点击next ,而是点击 Memory 旁边的 Charactor sets 选项。
13.设置默认编码为UTF8
14.启用oracle企业管理控制台OEM
15.选择数据库文件目录
16.自动备份设置
17.设置数据库用户名和密码,他是有一个密码建议的,否则会提示错误,密码建议是包含大写和小写字母,总长度不能低于8 位。
18.授权的组
19.检查oracle一些安装要求,包都已经安装,直接忽略
此处在我安装过程中,出现的缺省安装包都进行了重新yum install安装,可以安装的就安装上,无法安装的有的已经安装其他版本,没有安装的也不用管 ,直接过就好了
20.开始安装(速度比较慢,耐心等待,喝杯咖啡)
21.创建备份数据库
22.安装完成!
安装完成后,会出来一个对话框,提示使用root用户执行这两个脚本
[root@oracledb ~]$ /opt/oracle/oraInventory/orainstRoot.sh
[root@oracledb ~]$ /opt/oracle/app/product/11.2.0/dbhome_1/root.sh
此脚本路径需按照实际路径运行,且需要拍下来!!!!我当时就是没注意,直接点确定了,没记住路径,后来找的
第十五步:命令行进入数据库,畅爽oracle 吧!
( 注:如果在输入命令开启数据库的时候,提示 bash:XXX command not found的时候很有可能是你没有在oracle 用户下输入命令行,这时候用 su oracle 试一下,如果还是不行可以到 /opt/oracle/app/product/11.2.0/dbhome_1/bin 目录下,确认一下 此命令是否存在!!!
如果开启过程出现 ERROR:ORA-12162: TNS:net service name is incorrectly specified 这种语句的时候,很有可能是环境变量没有配置好,建议到 oracle 用户中的 .bash_profile 文件里查看一下,如何找到 .bash_profile 请参见第十一步! )
[root@oracledb ~]# su -oracle
[oracle@oracledb ~]# lsnrctl start
[oracle@oracledb ~]# sqlplus / as sysdba
SQL> startup #启动数据库实例
如图:
我一开始运行startup时,报错 ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=oracledb)(PORT=1521))'
我是使用如下的解决方法解决的
ora11g>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jan 5 18:50:29 2015
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=dcsopen2Node)(PORT=1521))'
报的是如上的错误,看到其中监听信息是HOST=dcsopen2Node,第一反应是监听文件有问题,查看了下listener.ora文件:
# listener.ora Network Configuration File: /opt/app/ora11g/product/11.2.0/dcsopen/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /opt/app/ora11g
没有HOST=dcsopen2Node的配置。
查看机器名:
ora11g>hostname
dcsopen2Node
发现本机名称是dcsopen2Node。参看一些帖子,说是有可能oracle启动的时候会同时注册一个和hostname相同名称的监听,所以此处报错提示的是(ADDRESS=(PROTOCOL=TCP)(HOST=dcsopen2Node)(PORT=1521))这个监听,提示无效地址,再查看/etc/hosts文件:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
发现根本没有hostname对应项,由此推测,可能是Oracle注册和hostname同名监听,但/etc/hosts中又没有定义hostname-IP对应项,因此认为此监听地址无效。
解决方法:
/etc/hosts中添加项:
172.27.19.57 dcsopen2Node
重启服务:
ora11g>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jan 5 20:33:32 2015
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 3290345472 bytes
Fixed Size 2217832 bytes
Variable Size 2533361816 bytes
Database Buffers 738197504 bytes
Redo Buffers 16568320 bytes
Database mounted.
Database opened.
一切又恢复了平静。
# 至此数据库已经开启,然后就可以操作数据库了!
SQL> shutdown immediate #关闭数据库实例
SQL> select * from tab; #查看所有表
SQL> select name from v$datafile #查看数据库存放目录
SQL> show parameter service #查看服务名
SQL> select * from v$instance; #查看实例名
SQL> select name from v$database; #查看数据库名
SQL> select * fromdba_users; #查看所有用户信息
SQL> select username,password from dba_users; #只查询用户和密码
SQL> select * fromv$pwfile_users; #查看具有sysdba权限的用户
SQL> select * fromdba_ustats; #查看当前用户信息
SQL> select * fromuser_sys_privs #查看当前用户系统权限
SQL> select * fromuser_role_privs #查看当前用户角色
SQL> select * fromdba_sys_privs #查看指定用户所具有的系统权限
SQL> select * fromv$version #查看oracle版本
SQL> select * fromuser_views #查看视图信息
[root@oracledb ~]# lsnrctl start #开启远程监听端口
Oracle11gR2静默安装
https://www.cnblogs.com/ivictor/p/4384583.html
https://blog.csdn.net/gumengkai/article/details/53349749