1 安装centos7系统环境(2核2G40G盘)
使用centos7.2系统,也就是CentOS-7-x86_64-DVD-1511.iso镜像,最小化安装即可。
安装完成后调整网络设置IP,关闭关闭防火墙和selinux
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 ##配置网路 ##重启网络 systemctl restart network ##安装工具 yum isntall vim wget net-tools unzip -y ##关闭防火墙 #关闭selinux sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config setenforce 0 systemctl stop firewalld systemctl disable firewalld ## 设置主机名 hostnamectl set-hostname tester hostname tester vim /etc/hosts 192.168.1.5
2 下载oracle 11g
官网下载,下载的包如下,上传到机器上即可。
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
3 安装依赖包
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 检查依赖包是否都安装成功 (ksh和pdksh是冲突的,选择ksh) rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel | grep "not installed" 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
4 创建oinstall和dba组和oracle用户
/usr/sbin/groupadd oinstall /usr/sbin/groupadd dba /usr/sbin/useradd -g oinstall -G dba oracle 设置oracle用户密码 passwd oracle 验证用户是否正确 id oracle [root@tester ~]$ id oracle uid=1000(oracle) gid=1000(oinstall) 组=1000(oinstall),1001(dba)
5 配置内核参数
vim /etc/sysctl.conf fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 1073741824 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 ----------------------参数解读----------------------- shmmax=物理内存*80%*80%,单位是字节 kernel.shmmax:表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系,这里设定的为4GB,即“4294967295/1024/1024/1024=4G”。 kernel.shmmin:表示单个共享内存段的最小值,默认为1byte kernel.shmall:表示整个系统范围内可用共享内存页的总量,单位是页(page),在32位系统上一页等于4kB,也就是4096字节。计算公式是:shmmax/PAGE_SIZE kernel.shmmni:表示整个系统范围内内存段的最大数量,一般为4096. ip_local_port_range :表示端口的范围。在监听器帮助客户端进程和服务器进程建立连接时,会用到指定范围内的端口。 kernel.sem :表示设置的信号量,这4个参数内容大小固定。 net.core.rmem_default :表示接收套接字缓冲区大小的缺省值(以字节为单位)。 net.core.rmem_max :表示接收套接字缓冲区大小的最大值(以字节为单位) net.core.wmem_default :表示发送套接字缓冲区大小的缺省值(以字节为单位)。 net.core.wmem_max :表示发送套接字缓冲区大小的最大值(以字节为单位)。 ------------------------------------------------------ 立即生效 sysctl -p
6 修改系统配置文件
vim /etc/security/limits.conf #在末尾添加 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 10240 在/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
7 创建oracle安装目录
mkdir -p /opt/app/oracle/ chmod 755 /opt/app/oracle/ chown oracle.oinstall -R /opt/app/oracle/
8 设置oracle环境变量
使用oracle账户 #su - oracle $ vi ~/.bash_profile #设置oracle变量 export ORACLE_BASE=/opt/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export ORACLE_PID=ora11g export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib 完成后执行: env | grep ORA #查看环境变量是否完成 ORACLE_BASE=/opt/app/oracle ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1
9 安装oracle
在/opt目录下 解压oracle软件 [root@tester opt]# unzip linux.x64_11gR2_database_1of2.zip [root@tester opt]# unzip linux.x64_11gR2_database_2of2.zip 解压后得到database目录,其中包含response目录,该目录中有三个rsp文件,用来作为静默安装时的应答文件的模板。 三个文件作用分别是: db_install.rsp:安装应答 dbca.rsp:创建数据库应答 netca.rsp:建立监听、本地服务名等网络设置的应答
修改静默安装配置文件(注意修改对应的参数,比较重要,变量,名称,路径等)
[oracle@tester ~]$ cat /opt/database/response/db_install.rsp |grep -v "#" |grep -v "^$" oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=tester UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/opt/app/oracle/oraInventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1 ORACLE_BASE=/opt/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.isCustomInstall=false oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0 oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oinstall oracle.install.db.CLUSTER_NODES= oracle.install.db.config.starterdb.type=GENERAL_PURPOSE oracle.install.db.config.starterdb.globalDBName=ora11g oracle.install.db.config.starterdb.SID=ora11g oracle.install.db.config.starterdb.characterSet=AL32UTF8 oracle.install.db.config.starterdb.memoryOption=true oracle.install.db.config.starterdb.memoryLimit=1500 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.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= DECLINE_SECURITY_UPDATES=true PROXY_HOST= PROXY_PORT= PROXY_USER= PROXY_PWD=
开始静默安装
[oracle@tester ~]$ /opt/database/runInstaller -silent -force -responseFile /opt/database/response/db_install.rsp Starting Oracle Universal Installer... Checking Temp space: must be greater than 120 MB. Actual 165908 MB Passed Checking swap space: must be greater than 150 MB. Actual 16383 MB Passed 。。。。。 。。。。。(省略中间警告) The following configuration scripts need to be executed as the "root" user. #!/bin/sh #Root scripts to run /opt/app/oracle/oraInventory/orainstRoot.sh /opt/app/oracle/product/11.2.0/db_1/root.sh To execute the configuration scripts: 1. Open a terminal window 2. Log in as "root" 3. Run the scripts 4. Return to this window and hit "Enter" key to continue Successfully Setup Software. 安装完毕后会提示上述的信息,按照要求执行上述脚本 新开一个窗口 用root 执行对应脚本 /opt/app/oracle/oraInventory/orainstRoot.sh /opt/app/oracle/product/11.2.0/db_1/root.sh 然后回到原窗口按enter即可
接着配置监听程序启动监听程勋
[oracle@tester bin]$ $ORACLE_HOME/bin/netca /silent /responseFile /opt/database/response/netca.rsp Parsing command line arguments: Parameter "silent" = true Parameter "responsefile" = /opt/database/response/netca.rsp Done parsing command line arguments. Oracle Net Services Configuration: Profile configuration complete. Listener "LISTENER" already exists. Oracle Net Services configuration successful. The exit code is 0 启动监控程序 $ /opt/app/oracle/product/11.2.0/db_1/bin/lsnrctl start LISTENER
静默dbca建库
vim /opt/database/response/dbca.rsp GDBNAME = "ora11g.tester"78 行 全局数据库的名字=SID+主机域名 SID="ora11g" //149行 SID CHARACTERSET="AL32UTF8" //415行 编码 NATIONALCHARACTERSET="UTF8" //425行 编码 执行建库 [oracle@tester response]$ $ORACLE_HOME/bin/dbca -silent -responseFile /opt/database/response/dbca.rsp Enter SYS user password: Enter SYSTEM user password: sh: /bin/ksh: No such file or directory sh: /bin/ksh: No such file or directory 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 57% complete 60% complete 62% complete Completing Database Creation 66% complete 70% complete 73% complete 74% complete 85% complete 96% complete 100% complete Look at the log file "/opt/app/oracle/cfgtoollogs/dbca/ora11g/ora11g.log" for further details.
启动数据库(默认等一会儿会自动起)
注意一定要有SID环境变量
[oracle@tester ~]$ echo $ORACLE_SID
ora11g
[oracle@tester ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Thu Mar 21 18:44:19 2019 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> start SP2-1506: START, @ or @@ command has no arguments SQL> startup ORA-01081: cannot start already-running ORACLE - shut it down first SQL>
使用show parameter;或者select table_name from dba_tables看看是否
启动监听:lsnrctl start
查看监听:lsnrctl status
停止监听:lsnrctl stop
参考文档: https://blog.csdn.net/u010469514/article/details/73822099 https://www.cnblogs.com/it1992/p/9468124.html https://blog.csdn.net/h8178/article/details/78251198
重启oracle及监听器
方法1: 用root以ssh登录到linux,打开终端输入以下命令: cd $ORACLE_HOME #进入到oracle的安装目录 dbstart #重启服务器 lsnrctl start #重启监听器 cd $ORACLE_HOME #进入到oracle的安装目录 dbstart #重启服务器 lsnrctl start #重启监听器 ----------------------------------- 方法2: Sql代码 cd $ORACLE_HOME/bin #进入到oracle的安装目录 ./dbstart #重启服务器 ./lsnrctl start #重启监听器 ----------------------------------- 方法3: (1) 以oracle身份登录数据库,命令:su -oracle (2) 进入Sqlplus控制台,命令:sqlplus /nolog (3) 以系统管理员登录,命令:connect / as sysdba (4) 启动数据库,命令:startup (5) 如果是关闭数据库,命令:shutdown immediate (6) 退出sqlplus控制台,命令:exit (7) 进入监听器控制台,命令:lsnrctl (8) 启动监听器,命令:start (9) 退出监听器控制台,命令:exit 二、重启实例: (1) 切换需要启动的数据库实例:export ORACLE_SID=C1 (2) 进入Sqlplus控制台,命令:sqlplus /nolog (3) 以系统管理员登录,命令:connect / as sysdba (4) 如果是关闭数据库,命令:shutdown abort (5) 启动数据库,命令:startup (6) 退出sqlplus控制台,命令:exit