有时候会遇到命令行安装oracle和建库,没事就做个试验记录下
1.配置Yum源及关闭SeLinux
[root@rhel65 mnt]# mount /dev/sr0 /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@rhel65 ~]# cat /etc/yum.repos.d/iso.repo
[iso]
name=iso
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@rhel65 ~]# vi /etc/selinux/config
SELINUX=disabled
2.检查安装必要的rpm包
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat
与上面不同,待检查
yum -y install binutils binutils-devel compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 ksh elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel glibc-headers gcc gcc-c++ libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 make sysstat unixODBC unixODBC-devel libXp libXp-devel libXpm-devel telnet
3.修改sysctl.conf文件
vi /etc/sysctl.conf
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
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
以上几个内核参数的大致含义如下
kernel.shmma:最大共享内存段,以字节为单位,物理内存*1024*1024*2,为物理内存的2倍。
kernel.shmmni:整个系统共享内存段的最大数目。
kernel.shmall:共享内存总量,以页为单位。
kernel.sem:每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数。
fs.file-max:文件句柄数,表示在Linux系统中可以打开的文件数量。
net.ipv4.ip_local_port_range:应用程序可使用的IPv4端口范围。
net.core.rmem_default:套接字接收缓冲区大小的缺省值
net.core.rmem_max:套接字接收缓冲区大小的最大值
net.core.wmem_default:套接字发送缓冲区大小的缺省值
net.core.wmem_max:套接字发送缓冲区大小的最大值
使内核参数实时生效
sysctl -p
4.Oracle用户设置Shell限制
vi /etc/security/limits.conf
oracle soft nproc 65536
oracle hard nproc 65536
oracle soft nofile 65536
oracle hard nofile 65536
5.session登录安全设置
vi /etc/pam.d/login #增加以下一行
session required pam_limits.so
在/etc/profile末尾增加oracle相关限制
vi /etc/profile
#Oracle判断
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
6.创建oracle用户,组(root用户)
创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户
cat /etc/group
groupadd -g 54321 oinstall
groupadd -g 54322 dba
useradd -u 54321 -m -d /home/oracle -g oinstall -G dba oracle
echo "oarcle" | passwd --stdin oracle
id oracle
uid=54321(oracle) gid=54321(oinstall) 组=54321(oinstall),54322(dba)
groupadd oinstall 是创建用户组,用来做oracle的安装和维护工作
useradd 是创建用户
-m –d /home/oracle 是把/home/oracle目录作为oracle用户的主目录或登录默认目录
–g oinstall 是表示oracle用户的初始组为oinstall
–G dba 是表示oracle用户同时属于dba组,做数据维护,和数据库管理工作
/*
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -g oinstall -G dba oracle(主组oinstall,其它组:dba)
--passwd oracle
echo "oarcle" | passwd --stdin oracle
一句话修改账户密码的命令 echo "密码" | passwd --stdin 用户名
下面是最简单的创建
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo "oarcle" | passwd --stdin oracle
chmod -R 700 /home/oracle
*/
7.创建安装目录
mkdir -p /u01/app/oracle
--创建数据文件路径
mkdir -p /u01/app/oracle/oradata
mkdir -p /u01/app/oraInventory
--创建闪回路径
mkdir -p /u01/app/oracle/fast_recovery_area
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinsta