系统要求:至少1GB的RAM,3.5~5G的磁盘空间
需要两个磁盘设备 : swap 和文件装载点的/(root)
要保证这两个磁盘空间够用,利用 free -h 查看swap的空间
增减swap空间:
dd if=/dev/zero of=/home/swap bs=1024 count=1024000
这个是增加1024M的空间
把这个分区变成swap分区:
/sbin/mkswap /home/swap
再接着使用这个swap分区。使其成为有效状态:
/sbin/swapon /home/swap
在root用户下,
创建用户组oinstall ,dba:
groupadd oinstall; ---创建的Unix组
groupadd dba;
创建oracle用户,并加入到oinstall和dba用户组:
useradd -g oinstall -g dba -m oracle
设置oracle用户的密码:
passwd oracle 或者 # echo "123123" | passwd --stdin oracle
创建oracle数据库安装目录:
mkdir -p /data/oracle
oracle数据库配置文件目录:
mkdir -p /data/oralnventory
oracle数据库软件包解压目录:
mkdir -p /data/database
可以进入到/data目录下检查一下
设置目录所有者为oinstall用户组的oracle用户;
chown -R oracle:oinstall /data/oracle
chown -R oracle:oinstall /data/oraInventory
chown -R oracle:oinstall /data/database
赋予oracle相关目录的访问权限:
chmod -R 775 /data
修改os系统标识:修改文件/etc/redhat-release
[root@dba ~]# cat /proc/version
Linux version 3.10.0-229.el7.x86_64 ([email protected]) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) #1 SMP Fri Mar 6 11:36:42 UTC 2015
[root@dba ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@dba ~]# vi /etc/redhat-release
#CentOS Linux release 7.1.1503 (Core)
redhat-7
关闭防火墙:
[root@dba ~]# systemctl status firewalld.service 查看状态
[root@dba ~]# systemctl stop firewalld.service 关闭防火墙
[root@dba ~]# systemctl disable firewalld.service 禁止使用
关闭selinux:
vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
需要重启生效
关闭NetworkManager:
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
这一步是为了防止重启虚拟机后,ip无效的问题
修改机器名:vi /etc/hosts 查看主机名: cat /etc/sysconfig/network
安装数据库所需要的软件包:
参考:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#BABCFJFG
yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-* elfutils*
会提示:
No package pdksh-* available. 未安装
No package compat-libstdc* available
可以用ksh代替安装pdksh,为了方便省事,直接下载了pdksh和compat-libstdc的安装包
安装包的下载地址:http://vault.centos.org/5.11/os/x86_64/CentOS
下载的安装包用RPM安装
[root@dba ~]# vi /etc/sysctl.conf
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
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
最需要注意的是shmmax 这个参数,最小500M,最大比内存少一个字节就可以了,推荐比内存的一半大一点点
使参数生效:
sysctl -p
对oracle用户设置限制,提高软件运行 ---添加的是nproc资源和nofile参数
[root@dba ~]# vi /etc/security/limits.conf
#@student - maxlogins 4
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
配置用户的环境变量:
[root@dba ~]# vi /home/oracle/.bash_profile
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK --可以省略,因为在启动监听的时候会存在字符不符合的原因,导致启动失败
使配置生效
[root@dba ~]# source /home/oracle/.bash_profile
修改login文件:
[root@dba ~]# vi /etc/pam.d/login
添加一行:
session required pam_limits.so
修改ulimit
vi /etc/profile
添加一下内容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536a
else
ulimit -u 16384 -n 65536
fi
fi
以上操作完成后需要重启系统
通过图像界面登录oracle用户,(用命令su登录,必须是su - 形式登录)启动oracle安装
进入/data/database 下启动 ./runinstaller 出现
[oracle@dba database]$ ./runInstaller
安装过程中会出现的错误
点击Retry即可。
----------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------
启动监听后,启动数据库出现错误:
ERROR:
ORA-12705: Cannot access NLS data files or invalid environment specified
原因是字符集不相同
执行:export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
就可以征程启动了
export ORA_NLS10=/data/oracle/product/11.2.0/db_1/nls/data
-----------------------------------
手动配置监听;
Linux下Oracle监听器配置文件在:$ ORACLE_HOME/network/admin/listerer.ora,
我的配置文件:
/data/oracle/product/11.2.0/db_1/network/admin/listener.ora
SID_LIST_LISTENER = (
SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = /data/oracle/product/11.2.0/db_1)
(PROGRAM = extproc)
)
# (SID_DESC =
# (GLOBAL DBNAME = bkserver)
# (SID_NAME = bkserver) )
)
LISTENER = (DESCRIPTION_LIST =
(DESCRIPTION =
#(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.28.11.114)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /data/oracle
----------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
现在遇到的问题是必须在$ORACLE_HOME下登录到oracle用户,才能启动监听服务
启动监听服务:
$ lsnrctl start
$ sqlplus /nolog
SQL> connect /as sysdba
SQL> startup
SQL> quit
或者是直接 sqlplus / as sysdba
startup
quit;
关闭 sqlplus / as sysdba
shutdown immediate;
quit;
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
安装后lsnrctl命令找不到。主要是登录时,用的su oracle
登录oracle用户的时候,要用su - oracle
使用netca登录出现问题
出现
其中还包括xdpyinfo
检查 /var/log/Xorg.0.log 这个文件,
看看 里面是不是 有这样到
(**) |-->Screen "Default Screen" (0)
(**) | |-->Monitor "Configured Monitor"
(**) | |-->Device "Generic Video Card"
0就是 对应 :0.0 , 1就用 :1.0 等等
最后设置的export DISPLAY=:0.0
参考网址:
centos7:https://www.linuxidc.com/Linux/2016-04/130559.htm
http://www.pydyun.com/oracle11g-tutorial.html