
#!/bin/bash
#1.配置主机名/etc/hosts 并关闭防火墙及selinux
echo ' 172.168.0.xx linux.tk ' >>/etc/hosts
#注意修改为服务器的ip和主机名
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#2.安装相关软件包
yum -y install telnet vim lszrz gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel
elfutils-libelf-devel-static ksh libaio libaio-devel numactl-devel sysstat
unixODBC unixODBC-devel pcre-devel wget unzip
#3.配置内核参数
echo "fs.aio-max-nr = 1048576" >>/etc/sysctl.conf
echo "fs.file-max = 6815744" >>/etc/sysctl.conf
echo "kernel.shmmni = 4096" >>/etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >>/etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >>/etc/sysctl.conf
echo "net.core.rmem_default = 262144" >>/etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >>/etc/sysctl.conf
echo "net.core.wmem_default = 262144" >>/etc/sysctl.conf
echo "net.core.wmem_max = 1048576" >>/etc/sysctl.conf
sysctl -p
#4.oracle用户资源限制
echo "oracle soft nproc 2047" >>/etc/security/limits.conf
echo "oracle hard nproc 16384" >>/etc/security/limits.conf
echo "oracle soft nofile 4096" >>/etc/security/limits.conf
echo "oracle hard nofile 65536" >>/etc/security/limits.conf
#5.登录配置
echo "session required /lib64/security/pam_limits.so" >>/etc/pam.d/login
echo "session required pam_limits.so" >>/etc/pam.d/login
#改授权
echo "if [ $USER = 'oracle' ]then" >>/etc/profile
echo "if [ $SHELL = '/bin/ksh' ]then" >>/etc/profile
echo "ulimit -p 16384" >>/etc/profile
echo "ulimit -n 65536" >>/etc/profile
echo "else" >>/etc/profile
echo "ulimit -u 16384 -n 65536" >>/etc/profile
echo "fi" >>/etc/profile
echo "fi" >>/etc/profile
source /etc/profile
#6.创建用户组和用户
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
echo 'oracle' | passwd --stdin oracle
#7.创建相关目录
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app
#8.配置oracle用户环境变量
echo "ORACLE_SID=oraexport ORACLE_SID" >>/home/oracle/.bash_profile
#sid指定为现场的sid
echo "ORACLE_BASE= /u01/app/oracle export ORACLE_BASE" >>/home/oracle/.bash_profile
echo "ORACLE_HOME=$ORACLE_BASE/ product/11.2.0/dbhome_1 export ORACLE_HOME" >>/home/oracle/.bash_profile
echo "ORACLE_PATH=/u01/app/common/oracle/sqlexport ORACLE_PATH" >>/home/oracle/.bash_profile
echo "ORACLE_TERM=xtermexport ORACLE_TERM" >>/home/oracle/.bash_profile
echo "TNS_ADMIN=$ORACLE_HOME/network/adminexport TNS_ADMIN" >>/home/oracle/.bash_profile
echo "ORA_NLS11=$ORACLE_HOME/nls/dataexport ORA_NLS11" >>/home/oracle/.bash_profile
echo "PATH=.:${JAVA_HOME}/bin:${PATH}:$ORACLE_HOME/bin " >>/home/oracle/.bash_profile
echo "PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin " >>/home/oracle/.bash_profile
echo "export PATH " >>/home/oracle/.bash_profile
echo "export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK" >>/home/oracle/.bash_profile
echo "LD_LIBRARY_PATH=$ORACLE_HOME/lib" >>/home/oracle/.bash_profile
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib " >>/home/oracle/.bash_profile
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib " >>/home/oracle/.bash_profile
echo "export LD_LIBRARY_PATH" >>/home/oracle/.bash_profile
echo "export LANG=en_US.UTF-8 " >>/home/oracle/.bash_profile
echo "export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK" >>/home/oracle/.bash_profile
echo "CLASSPATH=$ORACLE_HOME/JRE " >>/home/oracle/.bash_profile
echo "CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib" >>/home/oracle/.bash_profile
echo "CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib" >>/home/oracle/.bash_profile
echo "CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib" >>/home/oracle/.bash_profile
echo "export CLASSPATH" >>/home/oracle/.bash_profile
echo "THREADS_FLAG=nativeexport THREADS_FLAG" >>/home/oracle/.bash_profile
echo "nls_date_format='yyyy-mm-dd hh24:mi:ss' " >>/home/oracle/.bash_profile
echo "export nls_date_format " >>/home/oracle/.bash_profile
echo "export TEMP=/tmp " >>/home/oracle/.bash_profile
echo "export TMPDIR=/tmp " >>/home/oracle/.bash_profile
echo "umask 022 " >>/home/oracle/.bash_profile
source ~/.bash_profile
二、上传或者下载oracle安装包并解压,例如放置在/opt/目录下
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
直接在目录解压,会在当前目录中生成database目录
三、修改应答文件安装数据库软件
修改前建议先备份下
cp /opt/database/response/*.rsp /opt/database/rspbak
3.1、生成修改响应文件(/opt/database/response/db_install.rsp)
备注:清空源文件,复制粘贴如下内容(标红处需要修改对应的设置需求):
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME= linux.tk
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION= /u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE= /u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:10.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
DECLINE_SECURITY_UPDATES=true
oracle.installer.autoupdates.option=SKIP_UPDATES
3.2、开始安装
1)、用oracle用户登录 *** 作
# su - oracle
$ cd /opt/database
$ ./runInstaller -silent -responseFile /opt/database/response/db_install.rsp
2)、在安装过程中可以新开会话,使用tailf 命令查看进度
# tailf /u01/app/oraInventory/logs/installActions2022-XX-XX_03-28-06PM.log
提示安装结束,需要在root用户执行两个脚本,如下:
# /u01/app/oraInventory/orainstRoot.sh
# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
四、修改应答文件安装数据库实例(/opt/database/response/dbca.rsp)
安装实例前,需要新建一个实例存放的目录(/home/OracleData/),如下:
# mkdir /home/OracleData
# chown -R oracle:oinstall /home/OracleData/
4.1、修改应答文件
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "ora"
SID = "ora"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "***012"
SYSTEMPASSWORD = "***012"
DATAFILEDESTINATION = /home/OracleData/
RECOVERYAREADESTINATION = /u01/app/oracle/flash_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "2048"
4.2、建实例,登录oracle用户
# su - oracle
$ dbca -silent -responseFile /opt/database/response/dbca.rsp
此安装过程是有进度显示,不用tailf查看,不过也可以查看对应的log日志查看进度
4.3、删除实例
编辑应答文件
#vim /opt/database/response/del_dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "deleteDatabase"
[DELETEDATABASE]
SOURCEDB = "ora "
$ dbca -silent -responseFile del_dbca.rsp
五、启动监听,配置自启动等
5.1、启动监听
# su – oracle
$ lsnrctl start
查看状态 lsnrctl status
# netstat -tnulp | grep 1521
# ps -ef | grep ora_ | grep -v grep
5.2、设置自启动
修改vim /etc/oratab 如下
ora:/u01/app/oracle/product/11.2.0/dbhome_1: Y
5.3、修改dbstart文件
vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
将ORACLE_HOME_LISTNER=$1
修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
5.4、将dbstart加入开机自启动,/etc/rc.d/rc.local中增加
su - oracle -lc /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
赋权限 chmod +x /etc/rc.d/rc.local
5.3、登录数据库设置权限等
sqlplus / as sysdba
startup
alter system register
create user ora identified by ***012
grant dba to ora
exit
六、远程连接数据库
6.1、开放1521端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd –reload
firewall-cmd --list-ports
可以安装asm,安装与配置步骤如下:
1 安装Oracle ASM
使用yum命令网络安装
# yum install oracleasm oracleasm-support本地安装
# cd /mnt/install_DVD/Packages# rpm -qi oracleasm
# rpm -qi oracleasm-support
# rpm -qi oracleasm-support-2.1.8-1.el6.x86_64.rpm
2 使用fdisk命令为每个硬盘创建主分区
# fdisk /dev/sdb完成后我们通过fdisk -l查看一下
# fdisk -l注意,分区后无需格式化,asm本身就是文件系统,asm直接管理裸设备
3 创建asm分区
# /usr/sbin/oracleasm configure -iDefault user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
# /etc/init.d/oracleasm createdisk VOL2 /dev/sdc1
# /etc/init.d/oracleasm createdisk VOL3 /dev/sdd1
1. 安装CentOS,注意先不要创建oracle用户,语言务必选择英语;2. 获取Oracle 11G安装包;
3. 创建Oracle安装目录;
1) 创建用户:oracle,组:oinstall,dba;
1) groupadd oinstall #创建用户组oinstall
2) groupadd dba #创建用户组dba
3) useradd -g oinstall -g dba -m oracle #创建用户oracle,并加入oinstall和dba用户组
4) passwd oracle #设置用户oracle的登录密码,根据提示输入两次密码
5) mkdir /oracle #创建Oracle安装目录
6) chown -R oracle:oinstall /oracle #设置目录所有者为oinstall用户组的oracle用户
1. 修改内核参数;
这一步修改主要是因为,在oracle的官方文档中有对oracle数据库安装配置的最低要求,因此需要修改一下
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
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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
保存退出后要进行如下 *** 作以使配置生效
sysctl -p #使配置立即生效
2. 设置oracle用户限制
vi /etc/security/limits.conf #在末尾添加以下代码
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3. 关闭SELINUX
vi /etc/selinux/config
#编辑配置文件
#注释掉SELINUX=enforcing
# 注释掉SELINUXTYPE=targeted
SELINUX=disabled #增加
4. 安装必备软件;
yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-*
5. 检查依赖关系
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
6. 配置用户的环境变量(可以安装完再设置)
vi /home/oracle/.bash_profile
#在最后添加以下代码
export ORACLE_BASE=/oracle/app/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出中文乱码问题
保存退出以后,输入如下命令使配置生效
source .bash_profile #使设置立刻生效
7. 运行如下命令启动安装界面
export LANG=en_US #设置编码,防止图形界面乱码
./runInstaller [jarLoc=]
8. “ins_ctx.mk”错误处理
下载下面的文件,解压后使用其中libstdc++替换/usr/lib64目录下的同名文件即可
9. “ins_emagent.mk”编译错误,未解决,但未发现影响使用。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)