1、检查Linux系统是64位还是32位
getconf LONG_BIT
2、下载oracle11g并解压
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip
解压到同一目录下,默认为database
unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip
进入database目录看解压后文件列表
3、修改操作系统核心参数
root用户执行下列步骤:
1)修改用户的SHELL限制,修改/etc/security/limits.conf文件
在 /etc/security/limits.conf中,添加
oracle soft nofile 65536 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384
2)修改/etc/sysctl.conf文件
kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.shmall = 2097152 kernel.sem = 510 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_max = 16777216 net.core.wmem_default = 266960
要使/etc/sysctl.conf更改立即生效,执行以下命令
sysctl -p
几个内核参数的含义说明如下:
参数 | 推荐值 |
说明 |
shmmax |
64bit操作系统,Physical MEM*1024*1024*1024 32bit操作系统,4G*1024*1024*1024 =4294967295 |
用于定义单个共享内存段的最大值,shmmax 设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降 |
shmmni |
4096 |
共享内存段的最大数量 |
shmall |
至少ceil(shmmax/PAGE_SIZE) |
Linux 共享内存页大小为4KB, 共享内 存段的大小都是共享内存页大小的整数倍。 |
sem |
250 32000 100 128 |
信号量;顺序:SEMMSL, SEMMNS, SEMOPM, SEMMNI |
SEMMSL |
最小250;对于processes参数设置较大的系统建议设置为processes+10 |
每个信号量set中信号量最大个数 |
SEMMNS |
至少32000; SEMMSL * SEMMNI |
linux系统中信号量最大个数 |
SEMOPM |
至少100;或者等于SEMMSL |
semop系统调用允许的信号量最大个数 |
SEMMNI |
最少128 |
linux系统信号量set最大个数 |
4、创建相关用户和用户组
groupadd oinstall groupadd dba useradd -g dba -G oinstall -m oracle passwd oracle
然后会让你输入密码,连续输入2次,保持一致,回车确认
5、创建数据库软件目录和数据文件存放目录,目录位置,应选用磁盘空间大的。
mkdir -p /opt/oracle/ mkdir -p /opt/oracle/oracle/product mkdir -p /opt/oracle/oradata/更改oracle目录的own
chown -R oracle:dba /opt/oracle6、配置环境变量
以root用户执行su - oracle切换为oracle用户,再执行以下操作
修改$HOME/.bash_profile文件,增加下面内容
export ORACLE_BASE=/opt/oracle/ export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=oradb export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
二、安装
需要图形界面,如果是虚拟机,必须通过vnc等工具链接进行操作。
打开一个终端,进入目录database(之前解压后目录),切换到oracle用户,执行安装命令
./runInstaller
如下图,会出现检查临时空间和交换空间,及监视器的提示,未满足监视器配置,需根据提示进行修改,满足要求,并继续。
当检查均通过,会出现oracle安装界面
如此时安装界面出现乱码,可能是系统语言为中文导致,需要临时修改系统语言
查看Linux系统语言
echo $LANG
修改Linux系统语言
export LANG='en_US'
关闭安装程序,再重新执行安装命令
之前配置的oracle环境变量
检查系统需要的lib包,有些lib包版本高,直接勾选忽略
点击完成(Finish),开始安装,安装完成后,系统会提示需要使用root权限执行2个shell脚本。
根据提示路径,找到文件位置
打开终端,使用root用户
su – root cd /opt/oracle/product/11.2.0/dbhome_1 sh root.sh cd /opt/oracle/oraInventory sh orainstRoot.sh
三、使用
1、创建数据库
切换到oracle用户,使用图形界面,新建一个终端,输入命令,弹出如下界面。
dbca
如遇到命令不能执行情况,执行命令
source .bash_profile
此处设置应与之前设置环境变量SID保持一致
设置密码,所有用户为同一密码,若需要单独设置,选择Use Different Administrative Passwords
配置数据库文件保存路径
设置内存使用及字符集
2、配置监听及本地网络服务
切换到oracle用户,使用图形界面,新建一个终端,输入命令,弹出如下界面。
netca
如遇到命令不能执行情况,执行命令
source .bash_profile
1)创建服务监听
2)配置本地网络服务名
输入连接的oracle服务器的数据库实例名
输入oracle服务器的IP地址
进行测试,选择Change Login,输入之前配置的oracle的用户名和密码,点击OK