网站首页 > 技术文章 正文
在Oracle运维中,有一个很基础的工作就是安装数据库软件,而这个工作一般少则需要花费个把小时,多则半天。
如果我们有大批量的服务器安装任务,那么这种时候你肯定会希望从这种重复性劳动中解放出来,人工操作还是会有或多或少的差错,而且耗时。
所以我简单写了下面的脚本,可以很流畅的安装好Oracle软件,很多基础工作都统一配置好了。
比如目前我的脚本结构如下:
-rw-r--r-- 1 root root 4422615040 Jun 7 14:34 11204.tar
-rw-r--r-- 1 root root 608 Jun 7 15:19 1_ora_yum.sh
-rw-r--r-- 1 root root 695 Jun 7 14:34 2_os_init.sh
-rw-r--r-- 1 root root 185 Jun 7 15:24 3_fd_init.sh
-rw-r--r-- 1 root root 58 Jun 7 15:06 4_ora_profile.sh
-rw-r--r-- 1 root root 142 Jun 7 15:36 5_init_orahome.lst
-rw-r--r-- 1 root root 216 Jun 7 16:07 6_install_db.sh
-rw-r--r-- 1 root root 546 Jun 7 15:06 bash_profile
-rw-r--r-- 1 root root 110 Jun 7 16:07 install_all.sh
-rw-r--r-- 1 root root 1444 Jun 7 14:34 rhel6-source.repo
rhel6-source.repo是一个yum配置文件,是一个统一的yum源。
其它的脚本内容都是固定的模式统一配置。
1_ora_yum.sh是yum源安装的软件包
2_os_init.sh是配置系统级的操作,比如创建组,创建用户,资源配置等
3_fd_init.sh是配置文件系统级的目录,分区
4_ora_profile.sh是配置profile的内容,其实模板已经准备好了bash_profile,到时候直接拷贝即可。
5_init_orahome.lst是配置安装包的路径
6_install_db.sh是克隆安装数据库软件
其实上面的几个步骤看起来挺多,其实操作过程单一,很多配置完全可以统一。
可以统一放到脚本install_all.sh里面,只运行这个脚本,其实实践下来,安装一套软件,几分钟完全可以搞定。
脚本1的内容如下:
[root@dbcon_WT01 ora_init]# cat 1_ora_yum.sh
cp rhel6-source.repo /etc/yum.repos.d
yum list
yum install binutils -y
yum install compat-db -y
yum install control-center -y
yum install gcc -y
yum install gcc-c -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc-common -y
yum install gnome-libs -y
yum install libstdc -y
yum install libstdc++-devel -y
yum install make -y
yum install pdksh -y
yum install sysstat -y
yum install xscreensaver -y
yum install libaio-devel -y
yum install libaio -y
yum install setarch -y
yum install openmotif -y
yum install compat-gcc -y
yum install compat-libstdc -y
yum install gnome -y
脚本2 内容如下:
[root@dbcon_WT01 ora_init]# cat 2_os_init.sh
groupadd oinstall
groupadd dba
chattr -i /etc/passwd /etc/shadow
useradd -g oinstall -G dba oracle
echo "oracle soft nproc 2047" >> /etc/security/limits.conf
echo "oracle hard nproc 16384" >> /etc/security/limits.conf
echo "oracle soft nofile 65536" >> /etc/security/limits.conf
echo "oracle hard nofile 65536" >> /etc/security/limits.conf
echo "oracle soft stack 10240" >> /etc/security/limits.conf
echo "oracle soft memlock unlimited" >> /etc/security/limits.conf
echo "oracle hard memlock unlimited" >> /etc/security/limits.conf
脚本3的内容如下:
[root@dbcon_WT01 ora_init]# cat 3_fd_init.dh
cd /
mkdir -p /home/U01
ln -s /home/U01 U01
mkdir -p /U01/app/oracle/product/11.2.0.4
chown -R oracle:oinstall /U01/app/oracle
chown -R oracle:oinstall /U01/app/oracle/product/11.2.0.4
脚本4的内容如下:
[root@dbcon_WT01 ora_init]# cat 4_ora_profile.sh
cp /root/ora_init/bash_profile /home/oracle/.bash_profile
脚本5的内容如下:
[root@dbcon_WT01 ora_init]# cat 5_init_orahome.lst
mv /root/ora_init/11204.tar /U01/app/oracle/product
chown oracle:oinstall /U01/app/oracle/product/11204.tar
cp 6_install_db.sh /home/oracle
脚本6的内容如下:
[root@dbcon_WT01 ora_init]# cat 6_install_db.sh
cd /U01/app/oracle/product
tar -xvf /U01/app/oracle/product/11204.tar
perl $ORACLE_HOME/clone/bin/clone.pl ORACLE_BASE=$ORACLE_BASE ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME=OraDb11g_home1
bash_profile的内容如下:
[root@dbcon_WT01 ora_init]# cat bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/U01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4
export ORACLE_SID=accdb0
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TNS_ADMIN=/U01/app/oracle/product/11.2.0.4/network/admin/
umask 022
stty erase ^h
所有的脚本就这些了。安装的时候可以1个步骤1个步骤来完成,或者统一运行install_all.sh完成前5步,最后的安装软件的部分还是建议在oracle用户下安装。
猜你喜欢
- 2024-11-08 某国企Oracle数据库误truncate table恢复案例
- 2024-11-08 Linux的其他命令-2 linux常见的命令使用
- 2024-11-08 当集群和数据库软件目录都被chown -R时,如何快速修复
- 2024-11-08 2015年度打榜之数据备份硬件 数据备份排名
- 2024-11-08 解决Oracle数据库无法使用上下键的问题!
- 2024-11-08 oracle 11g r2 rac linux下 ntp问题
- 2024-11-08 数据中心最常见的服务器之一,戴尔机架式服务器家族原创图集
你 发表评论:
欢迎- 499℃几个Oracle空值处理函数 oracle处理null值的函数
- 494℃Oracle分析函数之Lag和Lead()使用
- 493℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 481℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 472℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 467℃【数据统计分析】详解Oracle分组函数之CUBE
- 453℃Oracle有哪些常见的函数? oracle中常用的函数
- 448℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 最近发表
-
- Spring Boot跨域难题终结者:3种方案,从此告别CORS噩梦!
- 京东大佬问我,SpringBoot为什么会出现跨域问题?如何解决?
- 在 Spring Boot3 中轻松解决接口跨域访问问题
- 最常见五种跨域解决方案(常见跨域及其解决方案)
- Java Web开发中优雅应对跨域问题(java跨域问题解决办法)
- Spring Boot解决跨域最全指南:从入门到放弃?不,到根治!
- Spring Boot跨域问题终极解决方案:3种方案彻底告别CORS错误
- Spring Cloud 轻松解决跨域,别再乱用了
- Github 太狠了,居然把 "master" 干掉了
- IntelliJ IDEA 调试 Java 8,实在太香了
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)