Linux 命令符下安装Oracle

之前都是使用脚本直接安装,这样很容易出现出现问题 不知道排错, 于是尝试在linux 下手动分步安装, 内部有些原理并不是很懂, 待慢慢完善, 最好是多安装几次图形化安装,理解原理。

一、准备安装的环境:

1.硬件: centos 6.5

Oracle database 11g

/db  分区大于10G

/free  内存大于2G

2.Oracle 的安装的两个软件包:

linux.x64_11gR2_database_2of2.zip

linux.x64_11gR2_database_1of2.zip

下载地址:wget http://v.yingsun.net/cobra/download/linux.x64_11gR2_database_2of2.zip

--http-user=$usr --http-password=$code

wgethttp://v.yingsun.net/cobra/download/linux.x64_11gR2_database_1of2.zip

--http-user=$usr --http-password=$code

注意: 这里提供一个下载的地址是本公司的软件下载地址,也可以去oracle 官网上下

64 位的11g 版本的。

3.安装oracle 的必须依赖包(必须检查,否则安装后会报错):

检查所有依赖包是否有安装

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc ksh  libstdc++-devel libstdc++ make numactl-devel sysstat compat-gcc-34  compat-gcc-34-c++ gcc  libXp openmotif compat-db glibc.i686

使用rpm 检查”not“ 没有安装的,使用yum -y install 安装即可, 安装完之后最好

使用rpm 再检查一下。

4. 填写hosts 文件及主机名, 因为oracle 会根据hosts 进行绑定,不填好会报错,创

建不了参数及实例,如下:

5. 关闭iptables 和selinux

二 、 进入安装

1. 建立oracle 的用户, Oracle 需要有自己的用户操作:

groupadd oinstall

groupadd dba

useradd -d /home/oracle -g oinstall -G dba -m oracle

2. 建立数据库的目录db, 如果业务用,需要足够的空间,最好的单独的分区。

mkdir -p /db/oracle11g/product/11.2.0/db

chmod -R 775 /db

chown -R oracle:oinstall /db

3. 修改内核参数,以便支持oracle

1)在/etc/sysctl.conf 文件中, 使用vim进行编辑, 省事,直接在最后增加上就行,

参数如下:

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.rmem_max=262144

net.core.wmem_default=262144

net.core.wmem_max=262144

如下:

是更改的内核生效:

/sbin/sysctl  -p

2) 修改用户的限制:

修改 /etc/security/limits.conf  文件, 直接在最后面增加就行:

oracle  soft     nproc          2047

oracle  hard     nproc          16384

oracle  soft     nofile         1024

oracle  hard     nofile         65536

再在/etc/pam.d/login 的文件中修改,直接在最后面增加就行:

session required        /lib64/security/pam_limits.so

session required        pam_limits.so

最后在/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

使之生效

Source  /etc/profile

4. 设置oracle 用户的环境变量,这里要小心特别注意,一个没注意就会导致没有权限

安装。如下:

Vi /home/oracle/.bash_profile

export ORACLE_BASE=/db/oracle11g       #这个是声明数据库的目录

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db    # 这个是数据库的家

目录

export ORACLE_SID="benguo"      #这个是指安装oracle 的实例名字,可随你业务

名字写或者公司, 如果你需要一次性将实例也

安装上, 可以在这里添加sid , 否则你后面

也要写, 如果忘写了就可能会出错。

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin   #这个在环境,oracle 家目录

的变量,否则在安装数据库

的时候就会找不sqlplus ,

造成安装不成功。

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib   #这个是指oracle 的库,也

需要指明,否则造成依赖库找不到

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK    #字符集

export

注意: 添加完oracle 的环境变量就需要进行生效,命令如下:

Source /home/oracle/.bash_profile

实验如下图:

5.  解压oracle 的安装文件包,如下:

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

提醒: 在这里我说明一下我的软件包安装的路径, 因为这个解压后的安装包,在后面

还需要被用上, 所以也需要特别的注意权限的问题。我的环境如下:

我在/db 下创建了一个soft 目录,并给oracle 用户递归的所有权限, 将两个安装的软件包放在soft 下,进行加压得到database 目录。

Mkdir -p /db/soft

Chown -R Oracle:oinstall /db/soft

Chmod -R 755 /db/soft

6. 静默安装数据库软件:

1) 静默安装需要相应文件模板的文件, 在解压后的安装软件包的database 的目录下有一个response响应目录下的db_install.rsp , 修改步骤如下:

Su - oracle

Vim  /db/soft/database/response/db_install.rsp  修改响应安装数据库的模块,如下:

[[email protected] response]# egrep -v "#|^$" db_install.rsp

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

oracle.install.option=INSTALL_DB_SWONLY    #安装数据库的类型

ORACLE_HOSTNAME=localhost.localdomain     #主机的名称(hostname)查询

UNIX_GROUP_NAME=oinstall                 #安装组

INVENTORY_LOCATION=/db/oraInventory        #可以是默认值, inventory 目录

SELECTED_LANGUAGES=en                    #选择安装的语言

ORACLE_HOME=/db/oracle11g/product/11.2.0/db  #oracle 的家目录,你设置的oracle 环境

中是多少就写多少

ORACLE_BASE=/db/oracle11g                  #Oracle安装目录

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=false

oracle.install.db.customComponents=

oracle.install.db.DBA_GROUP=dba              #dba 用户组

oracle.install.db.OPER_GROUP=oinstall          #oper 用户组

oracle.install.db.CLUSTER_NODES=

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

oracle.install.db.config.starterdb.globalDBName=

oracle.install.db.config.starterdb.SID=

oracle.install.db.config.starterdb.characterSet=

oracle.install.db.config.starterdb.memoryLimit=

oracle.install.db.config.starterdb.memoryOption=false

oracle.install.db.config.starterdb.installExampleSchemas=false

oracle.install.db.config.starterdb.enableSecuritySettings=true

oracle.install.db.config.starterdb.password.ALL=

oracle.install.db.config.starterdb.password.SYS=

oracle.install.db.config.starterdb.password.SYSTEM=

oracle.install.db.config.starterdb.password.SYSMAN=

oracle.install.db.config.starterdb.password.DBSNMP=

oracle.install.db.config.starterdb.control=DB_CONTROL

oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false

oracle.install.db.config.starterdb.dbcontrol.emailAddress=

oracle.install.db.config.starterdb.dbcontrol.SMTPServer=

oracle.install.db.config.starterdb.automatedBackup.enable=false

oracle.install.db.config.starterdb.automatedBackup.osuid=

oracle.install.db.config.starterdb.automatedBackup.ospwd=

oracle.install.db.config.starterdb.storageType=

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

oracle.install.db.config.asm.diskGroup=

oracle.install.db.config.asm.ASMSNMPPassword=

MYORACLESUPPORT_USERNAME=

MYORACLESUPPORT_PASSWORD=

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false  #手动写了false

DECLINE_SECURITY_UPDATES=true               #设置安全更新(貌似是有bug,这个一定

要选true ,否则会无限制提醒邮件地址有问题,

终止安装,)

PROXY_HOST=

PROXY_PORT=

以上未写的可以空着。

开始静默安装

Cd  /db/soft/database

./runInstaller  -ignorePrereq -silent -responseFile /db/soft/database/response/db_install.rsp -force

安装的时候有出现一些info waring 的信息, 不用再意,主要注意error 的信息,出现以下信息是安装完毕。如下:

注意: 如果没有安装终止了,则根据静默安装的日志进行查看解决。

注:安装完数据库库之后则需要测试能否能进数据库, sqlplus / as sysdba  如果提示sqlplus 命令找不到,可以在oracle 用户命令下进行查看$PATH,看是否有路径,如果没有,则需要查看以下oracle 用户的环境变化ORACLE_HOME 变量是否被加入到PATH 中, 如下:

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

2) 安装完数据库之后则需要进行更改以下配置, 在这里只需要使用root 用户去执行自带的脚本就可以,如以下两个脚本:

/db/oraInventory/orainstRoot.sh

以上这个脚本是自动去配置系统安装配置文件/etc/oralnst.loc ,并给予权限的。 注意如果在安装数据之前就进行了配置这个文件, 安装的数据库的时候不会生成这个脚本和自带的默认脚本。具体的配置如下:

Vim /etc/oraInst.loc

Nventory_loc=/db/oraInventory    #这个路径指的是数据库放inventory 的路径。

inst_group=oinstall              #这个是安装组

注意 在这里需要进行查看权限,

Chown oracle:oiinstall /etc/oraInst.loc

Chmod 644 /etc/oraInst.loc

Sh  /db/oracle11g/product/11.2.0/db/root.sh   (使用root 下进行执行)

这个脚本是具体关于一些更改参数的设置,具体可以自己打开看。

7、 进行静默配置网络监听

$ORACLE_HOME/bin/netca  /silent /responseFile  /db/soft/database/response/netca.rsp

注意: 这个模板使用默认的就可以,oracle 的监听文件在安装完实例之后进行配置添加。

在这个安装完之后在/db/oracle11g/product/11.2.0/db/network/admin/  下会出现一些监听的文件,如下:

[[email protected] ~]# ll /db/oracle11g/product/11.2.0/db/network/admin/

总用量 16

-rw-r--r--. 1 oracle oinstall  536 4月   7 15:46 listener.ora

drwxr-xr-x. 2 oracle oinstall 4096 4月   7 11:03 samples

-rw-r--r--. 1 oracle oinstall  187 5月   7 2007 shrept.lst

-rw-r--r--. 1 oracle oinstall  213 4月   7 15:37 sqlnet.ora

8. 静默安装数据库实例 (在oracle 用户安装)

在这里需要配置静默安装数据库响应的模板文件,也是在安装软件包中解压在database下的response 目录下的 dbca_rsp 文件,具体配置如下:

[[email protected] ~]# egrep -v "#|^$"  /vol/ora11g/dbca_benguo.rsp

[GENERAL]

RESPONSEFILE_VERSION = "11.2.0"

OPERATION_TYPE = "createDatabase"

[CREATEDATABASE]

GDBNAME = "benguo"           #全局数据库的名字

SID = "benguo"                 # 数据库实例,根据上面的你写的SID 一样的,随便写。

TEMPLATENAME = "benguo.dbc"   #  这个可以是默认的模板,不会写默认的,最好是默认,

这里是我们dba 写的,所以就用上了。

SYSPASSWORD = "[email protected]"

SYSTEMPASSWORD = "[email protected]"

SYSMANPASSWORD = "[email protected]"

DBSNMPPASSWORD = "[email protected]"   # 前面这四个都可以不管,默认就行

CHARACTERSET = "ZHS16GBK"         #编码

NATIONALCHARACTERSET=“UTF8”   #编码

[createTemplateFromDB]

SOURCEDB = "myhost:1521:orcl"

SYSDBAUSERNAME = "system"

TEMPLATENAME = "My Copy TEMPLATE"

[createCloneTemplate]

SOURCEDB = "orcl"

TEMPLATENAME = "My Clone TEMPLATE"

[DELETEDATABASE]

SOURCEDB = "orcl"

[generateScripts]

TEMPLATENAME = "New Database"

GDBNAME = "orcl11.us.oracle.com"

[CONFIGUREDATABASE]

[ADDINSTANCE]

DB_UNIQUE_NAME = "orcl11g.us.oracle.com"

NODELIST=

SYSDBAUSERNAME = "sys"

[DELETEINSTANCE]

DB_UNIQUE_NAME = "orcl11g.us.oracle.com"

INSTANCENAME = "orcl11g"

SYSDBAUSERNAME = "sys"

配置完模板之后,进行静默安装数据库

$ORACLE_HOME/bin/dbca -silent -responseFile /db/soft/database/response/dbca.rsp

等到100%安装完成之后就是安装了。

9. 安装数据库的实例之后,进行配置数据库实例启动以及监听文件。

1)修改监听文件,添加命令如下:

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = benguo)

(ORACLE_HOME = /db/oracle11g/product/11.2.0/db)

(SID_NAME = benguo)

)

)

实验如下图:

2)修改实例启动配置文件,如下图,将”N”改成”Y”就好了。这样就可以通过dbstart 启动实例,监听器。

Su - oracle

10 。安装到这一步的时候就算是安装成功了, 可以进行netstat 进行查看oracle 的监听程序是否已经启动, 默认情况下,安装完实例就是启动的状态。

或者是进入数据库内进行查看数据库的状态:

Su - oracle

Sqlplus / as sysdba

Select status from v$instance;

如是open的状态即是正常启动的,如图:

在这里你的数据库就是正常的安装了,并且还正常可以运行。

三  数据库的一些功能的使用。

1. 设置数据库自启动,在/etc/rc.d/init.d/oracle 下

#!/bin/bash

#

# oracle       Starts Oracle Database Server

#

#

# chkconfig: 345 80 20

# description: Oracle Database Server

### BEGIN INIT INFO

# Provides: $oracle

### END INIT INFO

case "$1" in

start)

echo -n "Starting Oracle Databases: "

echo "----------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle

echo "----------------------------------------------------" >> /var/log/oracle

su - oracle -c dbstart >> /var/log/oracle

echo "Done."

echo -n "Starting Oracle Listeners: "

su - oracle -c "lsnrctl start" >> /var/log/oracle

echo "Done."

echo ""

echo "----------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Finished." >> /var/log/oracle

echo "----------------------------------------------------" >> /var/log/oracle

touch /var/lock/subsys/oracle

;;

stop)

echo -n "Shutting Down Oracle Listeners: "

echo "----------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Shutting Down Oracle Databases as part of system down." >> /var/log/oracle

echo "----------------------------------------------------" >> /var/log/oracle

su - oracle -c "lsnrctl stop" >> /var/log/oracle

echo "Done."

rm -f /var/lock/subsys/oracle

echo -n "Shutting Down Oracle Databases: "

su - oracle -c dbshut >> /var/log/oracle

echo "Done."

echo ""

echo "----------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Finished." >> /var/log/oracle

echo "----------------------------------------------------" >> /var/log/oracle

;;

restart)

echo -n "Restarting Oracle Databases: "

echo "----------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Restarting Oracle Databases as part of system up." >> /var/log/oracle

echo "----------------------------------------------------" >> /var/log/oracle

su - oracle -c dbshut >> /var/log/oracle

su - oracle -c dbstart >> /var/log/oracle

echo "Done."

echo -n "Restarting Oracle Listeners: "

su - oracle -c "lsnrctl stop" >> /var/log/oracle

su - oracle -c "lsnrctl start" >> /var/log/oracle

echo "Done."

echo ""

echo "----------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Finished." >> /var/log/oracle

echo "----------------------------------------------------" >> /var/log/oracle

touch /var/lock/subsys/oracle

;;

*)

echo "Usage: oracle {start|stop|restart}"

exit 1

Esac

Chmod 755 /etc/rc.d/init.d/oracle

ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc2.d/S99oracle

ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc3.d/S99oracle

ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc5.d/S99oracle

ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc0.d/K01oracle

ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc6.d/K01oracle

2. 安装数据库之后, 需要创建表空间才能正能使用。

注意: 在创建表空间之前,首先创建表空间名字存放的数据文件目录,如下:

Mkdir -p /db/oracle11g/oradata/zebra

并设置权限,如下:

Chown orale:oinstall  /db/oracle11g/oradata/zebra

实验如下图:

创建表空间

create  tablespace tyfo datafile ‘/db/oracle11g/oradata/tyfo/tyfo01.dbf‘ size 500m autoextend on next 500m maxsize 31g logging online permanent extent management local;

创建用户

create user zebra identified by zebra default tablespace zebra temporary tablespace temp;

设置权限

grant dba,connect, create session, resource to zebra;

创建备份文件,设置权限

CREATE DIRECTORY back AS ‘/home/oracle‘;

GRANT READ,WRITE ON DIRECTORY back to zebra;

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

alter system set audit_trail=false scope=spfile;

shutdown abort;

startup;

今天就写到这为止, 有新的需求在再写。

时间: 2024-12-11 18:28:51

Linux 命令符下安装Oracle的相关文章

Linux 6.3下安装Oracle Enterprise Cloud Control 12c

Oracle enterprise cloud control 12c的安装是一个比较复杂的过程,因为他需要依赖于Oracel database以及Oracle Weblogic.现在Oracle已经整合了Weblogic到cloud control安装包中还是省事很多,本文是基于Oracle Linux 6.3上安装Oracle enterprise cloud control 12c,以下是具体描述. 1.安装前的准备a) os安装参考   Virtual Box下安装Oracle Linu

Oracle Linux 6.3下安装Oracle 11g R2(11.2.0.3)

本文主要描述了在Oracle Linux 6.3下安装Oracle 11gR2(11.2.0.3).从Oracle 11g开始,Oracle官方网站不再提供其Patch的下载链接,需要使用Meatlink账户才可以进行下载.童鞋们不要着急,没有Metalink账户的也可以自己百度一下,网上有很多下载链接,迅雷就可以搞定了.Oracle 11.2.0.3整合为7个zip压缩包,如果仅仅是安装Oracle Database,下载1至2.zip包即可.下面是其安装步骤. 一.准备安装环境1.安装rpm

virtualbox+oracle linux 6.3 下安装oracle 11.2.3.0

闲来无事,今天在虚拟机下安装了oracle11g的单实例,特此记录分享下! 用到的软件:VirtualBox-4.0.8-71778-Win.exe     oracle linux 6.3(V33411-01.iso) oracle11g(p10404530_112030_Linux-x86-64_1of7.zip, p10404530_112030_Linux-x86-64_2of7.zip) 一.安装linux. 虚拟机配置的是:1g内存,30g硬盘,一块网卡(host-only模式) 检

Linux CentOS6.5下安装Oracle ASM

Oracle版本:Oracle 11g 1.确定自己的Linux版本: [[email protected] ~]#uname -r 2.6.32-431.el6.x86_64 2.6.32-431.el6.x86_64,即Linux 6 2.安装Oracleasm Kernel: [[email protected] ~]# yum install kmod-oracleasm 3.下载两个安装包:oracleasmlib和oracleasm-support [[email protected

Linux下安装Oracle 11g

1.环境 VMware 10 CentOS-6.3-x86_64 Oracle:linux.x64_11gR2 硬件上我分了2.5G的内存,30G硬盘(应该不需要这么大)2个U 2. 2.1 先把系统装上,root登陆之后需要改掉系统设置: setup命令关掉防火墙 vi /etc/selinux/config 把SELINUX的值改成disabled,然后wq存盘退出 2.2 查阅了我下载的11G的文档里面linux下Oracle需要的软件(E11882_01,貌似解压了有2.22G)列表如下

linux下安装Oracle时交换空间不足的解决方法

摘:linux下安装Oracle时交换空间不足的解决方法 linux上安装Oracle时交换空间不足的解决办法 增加交换空间有两种方法: 严格的说,在系统安装完后只有一种方法可以增加swap,那就是本文的第二种方法, 至于第一种方法应该是安装系统时设置交换区. 1.使用分区: 在安装OS时划分出专门的交换分区,空间大小要事先规划好,启动系统时自动进行mount. 这种方法只能在安装OS时设定,一旦设定好不容易改变,除非重装系统. 2.使用swapfile:(或者是整个空闲分区) 新建临时swap

Linux下安装Oracle的过程和涉及的知识点-系列5

12.命令行启动 由于我是用VM进行安装的,所以首先需要修改默认启动为命令行的方式. 使用root登录,编辑/etc/inittab文件,将d:5:initdefault:改为d:3:initdefault: 知识点6:Linux的运行级别 # 0 - 停机(千万不能把initdefault 设置为0) # 1 - 单用户模式 # s init s = init 1 # 2 - 多用户,没有 NFS # 3 - 完全多用户模式(标准的运行级) # 4 - 没有用到 # 5 - X11 多用户图形

Ubuntu Linux下安装Oracle JDK

Ubuntu Linux下安装Oracle JDK Dennis Hu 2014-4-22 说明:因为非常多系统不支持使用OpenJDK,因此在ubuntu下会须要安装Oracle JDK.而Oracle JDK的安装貌似没有提供apt方式,因此安装Oracle JDK的方式相对麻烦一些,我常常安装,为了方便别人同一时候方便自己查看,把它记下来. 第一步:区分32位还是64位操作系统 先确定你的ubuntu linux是32位还是64位的,方法非常多,这里介绍一种就可以. $uname -a 第

Linux下安装oracle 11g数据库(一)

Linux下安装oracle 11g数据库(一) 1 内存的要求 最低配置: 1 GB of RAM 推荐配置: 2 GB of RAM or more 确定内存大小,输入下面的命令:grep MemTotal /proc/meminfo 确定系统版本,输入下面的命令:uname –m 确定交换空间的大小,输入下面的命令:grep SwapTotal /proc/meminfo 确定可用的内存和交换空间,输入下面的命令:free 2 磁盘空间要求 数据库软件 数据库软件需要的大小 企业版 4.7