Oracle静默安装搭建
环境配置
系统:CentOS7.6
cpu:2*4=8核
硬盘:120G
内存:8G
一,配置
1,关闭防火墙及selinux
[root@localhost ~]# iptables -F [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# systemctl disable firewalld [root@localhost ~]# systemctl status firewalld [root@localhost ~]# setenforce 0 [root@localhost ~]# sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
2,配置yum源
在下载163源的时候如果有报错可能是因为没有配置dns按照下面方法配置一下即可
[root@localhost yum.repos.d]# vi /etc/resolv.conf [root@localhost yum.repos.d]# cat /etc/resolv.conf nameserver 8.8.8.8
配置yum源
[root@localhost ~]# cp /etc/yum.conf /etc/yum.confbak`date +%F_%T` [root@localhost ~]# echo 'exclude=kernel* exclude=centos-release*' >> /etc/yum.conf && grep exclude /etc/yum.conf && mkdir -p /tmp/repobak && rm -rf /tmp/repobak/* && cd /etc/yum.repos.d/ && mv -f * /tmp/repobak/ > /dev/null 2>&1 [root@localhost ~]# curl -o /etc/yum.repos.d/CentOS6-Base-163.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo [root@localhost ~]# mv -f /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup > /dev/null 2>&1 [root@localhost ~]# mv -f /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup > /dev/null 2>&1 [root@localhost ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo [root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM* && yum clean all && yum makecache && yum groupinfo 'Development tools' && yum groupinstall -y 'Development tools' && yum install wget vim man rsync openssh-clients openssl -y && ls -l && cd ~
3,配置主机名
[root@localhost ~]# vim /etc/hosts [root@localhost ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.66.61 db [root@localhost ~]# reboot
4,安装依赖包
[root@db ~]# yum install binutils compat-libstdc* elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel libgomp make numactl numactl-devel sysstat -y
[root@db ~]# yum install unixODBC unixODBC-devel -y
pdksh需要使用rpm安装,先把包放到/tmp目录下
[root@db tmp]# ll total 172 -rw-r--r-- 1 root root 173189 Jun 24 2013 pdksh-5.2.14-1.i386.rpm [root@db tmp]# rpm -ivh pdksh-5.2.14-1.i386.rpm --nodeps Preparing... ################################# [100%] file /usr/bin/ksh conflicts between attempted installs of pdksh-5.2.14-1.i386 and pdksh-5.2.14-1.i386
5,配置内核参数
[root@db ~]# cp /etc/sysctl.conf /etc/sysctl.conf.bak [root@db ~]# echo 'net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 8589934591 kernel.shmall = 2097152 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' > /etc/sysctl.conf 执行/sbin/sysctl -p使之生效 如果有下面的报错 sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: No such file or directory sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-arptables: No such file or directory 执行下面命令,没有报错忽略 [root@db ~]# modprobe br_netfilter 然后执行 [root@db ~]# /sbin/sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 8589934591 kernel.shmall = 2097152 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
参数说明:
1 kernel.shmmax: 2 64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取128*1024*1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。128GB对应的是137438953471。 3 kernel.shmall: 4 该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页)。 5 即16GB对应4194304,8GB对应2097152,128GB对应33554432 6 net.ipv4.ip_forward = 0 #不变 7 net.ipv4.conf.default.rp_filter = 1 #不变 8 net.ipv4.conf.default.accept_source_route = 0 #不变 9 kernel.sysrq = 0 #不变 10 kernel.core_uses_pid = 1 #不变 11 net.ipv4.tcp_syncookies = 1 #不变 12 net.bridge.bridge-nf-call-ip6tables = 0 #不变 13 net.bridge.bridge-nf-call-iptables = 0 #不变 14 net.bridge.bridge-nf-call-arptables = 0 #不变 15 kernel.msgmnb = 65536 #不变 16 kernel.msgmax = 65536 #不变 17 kernel.shmmax = 4294967295 #变 note:4*1024*1024*1024-1=4294967295 共享内存段的最大尺寸,需要小于SGA MAX SIZE,大小为shmall*页大小(4K); 18 kernel.shmall = 2097152 #变note:4*1024*1024/4K*2=2097152,两倍, 1倍实际不够,控制共享内存页数 19 fs.aio-max-nr = 1048576 #新增 异步I/O请求数目 20 fs.file-max = 6815744 #新增 一个进程可以打开的文件句柄的最大数量 21 kernel.shmmni = 4096 #新增 共享内存段的最大数量,ipcs -sa 22 kernel.sem = 250 32000 100 128 #新增 设置的信号量 23 net.ipv4.ip_local_port_range = 9000 65500 #新增 专用服务器模式下与用户进程通信时分配给用户的端口区间 24 net.core.rmem_default = 262144 #新增 默认接收缓冲区大小 25 net.core.rmem_max = 4194304 #新增 接收缓冲区最大值 26 net.core.wmem_default = 262144 #新增 默认发送缓冲区大小 27 net.core.wmem_max = 1048586 #新增 默认发送缓冲区大小
6,配置资源限制
[root@db ~]# cp /etc/security/limits.conf /etc/security/limits.conf.bak [root@db ~]# sed -i.bak 's/1024/102400/' /etc/security/limits.d/20-nproc.conf [root@db ~]# ulimit -u 102400 [root@db ~]# echo 'session required pam_limits.so' >> /etc/pam.d/login [root@db ~]# echo ' oracle soft nproc 16000 oracle hard nproc 16384 oracle soft nofile 60000 oracle hard nofile 65536 oracle soft stack 20480 oracle hard stack 20480 anaconda-ks.cfg soft memlock unlimited anaconda-ks.cfg hard memlock unlimited' >> /etc/security/limits.conf
参数说明:
1 oracle soft nproc 16000 #oracle要求最小为2047 2 oracle hard nproc 16384 #--进程的最大数目,对oracle用户生效 3 oracle soft nofile 60000 #oracle要求最小为1024 4 oracle hard nofile 65536 #--打开文件的最大数目,对oracle用户生效 5 oracle soft stack 10240 6 oracle hard stack 10240 7 * soft memlock unlimited 8 * hard memlock unlimited #--最大锁定内存地址空间,对所有用户生效
7,创建oracle用户和组,并赋予密码
[root@db ~]# groupadd oinstall [root@db ~]# groupadd dba [root@db ~]# useradd -g oinstall -G dba oracle [root@db ~]# id oracle uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba) [root@db ~]# echo "oracle" | passwd --stdin oracle Changing password for user oracle. passwd: all authentication tokens updated successfully.
8,创建安装oracle数据库所需要的目录并赋予权限
[root@db ~]# mkdir -p /data/app/oracle [root@db ~]# mkdir -p /data/app/oraInventory [root@db ~]# chown -R oracle:oinstall /data/ [root@db ~]# chmod -R 775 /data/
9,配置root和oracle用户的环境变量
root用户:
[root@db ~]# cat >> /root/.bash_profile << EOF export ORACLE_BASE=/data/app/oracle export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0.4/db_1 export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib:$GGS_HOME export TNS_ADMIN=\$ORACLE_HOME/network/admin/ EOF [root@db ~]# source /root/.bash_profile && echo $ORACLE_HOME /data/app/oracle/product/11.2.0.4/db_1
oracle用户:
[root@db ~]# su - oracle [oracle@db ~]$ cat >> /home/oracle/.bash_profile << EOF export ORACLE_BASE=/data/app/oracle export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0.4/db_1 export ORACLE_SID=orcl export ORALCE_OWNER=oracle PATH=\$PATH:\$HOME/bin:\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$ORACLE_HOME/jdk/bin:/usr/bin:/usr/sbin:/sbin:/bin:/usr/local/bin:/usr/local/sbin export PATH export LANG="en_US.UTF-8" export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib:$GGS_HOME alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' alias scp='scp -o StrictHostKeyChecking=no' alias ssh='ssh -o StrictHostKeyChecking=no' EOF [oracle@db ~]$ source /home/oracle/.bash_profile && echo $ORACLE_HOME && echo $ORACLE_BASE && env | grep ORA
/data/app/oracle/product/11.2.0.4/db_1 /data/app/oracle ORALCE_OWNER=oracle ORACLE_SID=orcl ORACLE_BASE=/data/app/oracle ORACLE_HOME=/data/app/oracle/product/11.2.0.4/db_1
10,上传oracle数据库安装包和rlwrap软件包并解压
oracle用户上传,上传到/tmp下
[oracle@db tmp]$ unzip p13390677_112040_Linux-x86-64_1of7.zip && \ unzip p13390677_112040_Linux-x86-64_2of7.zip && \ chown -R oracle:oinstall /tmp/database/ && \ chmod -R 775 /tmp/database/ && \ cd /tmp/database && \ ll 。。。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。。。 total 44 drwxrwxr-x 4 oracle oinstall 248 Aug 27 2013 install -rwxrwxr-x 1 oracle oinstall 30016 Aug 27 2013 readme.html drwxrwxr-x 2 oracle oinstall 61 Aug 27 2013 response drwxrwxr-x 2 oracle oinstall 34 Aug 27 2013 rpm -rwxrwxr-x 1 oracle oinstall 3267 Aug 27 2013 runInstaller drwxrwxr-x 2 oracle oinstall 29 Aug 27 2013 sshsetup drwxrwxr-x 14 oracle oinstall 4096 Aug 27 2013 stage -rwxrwxr-x 1 oracle oinstall 500 Aug 27 2013 welcome.html
root用户安装rlwrap
[root@db tmp]# yum -y install readline* && \ tar -zxvf rlwrap-0.42.tar.gz && \ cd rlwrap-0.42 && \ ./configure && \ make && make install
11,配置配置db_install.rsp文件
安装包解压后在/database/response目录下有三个rsp文件,用来作为静默安装时的应答文件
[root@db ~]# su - oracle Last login: Mon Jun 15 03:06:50 EDT 2020 on pts/0 [oracle@db ~]$ cd /tmp/database/response/ [oracle@db response]$ ls dbca.rsp db_install.rsp netca.rsp [oracle@db response]$ cp db_install.rsp db_install.rsp.bak [oracle@db response]$ ls dbca.rsp db_install.rsp db_install.rsp.bak netca.rsp
SID为orcl,ORACLE_HOSTNAME=db(主机名)
[oracle@db response]$ cat > /tmp/database/response/db_install.rsp << EOF oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=db UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/data/app/oraInventory SELECTED_LANGUAGES=en,zh_CN,th,zh_TW ORACLE_HOME=/data/app/oracle/product/11.2.0.4/db_1 ORACLE_BASE=/data/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.EEOptionsSelection=true oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0 oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oinstall oracle.install.db.CLUSTER_NODES= oracle.install.db.isRACOneInstall= oracle.install.db.racOneServiceName= oracle.install.db.config.starterdb.type=GENERAL_PURPOSE oracle.install.db.config.starterdb.globalDBName=orcl oracle.install.db.config.starterdb.SID=orcl oracle.install.db.config.starterdb.characterSet=AL32UTF8 oracle.install.db.config.starterdb.memoryOption=true oracle.install.db.config.starterdb.memoryLimit= oracle.install.db.config.starterdb.installExampleSchemas=false oracle.install.db.config.starterdb.enableSecuritySettings=true oracle.install.db.config.starterdb.password.ALL=oracle oracle.install.db.config.starterdb.password.SYS=oracle oracle.install.db.config.starterdb.password.SYSTEM=oracle oracle.install.db.config.starterdb.password.SYSMAN=oracle 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.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= DECLINE_SECURITY_UPDATES=true PROXY_HOST= PROXY_PORT= PROXY_USER= PROXY_PWD= PROXY_REALM= COLLECTOR_SUPPORTHUB_URL= oracle.installer.autoupdates.option=SKIP_UPDATES oracle.installer.autoupdates.downloadUpdatesLoc= AUTOUPDATES_MYORACLESUPPORT_USERNAME= AUTOUPDATES_MYORACLESUPPORT_PASSWORD= EOF
参数说明:
1 oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0//标注响应文件版本 2 oracle.install.option=INSTALL_DB_SWONLY//.只装数据库软件 3 ORACLE_HOSTNAME=主机名 4 UNIX_GROUP_NAME=oinstall//指定oracle inventory目录的所有者 5 INVENTORY_LOCATION=/u01/app/oraInventory指定产品清单oracle inventory目录的路径 6 SELECTED_LANGUAGES=en,zh_CN//指定语言 7 ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home1//设置ORALCE_HOME的路径 8 ORACLE_BASE=/u01/app/oracle//指定ORALCE_BASE的路径 9 oracle.install.db.InstallEdition=EE//安装数据库软件的版本,企业版 10 oracle.install.db.EEOptionsSelection=true//手动指定企业安装组件 选true对安装大小影响不大所以选true 11 oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0//如果上面选true,这些就是手动指定的组件 12 oracle.install.db.DBA_GROUP=dba//指定拥有DBA用户组,通常会是dba组 13 oracle.install.db.OPER_GROUP=oper//指定oper用户组 14 oracle.install.db.CLUSTER_NODES=//指定所有的节点 15 oracle.install.db.isRACOneInstall=false//是否是RACO方式安装 16 oracle.install.db.racOneServiceName= 17 oracle.install.db.config.starterdb.type=//选择数据库的用途,一般用途/事物处理,数据仓库 18 oracle.install.db.config.starterdb.globalDBName=指定GlobalName 19 oracle.install.db.config.starterdb.SID=//你指定的SID 20 oracle.install.db.config.starterdb.characterSet=AL32UTF8//设置数据库编码 21 oracle.install.db.config.starterdb.memoryOption=true//11g的新特性自动内存管理,也就是SGA_TARGET和PAG_AGGREGATE_TARGET都,不用设置了,Oracle会自动调配两部分大小,这个要选true 22 oracle.install.db.config.starterdb.memoryLimit=上面是true的情况下,指定Oracle自动管理内存的大小,这里不用填或者填写物理内存的40%左右等等自定义; 23 oracle.install.db.config.starterdb.installExampleSchemas=false是否载入模板示例 24 oracle.install.db.config.starterdb.enableSecuritySettings=true 是否启用安全设置 25 oracle.install.db.config.starterdb.password.ALL=123456所有用户名的密码 26 oracle.install.db.config.starterdb.password.SYS= 27 oracle.install.db.config.starterdb.password.SYSTEM= 28 oracle.install.db.config.starterdb.password.SYSMAN= 29 oracle.install.db.config.starterdb.password.DBSNMP= 30 oracle.install.db.config.starterdb.control=DB_CONTROL数据库本地管理工具DB_CONTROL,远程集中管理工具GRID_CONTROL 31 oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=GRID_CONTROL需要设定grid control的远程路径URL 32 oracle.install.db.config.starterdb.automatedBackup.enable=false设置自动备份 33 oracle.install.db.config.starterdb.automatedBackup.osuid=.自动备份会启动一个job,指定启动JOB的系统用户ID 34 oracle.install.db.config.starterdb.automatedBackup.ospwd=自动备份会开启一个job,需要指定OSUser的密码 35 oracle.install.db.config.starterdb.storageType=要求指定使用的文件系统存放数据库文件还是ASM 36 oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=使用文件系统存放数据库文件才需要指定数据文件、控制文件、Redo log的存放目录 37 oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=使用文件系统存放数据库文件才需要指定备份恢复目录 38 oracle.install.db.config.asm.diskGroup=使用ASM存放数据库文件才需要指定存放的磁盘组 39 oracle.install.db.config.asm.ASMSNMPPassword=使用ASM存放数据库文件才需要指定ASM实例密码 40 MYORACLESUPPORT_USERNAME=指定metalink账户用户名 41 MYORACLESUPPORT_PASSWORD=指定metalink账户密码 42 SECURITY_UPDATES_VIA_MYORACLESUPPORT=用户是否可以设置metalink密码 43 DECLINE_SECURITY_UPDATES=true是否设置安全更新, 44 PROXY_HOST=代理服务器名 45 PROXY_PORT=代理服务器端口 46 PROXY_USER=代理服务器用户名 47 PROXY_PWD=代理服务器密码 48 PROXY_REALM= 49 COLLECTOR_SUPPORTHUB_URL= 50 oracle.installer.autoupdates.option=SKIP_UPDATES 自动更新 51 oracle.installer.autoupdates.downloadUpdatesLoc=自动更新下载目录 52 AUTOUPDATES_MYORACLESUPPORT_USERNAME=自动更新的用户名 53 AUTOUPDATES_MYORACLESUPPORT_PASSWORD=自动更新的密码
12,使用静默方式安装oracle,执行db_install.rsp
[oracle@db response]$ unset LANG LANGUAGE;unset DISPLAY; [oracle@db response]$ /tmp/database/runInstaller -silent -force -ignoreSysPrereqs -ignorePrereq -showprogress -responseFile /tmp/database/response/db_install.rsp .................................................. 100% Done. Execute Root Scripts successful. Successfully Setup Software.
13,执行脚本
root用户:
[oracle@db response]$ su - root Password: Last login: Mon Jun 15 02:50:24 EDT 2020 from 192.168.45.9 on pts/0 [root@db ~]# sh /data/app/oraInventory/orainstRoot.sh Changing permissions of /data/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /data/app/oraInventory to oinstall. The execution of the script is complete. [root@db ~]# [root@db ~]# sh /data/app/oracle/product/11.2.0.4/db_1/root.sh Check /data/app/oracle/product/11.2.0.4/db_1/install/root_db_2020-06-15_03-44-09.log for the output of root script
14, 配置静态监听
oracle用户:
[root@db ~]# su - oracle Last login: Mon Jun 15 03:31:45 EDT 2020 on pts/0 [oracle@db ~]$ cd $ORACLE_HOME/network/admin [oracle@db admin]$ ls samples shrept.lst [oracle@db admin]$ echo ' SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /data/app/oracle/product/11.2.0.4/db_1) (SID_NAME = orcl) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = db)(PORT = 1521)) ) ) ADR_BASE_LISTENER = /data/app/oracle' > listener.ora
15,配置网络服务名文件
[oracle@db admin]$ echo ' ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = db)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) (SERVER = DEDICATED) ) ) ' > tnsnames.ora
启动监听程序
[oracle@db admin]$ lsnrctl start [oracle@db admin]$ tnsping orcl 。。。。。。。。。。。。。。。。。。。 Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = db)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl) (SERVER = DEDICATED))) OK (0 msec)
查看监听程序是否启动
[oracle@db admin]$ ps -ef | grep tnslsnr oracle 20763 1 0 03:49 ? 00:00:00 /data/app/oracle/product/11.2.0.4/db_1/bintnslsnr LISTENER -inherit oracle 20778 20739 0 03:50 pts/0 00:00:00 grep --color=auto tnslsnr
16,创建实例,配置响应文件dbca.rsp
[oracle@db ~]$ mkdir -p /data/app/oracle/oradata [oracle@db ~]$ mkdir -p /data/app/oracle/flash_recovery_area [oracle@db ~]$ cd /tmp/database/response/ [oracle@db response]$ cp dbca.rsp dbca.rsp.bak [oracle@db response]$ cat > /tmp/database/response/dbca.rsp << EOF [GENERAL] RESPONSEFILE_VERSION = "11.2.0" OPERATION_TYPE = "createDatabase" [CREATEDATABASE] GDBNAME = "orcl" SID = "orcl" TEMPLATENAME = "General_Purpose.dbc" SYSPASSWORD = "oracle" SYSTEMPASSWORD = "oracle" DATAFILEDESTINATION = /data/app/oracle/oradata RECOVERYAREADESTINATION=/data/app/oracle/flash_recovery_area CHARACTERSET = "AL32UTF8" [CONFIGUREDATABASE] SYSDBAUSERNAME = "sys" EOF
参数说明:
1 RESPONSEFILE_VERSION = "11.2.0" #不能更改 2 OPERATION_TYPE = "createDatabase" #不变 默认即可 3 GDBNAME = "orcl" #数据库的名字,随便怎么改,不影响,自定义 比如"oracle11g.com" 4 SID = "orcl" #对应的实例名字instance_name,随便怎么改,不影响,自定义 比如"oracle11g.com" 5 TEMPLATENAME = "General_Purpose.dbc" #不变 默认即可 建库用的模板文件 6 SYSPASSWORD = "oracle" #SYS管理员密码 自定义 7 SYSTEMPASSWORD = "oracle" #SYSTEM管理员密码 自定义 8 DATAFILEDESTINATION = /data/app/oracle/oradata #数据文件存放目录 可自定义如/data目录但用户和组要是oracle:oinstall即mkdir /data ; chown -R oracle:oinstall /data ; chmod -R 775 /data; 当然此项默认是$ORACLE_BASE/oradata 此项本来是注释掉的,而$ORACLE_BASE/oradata就是/data/app/oracle/oradata,故此项可不用动,即保持注释掉即也可; 9 RECOVERYAREADESTINATION=/data/app/oracle/flash_recovery_area #恢复数据存放目录 闪回区 可自定义 10 CHARACTERSET = "AL32UTF8" #字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚,选AL32UTF8比较合适; 11 NATIONALCHARACTERSET= "AL16UTF16" #最好还是保持默认的"AL16UTF16",这里我选的UTF8可能出现了后面的PLSQL中文乱码; 12 #MEMORYPERCENTAGE = "40" #服务器物理内存分配给oracle的内存比例,这里先不选 13 #TOTALMEMORY = "3500" # //物理内存的60%左右,分配给oracle的总内存3500MB,可自行设定 或者注释不选因为oracle会自行管理; 14 #-----------------------*** End of CREATEDATABASE section ***------------------------ 15 SOURCEDB = "myhost:1521:orcl" #End of CREATEDATABASE sectio后面的很多没有注释掉的选项不用管。
oracle用户执行,使用-responseFile参数后面必须跟绝对路径
[oracle@db response]$ dbca -silent -responseFile /tmp/database/response/dbca.rsp 。。。。。。。。。。。。。。。。。。。 96% complete 100% complete Look at the log file "/data/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.
查看oracle进程
[oracle@db response]$ ps -ef | grep ora_| grep -v grep |wc -l 21 [oracle@db response]$ ps -ef | grep ora_| grep -v grep
把oracle配置文件最后一行改为yes,/etc/oratab
[oracle@db response]$ vim /etc/oratab [oracle@db response]$ cat /etc/oratab orcl:/data/app/oracle/product/11.2.0.4/db_1:Y
=====================================
oracle安装到此搭建完成