2018年11月21日 VMware虚拟机CentOS 7环境安装Oracle 11gR2
我是按照以下的安装步骤进行安装的, https://blog.csdn.net/j754379117/article/details/40222467
第一步:
软件安装:
本菜是在VMware虚拟机上安装的centOS6.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~]#hostnameoracledb
此修改非必要,但为了正规,方便管理,最好进行修改
第三步:修改网络连接方式
这一步是必须要做的!因为在安装centOS(网络连接选的是桥接,不要选择NAT,否则外网无法访问你的虚拟机)的时候我们都是动态获取IP,但是在安装Oracle的时候是需要更改的,我们必须要使用静态IP,可以这样理解,装上Oracle数据库,你的虚拟机就是提供数据访问的服务器了,IP就像你的身份证,如果你的每次都变换身份,谁能找得到你!
知道了为什么,那么就要就行修改配置了:
1.修改网卡配置:
在终端输入命令行:ifconfig可以查看网卡信息,其中inetaddr是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.重启网络服务
执行命令:
servicenetworkrestart 或 /etc/init.d/networkrestart
第四步:添加主机名与IP对应记录
命令行如下:
[root@oracledb~]#vi/etc/hosts192.168.1.118oracledb
注:如果命令行没成功,仍然可以找到文件进行添加,其实就是在文件里添加上一行:
192.168.1.118oracledb
第五步:关闭防火墙Selinux
[root@oracledb~]#sed-i"s/SELINUX=enforcing/SELINUX=disabled/"/etc/selinux/config
[root@oracledb~]#setenforce0
selinux太复杂,为了避免麻烦,还是直接关闭的好
第六步:安装依赖包
[root@oracledb~]#yum-yinstallgccgcc-c++makebinutilscompat-libstdc++-33elfutils-libelfelfutils-libelf-develglibcglibc-commonglibc-devellibaiolibaio-devellibgcclibstdc++libstdc++-develunixODBCunixODBC-devel
此处安装的包有些可能安装不上,不用担心,到后面Oracle安装程序界面时,会进行缺省包的自检,到时候可以安装检出的缺省包进行安装
第七步:创建用户和组
[root@oracledb~]#sysctl-p
[root@oracledb~]#groupadd-g200oinstall
[root@oracledb~]#groupadd-g201dba
[root@oracledb~]#useradd-u440-goinstall-Gdbaoracle
[root@oracledb~]#passwdoracle
此处操作为创建两个oracle专用组oinstall和dba,并创建用户oracle设置其属于两个组内,修改oracle用户密码
第八步:修改内核参数
[root@oracledb~]#vi/etc/sysctl.conf#末尾添加如下(注:建议新手还是逐步找到相应的文件,直接在文件末尾粘贴下面的参数信息)
net.ipv4.ip_local_port_range=900065500
fs.file-max=6815744
kernel.shmall=10523004
kernel.shmmax=6465333657
kernel.shmmni=4096
kernel.sem=25032000100128
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#末尾添加如下(注:建议新手到文件里面进行手动添加)
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
[root@oracledb~]#vi/etc/pam.d/login(注:建议新手到文件里面进行手动添加)
sessionrequiredpam_namespace.so#下面添加一条pam_limits.so
sessionrequiredpam_limits.so
[root@oracledb~]#vi/etc/profile#(注:建议新手到文件里面进行手动添加)
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
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~]#chmod755/opt/oracle/
[root@oracledb~]#chmod775/opt/oracle/app/
[root@oracledb~]#chownoracle.oinstall-R/opt/oracle/
第十一步:(很重要,第二遍安装差点让它搞砸)设置环境变量!
[oracle@oracledb~]$vi~/.bash_profile(注:~/表示的是当前登录用户的根目录的意思)
exportORACLE_BASE=/opt/oracle/app
exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
exportPATH=$PATH:$ORACLE_HOME/bin
exportORACLE_SID=orcl
exportORACLE_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~]#chmod755/home/oracle/database
然后在用命令行:[root@oracledb~]#suoracle
进入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旁边的Charactorsets选项。
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:XXXcommandnotfound的时候很有可能是你没有在oracle用户下输入命令行,这时候用suoracle试一下,如果还是不行可以到/opt/oracle/app/product/11.2.0/dbhome_1/bin目录下,确认一下此命令是否存在!!!
如果开启过程出现ERROR:ORA-12162:TNS:netservicenameisincorrectlyspecified这种语句的时候,很有可能是环境变量没有配置好,建议到oracle用户中的.bash_profile文件里查看一下,如何找到.bash_profile请参见第十一步!)
[root@oracledb~]#su–oracle
[oracle@oracledb~]#lsnrctlstart
[oracle@oracledb~]#sqlplus/assysdba
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>shutdownimmediate#关闭数据库实例
SQL>select*fromtab;#查看所有表
SQL>selectnamefromv$datafile#查看数据库存放目录
SQL>showparameterservice#查看服务名
SQL>select*fromv$instance;#查看实例名
SQL>selectnamefromv$database;#查看数据库名
SQL>select*fromdba_users;#查看所有用户信息
SQL>selectusername,passwordfromdba_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~]#lsnrctlstart#开启远程监听端口
Oracle11gR2静默安装
https://www.cnblogs.com/ivictor/p/4384583.html
https://blog.csdn.net/gumengkai/article/details/53349749
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。