在linux下安装oracle数据库


这是一份在离线的情况下安装linux的文章。

1.1、检查系统

查看机器版本及其它信息

cat /etc/redhat-release
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
df -Th
free -g
注意:阿里云主机可能会有没swap空间,这个要手动创建。
#以下是用文件作为 Swap 分区的操作步骤
#创建要作为 swap 分区的文件:增加至少8GB 大小的交换分区

dd if=/dev/zero of=/data/swapfile bs=1M count=8192

#格式化为交换分区文件

mkswap /data/swapfile

#启用交换分区文件

swapon /data/swapfile

#使系统开机时自启用,在文件/etc/fstab 中添加一行

/data/swapfile swap swap defaults 0 0

1.2、查看主机名将主机名称改成自定义的名称之后可做使用。

查看主机名称:hostname 修改主机名称: hostname 要修改的名称

hostname test
hostname

1.3、添加主机名与ip对应:

vi   /etc/hosts

在下面添加自己ip和自定义的主机名

1.4、关闭selinux

sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

setenforce 0

1.5、安装oracle依赖包:

cd /tools/oracle-yilai/

rpm -ivh ./* --nodeps --force


安装完后检测有没有未安装成功的依赖包:

rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel |grep "not installed"


命令执行完未收到响应证明安装成功无缺失

1.6、关闭linux的防火墙:

systemctl disable firewalld.service

1.7、创建oracle安装目录,给相关权限

规划oracle_base=/data/orcale
oracle_home=/data/oracle/products/11.2.0.4/db
inventory目录:/data/inventory
oradata目录:/data/oracle/oradata
fast_recovery_area目录:/data/oracle/fast_recovery_area
#mkdir -p /data/oracle/products/11.2.0.4/db
#mkdir -p /data/oracle/{oradata,fast_recovery_area}
#mkdir -p /data/inventory

1.8、添加oinstall,dba 组,新建oracle用户并将oracle用户加入oinstall,dba 组中。

#groupadd -g 500  oinstall                                      
#groupadd -g 501  dba                                                
#useradd -g oinstall -G dba -s /bin/bash -u 501 oracle                       
#passwd oracle                                                   
#id oracle
#chown -R oracle:oinstall /data  

1.9、配置调整内存参数

vim /etc/sysctl.conf
在文件中添加如下设置:(其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。)

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4127916032
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 = 1048586


执行命令使配置生效 :sysctl -p

2.0、修改用户的限制文件

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

2.1、修改/etc/pam.d/login文件

vim /etc/pam.d/login
添加内容如下 

session required /lib64/security/pam_limits.so

session required pam_limits.so

2.2、解压oracle11G的安装包

 cd /tools

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

修改目录的属性

chmod -R 775 /data

chown -R oracle:oinstall /data

开始静默安装oracle

  • 1.切换到oracle用户,设置oracle用户环境变量
su -  oracle

vim /home/oracle/.bash_profile

添加以下内容

#for oracle

export ORACLE_TERM=xterm
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=/data/oracle/products/11.2.0.4/db
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin:$PATH
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/lib64:/usr/lib64
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

执行以下命令使环境变量生效

source /home/oracle/.bash_profile

一、db_install.rsp文件用于安装oracle软件。
二、netca.rsp文件用于创建监听。
三、dbca.rsp文件用于创建oracle实例。

cp -r /data/soft/database/response/ /data/response目录下
vim db_install.rsp


#找到以下参数,进行设置


oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=改为自己的主机名

UNIX_GROUP_NAME=oinstall
##设置inventory目录:
INVENTORY_LOCATION=/data/inventory
SELECTED_LANGUAGES=en,zh_CN
##设置oracle安装目录:
ORACLE_HOME=/data/oracle/products/11.2.0.4/db
ORACLE_BASE=/data/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true

以上参数除备注的需要修改外,其它的保持不变。


cd /data/soft/database目录
执行: ./runInstaller -silent -responseFile /data/response/db_install.rsp -ignorePrereq
执行后只打印出4行日志后回车就回到正常的命令行,其它在后台已经在安装,可以通过ps -ef|grep db_install.rsp 查看是否存在安装进程。
如果安装过程中有警告或失败信息,也会在本窗口中打印出。

执行命令进行静默安装

 ./runInstaller -silent -responseFile /data/response/db_install.rsp -ignorePrereq


当出现才下语句时,需要使用root用户执行以下两个脚本后,软件才算是正常安装完。
	1. /data/inventory/orainstRoot.sh
	2. /data/products/11.2.0.4/db/root.sh         /data/oracle/products/11.2.0.4/db/root.sh
在执行第2个脚本时,只会打印一行日志路径,不会全部打印日志,这是正常现象,可以找到具体日志查看执行情况。

二、创建数据库监听

netca.rsp文件用于创建监听。
修改/data/response/netca.rsp文件,要跟下面内容保持一致。
#egrep -v "(^#|^$)" /data/response/netca.rsp
[GENERAL]
RESPONSEFILE_VERSION="11.2"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
##可以按实际修改以监听端口。
LISTENER_PROTOCOLS={"TCP;11521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
##可以按实际修改以监听端口。
NSN_PROTOCOLS={"TCP;HOSTNAME;11521"}

执行netca /silent /responsefile /data/response/netca.rsp

查看监听状态
lsnrctl status
lsnrctl stop
lsnrctl start

这里有个bug,使用lsnrctl status命令一直没有反应,只能一次又一次的卸载重装。

三、创建数据库实例(即图形页面时的dbca)

egrep -v "(^#|^$)" /data/response/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
##按实际情况修改实例名
GDBNAME = "linelossapp"
SID = "linelossapp"
TEMPLATENAME = "General_Purpose.dbc"
##按实际情况修改sys密码。

SYSPASSWORD = "oracle#1234"
SYSTEMPASSWORD = "oracle#1234"
SYSMANPASSWORD = "oracle#1234"
DBSNMPPASSWORD = "oracle#1234"
##按实际情况修改数据文件目录和闪回目录。
DATAFILEDESTINATION =/data/products/oradata
RECOVERYAREADESTINATION=/data/products/fast_recovery_area
##按实际情况修改字符集。
CHARACTERSET = "ZHS16GBK"
##按实际情况修改内存,按M计算。
TOTALMEMORY = "10240"
[createTemplateFromDB]
##按实际情况修改端口和实例名
SOURCEDB = "myhost:11521:linelossapp"
SYSDBAUSERNAME = "system"
TEMPLATENAME = "My Copy TEMPLATE"
[createCloneTemplate]
##按实际情况修改实例名
SOURCEDB = "linelossapp"
TEMPLATENAME = "My Clone TEMPLATE"
[DELETEDATABASE]
##按实际情况修改实例名
SOURCEDB = "linelossapp"
[generateScripts]
TEMPLATENAME = "New Database"
[CONFIGUREDATABASE]
[ADDINSTANCE]
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
NODELIST=
SYSDBAUSERNAME = "sys"
[DELETEINSTANCE]
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
INSTANCENAME = "orcl11g"
SYSDBAUSERNAME = "sys"

除特殊备注的外,其它保持不变,装单实例时一定要严格比对以上参数。



执行dbca -silent -responseFile /data/response/dbca.rsp 开始安装。
###以下为执行过程。
[oracle@linelossapp response]$ dbca -silent -responseFile /data/response/dbca.rsp
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/data/cfgtoollogs/dbca/linelossapp/lineloss.log" for further details.

查看进程oracle进程,

ps -ef|grep ora

进入sql命令行

sqlplus / as sysdba

执行命令:

 SELECT USERENV('language') FROM dual;

设置开机启动


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM