前面已经配置好基础环境,本章内容讲述如何进行静默安装!

1、安装 Oracle 11g 依赖包
[root@oracle11g ~]# yum install –y gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel
2、编辑静默安装响应文件

复制安装文件夹response到当前oracle用户的家目录下:

[root@oracle11g ~]# cp -R /u01/database/response/ .
[root@oracle11g u01]# cd response/
[root@oracle11g response]# vim db_install.rsp

需要设置的选项如下:

oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=CentOS
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/oracle/product/11.2.0
ORACLE_BASE=/u01/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
3、根据响应文件静默安装 Oracle 11g
[root@oracle11g response]# cd /u01/database/
[root@oracle11g database]# ./runInstaller -silent -responseFile /u01/oracle/response/db_install.rsp -ignorePrereq

如果执行以上命令出错,会提示有参数格式,按照提示参数格式修改修改即可,一般是由于word中的字体、符号格式复制到客户端命令行后不一致引起,修改即可。

楼主遇到了交换空间不足的问题:

解决方案如下(在root用户下执行):

[root@myYUn /]# free

[root@myYUn /]# dd if=/dev/zero of=swapfile bs=1024 count=500000

500000+0 records in

500000+0 records out

512000000 bytes (512 MB) copied, 1.67013 s, 307 MB/s

[root@myYUn /]# mkswap swapfile

Setting up swapspace version 1, size = 499996 KiB

no label, UUID=c5e355eb-e73e-4aa0-b882-cb6d1f88e6bc

[root@myYUn /]# swapon swapfile

swapon: /swapfile: insecure permissions 0644, 0600 suggested.

[root@myYUn /]# free

开始Oracle在后台静默安装。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现Successfully Setup Software,则安装程序已经停止了。

可以在以下位置找到本次安装会话的日志:/data/oracle/inventory/logs/installActions2018-05-13_02-14-55PM.log

可以切换终端执行top命令查看后台进程一直是在安装的,/data目录也在不断增大,

当出现以下提示时,代表安装成功:

按照要求执行脚本。

打开终端,退出到root身份登录,执行脚本:

[oracle@iZ2f570bi1k56uZ database]$ exit

logout

[root@iZ2f570bi1k56uZ software]# sh /data/oracle/inventory/orainstRoot.sh

Changing permissions of /data/oracle/inventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

Changing groupname of /data/oracle/inventory to oinstall.

The execution of the script is complete.

[root@iZ2f570bi1k56uZ software]# sh /data/oracle/product/11.2.0/root.sh

Check /data/oracle/product/11.2.0/install/root_iZ2f570bi1k56uZ_2018-05-13_14-25-04.log for the output of root script

13、以静默方式配置监听

重新使用oracle用户登录:

[root@myYUn software]# su -l oracle

Last login: Sun May 13 14:09:10 CST 2018 on pts/3

[oracle@myYUn ~]$ netca /silent /responseFile /home/oracle/response/netca.rsp

注意此处,必须使用/silent /responseFile格式,而不是-silent -responseFile,因为是静默安装。

成功运行后,在/data/oracle/product/11.2.0/network/admin中生成listener.ora和sqlnet.ora

通过netstat命令可以查看1521端口正在监听。

Yum安装netstat软件,软件包是在net-tools中。

[root@myYUn /]# yum install net-tools
![]

14、以静默方式建立新库,同时也建立一个对应的实例

[oracle@myYUn ~]$ vim /home/oracle/response/dbca.rsp

修改文件中以下参数:

[GENERAL]

# oracle版本,不能更改
RESPONSEFILE_VERSION = "11.2.0"

# Description   : Type of operation
OPERATION_TYPE = "createDatabase"

[CREATEDATABASE]

# Description   : Global database name of the database
# 全局数据库的名字=SID+主机域名
# 第三方工具链接数据库的时候使用的service名称
GDBNAME = "orcl.test"

# Description   : System identifier (SID) of the database
# 对应的实例名字
SID = "orcl"

# Description   : Name of the template
# 建库用的模板文件
TEMPLATENAME = "General_Purpose.dbc"

# Description   : Password for SYS user
# SYS管理员密码
SYSPASSWORD = "123456"

# Description   : Password for SYSTEM user
# SYSTEM管理员密码
SYSTEMPASSWORD = "123456"

# Description   : Password for SYSMAN user
# SYSMAN管理员密码
SYSMANPASSWORD = "123456"

# Description   : Password for DBSNMP user
# DBSNMP管理员密码
DBSNMPPASSWORD = "123456"

# Description   : Location of the data file's
# 数据文件存放目录
DATAFILEDESTINATION =/data/oracle/oradata

# Description   : Location of the data file's
# 恢复数据存放目录
RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area

# Description   : Character set of the database
# 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
# (CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8")
CHARACTERSET = "ZHS16GBK"

# Description   : total memory in MB to allocate to Oracle
# oracle内存1638MB,物理内存2G*80%
TOTALMEMORY = "1638"

进行静默配置:

[oracle@myYUn ~]$ dbca -silent -responseFile /home/oracle/response/dbca.rsp

建库后进行实例进程检查:

[oracle@myYUn ~]$ ps -ef | grep ora_ | grep -v grep

查看监听状态:

[oracle@myYUn ~]$ lsnrctl status

数据库创建完成。

有关详细信息, 请查看以下位置的日志文件: /data/oracle/cfgtoollogs/dbca/orcl/orcl.log。

数据库信息:

全局数据库名:orcl.test

系统标识符 (SID):orcl

登录查看实例状态:

[oracle@myYUn ~]$ sqlplus / as sysdba

SQL> select status from v$instance;

【linux 成功安装oracle后,为其创建一个登录账户】

如果报错:【ORA-12162: TNS:net service name is incorrectly specified】

错误原因:【这个错误是因为ORACLE_SID变量没有传进去造成的。】

解决方法:

1.查看当前ORACLE_SID

[oracle@iZ2f570bi1k56uZ ~]$ echo $ORACLE_SID

orcl

2.修改ORACLE_SID和/home/oracle/response/dbca.rsp中的一样

[oracle@iZ2f570bi1k56uZ ~]$ export ORACLE_SID=orcl

3.如果遇到ORA-12162: TNS:net service name is incorrectly specified.错误

参考文章:【ORA-12162: TNS:net service name is incorrectly specified.】

4.如果依然不能登陆,尝试修改orcle文件夹的权限

【如果本地连接时,出现监听错误,参考Linux中安装Oracle11g后出现监听的问题及解决办法】

15、命令行模式静默删除

1、首先查看dbca的帮助信息

dbca -help

修改/home/oracle/response/dbca.rsp文件里以下几个参数,下面三个参数根据建库实际情况进行修改:

OPERATION_TYPE = “deleteDatabase”

SOURCEDB = “orcl”

SYSDBAUSERNAME = “sys”

SYSDBAPASSWORD = “123456”

然后运行:

dbca -silent -responseFile /home/oracle/response/dbca.rsp

各参数含义如下:

-silent 表示以静默方式删除

-responseFile 表示使用哪个响应文件,必需使用绝对路径

RESPONSEFILE_VERSION 响应文件模板的版本,该参数不要更改

OPERATION_TYPE 安装类型,该参数不要更改

SOURCEDB 数据库名,不是全局数据库名,即不包含db_domain

很简单数据库卸载完成了,请注意,只是数据库卸载完了,数据库软件还是在的。

2、使用DBCA卸载数据库

dbca -silent -delete Database -responseFile dbca.rsp

a.选项-silent表示静默安装,免安装交互,大部分安装信息也不输出

b.选项-responseFile指定应答文件,要求用绝对路径

参考资料:

https://www.cnblogs.com/mmzs/p/9033112.html#_label0_6
https://blog.csdn.net/qq_28643817/article/details/85295831

作者:Jeebiz  创建时间:2023-01-11 09:48
最后编辑:Jeebiz  更新时间:2024-08-22 10:22