Centos上Oracle11g安装
1.个人闲扯
我是一名软件工程大三的学生,其实之前已经有过一次阿里云的使用体验,并且搭建了自己网站的前后端,只不过那个服务器已经过期了(使用的是新人优惠服务器只有一个月),这次再次来到阿里云是因为学校实验的需求,本来想购买学生优惠的服务器,机缘巧合看到了这个活动,这次我实验主要任务是在服务器上配置oracle和hadoop,不得不说通过服务器学到了很多,虽然中间冒了很多bug,但是最后搭建成功,还是很有成就感,本人陶醉于linux和服务器,乐此不疲。下文主要介绍这次服务器上我搭建oracle的过程。
2.oracle安装过程和个人心得
参考主要csdn网址在文件末尾
1. 下载压缩包文件
百度网盘资源地址:http://pan.baidu.com/s/1bnk1hxH (无需密码)
2. 下载宝塔或使用xftp(个人比较喜欢这个面板进行文件到服务器的上传)
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
登录宝塔:bt default
注意有可能需要先su root,可能打不开bt的文件,需要root权限
3. 创建用户和用户组
groupadd oinstall #创建用户组oinstall
groupadd dba #创建用户组dba
useradd -g oinstall -G dba -m oracle #创建oracle用户,并加入到oinstall和dba用户组
groups oracle #查询用户组是否授权成功
passwd oracle #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
id oracle #查看新建的oracle用户
4. 创建安装目录和权限
mkdir -p /data/oracle #oracle数据库安装目录
mkdir -p /data/oraInventory #oracle数据库配置文件目录
mkdir -p /data/database #oracle数据库软件包解压目录
cd /data
ls #创建完毕检查一下
chown -R oracle:oinstall /data/oracle #设置目录所有者为oinstall用户组的oracle用户
chown -R oracle:oinstall /data/oraInventory
chown -R oracle:oinstall /data/database
5. 关闭防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
6. 修改内核参数
vi /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
#共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmall = 2097152
#最大共享内存的段大小
kernel.shmmax = 2147483648
#整个系统共享内存端的最大数
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
#可使用的IPv4端口范围
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
7. vi /etc/security/limits.conf 增加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
8. 配置oracle用户变量(重点:如果是按照我的路径配置的可以复制,不是的话,注意路径修改)
vi /home/oracle/.bash_profile
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
#oracle启动数据库实例名
export ORACLE_SID=orcl11g
#添加系统环境变量
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
9. 安装所需要的rpm支持包
yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 glibc glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel libXtst sysstat ksh make libXi compat-libcap1
更新:yum update
10. 解压两个安装文件到对应的文件夹下(自行修改对应的目录)
unzip /opt/soft/linux.x64_11gR2_database_1of2.zip -d /data/database/
unzip /opt/soft/linux.x64_11gR2_database_2of2.zip -d /data/database/
11. 修改静默配置响应信息(重点:如果路径相同,可以通过主要参考的csdn进行参数配置(文章末尾),如果不想配置参数可以在评论区留下邮箱,我可以把我的响应文件发给大家)
vim /data/database/database/response/db_install.rsp
静默安装响应文件解释csdn:
进行安装:
su - oracle #切换为oracle执行以下安装操作
cd /data/database/database
./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /data/database/database/response/db_install.rsp
12. 使用root用户运行
su - root
/data/oraInventory/orainstRoot.sh
/data/oracle/product/11.2.0/db_1/root.sh
13. 配置tnsnames.ora(重点)
vim /data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora(很有可能在admin底下的sample目录,但是改完之后要复制到admin底下,listener同理)
#新增如下内容:
alioracle =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 主机名称hostname)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
vi /etc/hosts 查看主机名字
14. 配置listener.ora(重点)
vim /data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
#新增如下内容:
#新增如下内容:
LISTENER=(DESCRIPTION_LIST=(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=主机名称hostname)(PORT=1521))
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=orcl)
(SID_NAME=orcl11g)
(ORACLE_HOME=/data/oracle/product/11.2.0/db_1)
(PRESPAWN_MAX=20)
(PRESPAWN_LIST=
(PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1))
)
)
)
15. 建库
用oracle用户进行
cd /data/oracle/product/11.2.0/db_1/bin
./dbca -silent -responseFile /data/database/database/response/dbca.rsp
#需要输入oracle用的 用户名和密码
16. 启动数据库,创建用户分配权限
用oracle用户进行
sqlplus /nolog
connect / as sysdba
create user product identified by product;
grant connect, resource to product;
grant select on V_$session to product;
grant select on V_$sesstat to product;
grant select on V_$statname to product;
startup
17. 查看监听,开启监听
ps -ef | grep tns
kill
lsnrctl start
lsnrctl status
18. 远程连接数据库
参考主要csdn:
第三部分
这次的安装使我更加了解了服务器的运行形式,尤其是oracle的安装磨了我好久的时间,几经崩溃,但是随着问题一个一个解决,我觉得我喜欢上了服务器运维中真正解决问题的感觉,那种感觉非常美妙,如果有朋友需要hadoop分布式安装的需要的话,可以在评论区催更,我考虑在过段时间进行文章的发布。不管这篇文章能不能通过,还是很感谢阿里云能给我这个白嫖的机会,白飘党的胜利!