一个未开图形界面的Linux OS,如何安装Oracle软件及数据库,如下是2大步骤
克隆软件
手动建库
一、克隆软件
1、基本配置
1.1)系统软件包安装
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel
1.2)用户创建
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
1.3)文件配置
1.3.1) 环境变量
vi ~oracle/.bash_profile
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
export ORACLE_SID=test # 最多 8个字符 ; 操作系统和 oracle实例关联的纽带 ;ORACLE_HOME+ORACLE_SID==>hash==> 共享内存段
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin # 将安装后的 oracle 命令追加到执行搜索路径
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib # 动态库的位置
export nls_lang="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" #客户端字符集设置
# 加载配置 :oracle 用户注销重新登录 或 source .bash_profile
1.3.2) 主机
echo "10.240.1.7 Database-backup" >> /etc/hosts #避免报错startup noumount时报错ORA-00000: normal, successful completion
1.3.3) 软件目录
mkdir -p /data/app/oracle/product/11.2.0.4/db_1
chown -R oracle:oinstall /data/app
1.3.4) 资源限制
1.3.4,1) vim /etc/sysctl.conf 添加到文件底端
kernel.shmall = 2097152
#Total amount of shared memory available(bytes or pages); 页的数量 ;2097152*4096/1024/1024/1024=8G; 如果内存大于 8G,必须修改此参数
kernel.shmmax = 2147483648
# 要>= 物理内存的一半 Maximum size of shared memory segment(bytes); 建议 >=sga_max_size(oracle申请内存大小 );
# 单个程序内存段最大多少 ;4G 的话分为两段 mem_seg1 mem_seg2,影响效率 ;
kernel.shmmni = 4096
# Maximum number of shared memory segments system-wide; 页的大小 ;
kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI
SEMMSL Maximum number of semaphores per set; 每个信号对象集的最大信号对象数
SEMMNS Maximum number of semaphores system-wide; 系统范围内最大信号对象数 ;SEMMNS = SEMMSL*SEMMNI
SEMOPM 每个信号对象支持的最大操作数
SEMMNI Maximum number of semaphore identifiers; 系统范围内最大信号对象集数
fs.file-max #系统中所允许的文件句柄最大数目
net.ipv4.ip_local_port_range # 应用程序可使用的 IPv4 端口范围
net.core.rmem_default #套接字接收缓冲区大小的缺省值
net.core.rmem_max #套接字接收缓冲区大小的最大值
net.core.wmem_default #套接字发送缓冲区大小的缺省值
net.core.wmem_max #套接字发送缓冲区大小的最大值
#注释:OS32bit,oracle 最多申请 1.7G; 应该装64bitOS
#加载参数 sysctl -p
1.3.4 ,2) /etc/security/limits.conf oracle 在 linux 上操作的limit
[root@dba ~]# grep -v '^#' /etc/security/limits.conf
oracle soft nproc 2047 #oracle 在 linux上打开 proc 数量
oracle hard nproc 16384
oracle soft nofile 1024 #oracle 在 linux上打开 file 的数量
oracle hard nofile 65536
[root@dba ~]# grep 'limit' /etc/pam.d/system-auth
session required pam_limits.so
1.3.4,3) 关闭防火墙、SELINUX
iptables -F
更改 /etc/selinux/config 文件 -->SELINUX=disabled
2、克隆 ORACLE_HOME
2.1)复制
scp db_1 oracle@10.240.1.7:/data/app/oracle/product/11.2.0.4/db_1/
2.2)执行clone.pl 克隆脚本更改参数配置(ORACLE_SID、ORACLE_HOME)
$ cd /data/app/oracle/product/11.2.0.4/db_1/clone/bin