Oracle静默安装

摘要

通过ssh登陆到ECS服务器上面,执行一键安装脚本

1
curl https://raw.githubusercontent.com/bwcxyk/shell_script/main/oracle/11.2.0.4/oracle_config.sh | sh

该脚本为本人编写,可查看内容或一键执行安装。

默认安装为/data/oracle,也可以单独执行路径参数 ,如oracle_config.sh /home/oracle这样就安装到你指定的目录下了

脚本内容主要为:

1.安装支持包

2.添加oracle用户及组 (root切换oracle不需要密码,所以未设置密码)

3.修改内核及网络参数

4.添加oracle环境变量

1
2
wget https://raw.githubusercontent.com/bwcxyk/shell_script/main/oracle/11.2.0.4/db_install.rsp
chown oracle.oinstall db_install.rsp

下载后,如果需要,可以修改对应的参数配置

ORACLE_HOSTNAME=oracle #对应主机名 安装路径为 /data/oracle 如果自己修改了自定义路径,可以批量替换里面的/opt/oracle为你实际的路径。

oracle.install.db.config.starterdb.SID=orcl #SID为默认的orcl 也可以根据你的喜好自行修改

oracle.install.db.config.starterdb.memoryLimit=512 #Oracle可用的系统内存。不能超过系统共享内存(/dev/shm),否则会看到如下提示。

SEVERE: [FATAL] [INS-35172] Target database memory (4096MB) exceeds the systems available shared memory ({0}MB). CAUSE: The total available shared memory on the system (1892 MB) was less than the chosen target database memory (4096 MB). ACTION: Enter a value for target database memory that is less than1892 MB.

/dev/shm默认为系统内存的50%

增加/dev/shm可以扩容系统内存,或者编辑/etc/fstab指定挂载大小

1
tmpfs /dev/shm tmpfs defaults,size=4G 0 0

oracle.install.db.config.starterdb.password.ALL #DBA的密码,8位长度+大小写

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/data/oracle/oradata #数据目录,修改为刚才ECS新增的SSD云盘

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/data/oracle/fast_recovery_area #闪回目录,修改为刚才ECS新增的SSD云盘

上传Oracle11.2.0.4的安装包到服务器

p13390677_112040_Linux-x86-64_1of7.zip,p13390677_112040_Linux-x86-64_2of7.zip

安装解压缩软件yum install -y unzip

1
2
unzip p13390677_112040_Linux-x86-64_1of7.zip -d /data
unzip p13390677_112040_Linux-x86-64_2of7.zip -d /data

记得给挂载进来的数据目录授权。

1
chown -R oracle:oinstall /data/database

然后进入解压缩出来的database目录,切换到Oracle用户执行。

1
2
su oracle
./runInstaller -silent -ignoreSysPrereqs -showProgress -responseFile /data/db_install.rsp 

开始命令行安装

安装完后,切换到root 执行配置脚本即可

1
2
/data/oracle/oraInventory/orainstRoot.sh
/data/oracle/product/11.2.0/db_1/root.sh

大致与11G相同

1
curl https://raw.githubusercontent.com/bwcxyk/shell_script/main/oracle/12.2.0.1/oracle_config.sh | sh
1
wget https://raw.githubusercontent.com/bwcxyk/shell_script/main/oracle/12.2.0.1/oracle-12c-ee.rsp
1
2
unzip linuxx64_12201_database.zip -d /data
chown -R oracle:oinstall /data

然后进入解压缩出来的 database目录,切换到Oracle用户执行。

1
2
su oracle
./runInstaller -ignoresysprereqs -ignoreprereq -showProgress -silent -waitForCompletion -responseFile /data/oracle-12c-ee.rsp

开始命令行安装

安装完后,切换到root 执行配置脚本即可

1
2
/data/oracle/oraInventory/orainstRoot.sh
/data/oracle/product/12.2.0/db_1/root.sh
1
netca -silent -responsefile /data/database/response/netca.rsp

一般无需做其他配置,默认即可

查看监听状态

1
lsnrctl status

和11G不一样的地方,这里没有选择INSTALL_DB_AND_CONFIG,所以需要单独执行建库。

使用dbca命令

可以通过dbca.rsp建库

dbca.rsp文件下载

1
wget https://raw.githubusercontent.com/bwcxyk/shell_script/main/oracle/12.2.0.1/dbca.rsp

开始

1
2
lsnrctl start
dbca -silent -createDatabase -responseFile dbca.rsp

也可以通过参数

1
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -responseFile NO_VALUE -characterSet AL32UTF8 -emConfiguration NONE -automaticMemoryManagement false -memoryPercentage 40 -recoveryAreaDestination NONE -databaseType MULTIPURPOSE -pdbAdminPassword oracle -sysPassword oracle -systemPassword oracle

删库

1
dbca -silent -deleteDatabase -sysDBAUserName sys -sysDBAPassword <passwd> -sourceDB <SID>