1.
vi /etc/hosts
前两行注释掉,文件最后写入:
127.0.0.1 localhost
2.安装依赖包
yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*
yum install net-tools
3.创建安装目录、用户和用户组
groupadd oinstall
groupadd dba
useradd -g oinstall -g dba oracle
passwd oracle
id oracle
//$ORACLE_BASE
mkdir -p /opt/oracle
//$ORACLE_HOME
mkdir -p /
opt
/oracle/product/11024/database
//存放数据库目录
mkdir /
opt
/oracle/oradata
mkdir /
opt
/oracle/inventory
mkdir /
opt
/oracle/flash_recovery_area
chown -R oracle:oinstall /
opt
/oracle
chmod -R 775 /
opt
/oracle
vi /etc/oraInst.loc
创建oraInst.loc文件,写入如下内容:
inventory_loc=/opt/oraInventory
inst_group=oinstall
4.将oracle加入sudoers
vi /etc/sudoers
找到root ALL=(ALL) ALL 这行,在下面假如如下行:
oracle ALL=(ALL) ALL
注:用
“:wq!”保存(由于这是一份只读文档所以需要再加上!)
修改文件保存退出
:
“
:wq
”,不保存直接退出:
”
:q
”
,强制执行在命令后加
”
!
”
5.修改内核参数
vi /etc/sysctl.conf
修改、添加以下内容(不能小于下面的数值,灰色的是已存在的不能比这个小)
kernel.shmall = 2097152
kernel.shmmax = 1073741824
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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
6.修改用户限制文件
vi /etc/security/limits.conf
行末添加以下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
7.关联设置
vi /etc/pam.d/login
行末添加以下内容:
session required /lib64/security/pam_limits.so
session required pam_limits.so
8.修改/etc/profile
vi /etc/profile
添加以下内容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
在root用户下,使用命令source profile使环境变量生效
source /etc/profile
9.修改用户环境变量
vi /home/oracle/.bash_profile
在最底下加入以下内容
# For Oracle
export ORACLE_BASE=/
opt
/oracle;
export ORACLE_HOME=/
opt
/oracle/product/11024/database
export ORACLE_SID=orcl;
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
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
使环境变量生效
source /
home
/oracle/.bash_profile
查看命令:
env
10.上传并解压oracle安装文件
将安装包上传至服务器/opt/oracle/ 下面
安装包下载地址:
提取码:wpgl
安装包解压命令(使用oracle用户解压 )
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
如果你如法使用unzip命令解压.zip文件,可能是你没有安装unzip软件,下面是安装方法
yum -y install zip
yum -y install unzip
解压完成后/opt/oracle下会生成database目录
11.编辑Oracle安装应答文件
/opt/oracle/database/response(解压后的文件中)下有db_install.rsp、dbca.rsp和netca.rsp三个应答文件,分别数据库安装文件、建立数据库实例和监听配置安装文件
vi db_install.rsp
修改以下内容
oracle.install.option=INSTALL_DB_SWONLY //29 行 安装类型
ORACLE_HOSTNAME=localhost //37 行 主机名称
UNIX_GROUP_NAME=oinstall //42 行 安装组
INVENTORY_LOCATION=/
opt
/oracle/inventory //47 行 INVENTORY目录
SELECTED_LANGUAGES=zh_CN //78 行 选择语言
ORACLE_HOME=/
opt
/oracle/product/11024/database //83 行 oracle_home
ORACLE_BASE=/
opt
/oracle //88 行 oracle_base
oracle.install.db.InstallEdition=EE //99 行 oracle版本
oracle.install.db.DBA_GROUP=dba //142行dba用户组
oracle.install.db.OPER_GROUP=oinstall //147行oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //165行globalDBName
oracle.install.db.config.starterdb.SID=orcl //170行SID
oracle.install.db.config.starterdb.memoryLimit=800 //192行 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //233行 设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true //385行 设置安全更新
12.安装Oracle
使用oracle用户安装
su - oracle
进入刚才解压的database目录
cd /
opt
/oracle/database/
./runInstaller -silent
-ignorePrereq
-responseFile
/
opt
/oracle/database/response/db_install.rsp
接下来就是等待(不要着急!!!)快的话10分钟左右。
安装过程中,可根据提示路径去看日志,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现
[FATAL],则安装程序已经停止了。
13.按提示要求执行脚本
打开新的终端,
以root身份登录,执行脚本:
/
opt
/oracle/inventory/orainstRoot.sh
/
opt
/oracle/product/11024/database/root.sh
完成后,返回原来的终端查看安装日志,没有出现
[FATAL],则安装成功.
Oracle11g
的安装就到此结束!
14.监听器配置
vi /
opt
/oracle/database/response/netca.rsp
主要查看以下参数配置:
INSTALL_TYPE=""custom"" 安装的类型
LISTENER_NUMBER=1 监听器数量
LISTENER_NAMES={"LISTENER"} 监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"} 监听器使用的通讯协议列表
LISTENER_START=""LISTENER"" 监听器启动的名称
检查完毕后,执行命令:
netca /silent /responseFile /
opt
/oracle/database/response/netca.rsp
成功运行后,在/opt/oracle/product/11024/database/network/admin/中生成listener.ora和sqlnet.ora
安装完成后通过netstat命令可以查看1521端口正在监听(重开一个窗口)
netstat -tnulp | grep 1521
15.修改hostname
vi /etc/sysconfig/network
HOSTNAME=localhost
16.配置监听器
vi $ORACLE_HOME/network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = /
opt
/oracle/
product/
11024/database)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /
opt
/oracle/product/11024/database)
(SID_NAME = orcl)
)
)
17.添加数据库实例
vi /opt/oracle/database/response/dbca.rsp
根据数据库建立方式的不同编辑不同的数据库库选项。
比如在本次安装过程中设置了下列参数:
(注意下面参数视情况而定,不要照抄,原文件都有说明的)
RESPONSEFILE_VERSION ="11.2.0" //不能更改
OPERATION_TYPE ="createDatabase"
GDBNAME ="orcl" //数据库的名字
SID ="ORCL" //对应的实例名字
TEMPLATENAME ="General_Purpose.dbc"//建库用的模板文件
SYSPASSWORD ="oracle" //SYS管理员密码
SYSTEMPASSWORD ="oracle" //SYSTEM管理员密码
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION =/
opt
/oracle/oradata //数据文件存放目录
RECOVERYAREADESTINATION=/
opt
/oracle/flash_recovery_area //恢复数据存放目录
CHARACTERSET ="ZHS16GBK" //
字符集,重要!!!建库后一般不能更改,所以建库前要确定清楚。
utf8:
AL32UTF8
TOTALMEMORY ="1638"//1638MB,物理内存2G*80%。
18.安装数据库实例
进入oracle安装目录的bin下,执行dbca命令
dbca -silent -responseFile /
opt
/oracle/database/response/dbca.rsp
这里界面可能会出现闪动,可以等全部东西都不见了,是要输入SYS密码,但不知道为什么看不见提示,一闪而过。
然后输入完毕按下回车,又看见SYSTEM密码一闪而过,再次输入密码回车,这时就开始建库了。
安装成功后,查看监听状态
lsnrctl status
success 继续
修改/opt/oracle/product/11024/database/bin/dbstart
vi /
opt
/oracle/product/11024/database/bin/dbstart
将
ORACLE_HOME_LISTNER=$1修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
修改/opt/oracle/product/11024/database/bin/dbshut
vi /
opt
/oracle/product/11024/database/bin/dbshut
将
ORACLE_HOME_LISTNER=$1修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
修改/etc/oratab
vi /etc/oratab
将orcl:/data/oracle/product/11.2.0:N中最后的N改为Y,成为
orcl:/data/oracle/product/11.2.0:Y
19.测试
dbshut
lsnrctl status
Oracle监听停止,进程消失。
dbstart
lsnrctl status
Oracle 监听启动,进程启动。
lsnrctl start
sqlplus / as sysdba
登录成功,结束。
附:
创建用户:
CREATE USER ORA205 IDENTIFIED BY
ORA205;
grant connect, resource to
ORA205
;
防火墙开放端口:
查看版本:
firewall-cmd --version
查看帮助:
firewall-cmd --help
显示状态:
firewall-cmd --state
查看所有打开的端口:
firewall-cmd --zone=public --list-ports
更新防火墙规则:
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
开启一个端口:
1.添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
2.重新载入
firewall-cmd --reload