Linux静默安装oracle11gR2 拼搏现实的明天。 2022-05-10 12:04 262阅读 0赞 静默安装Oracle11gR2 \------------------------------------------------------ 1.操作系统及Oracle版本 Linux版本:CentOS release 6.3 (Final) Oracle版本:Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64 (linux.x64\_11gR2\_database\_1of2.zip、linux.x64\_11gR2\_database\_2of2.zip) 2.硬件检测: 物理内存不少于1G 硬盘可以空间不少于5G swap分区空间不少于2G 支持256色以上显卡 cpu主频不小于550mHZ cat /etc/issue uname -r (版本) grep MemTotal /proc/meminfo (内存大小) grep SwapTotal /proc/meminfo (交换区大小) grep "model name" /proc/cpuinfo (CPU信息) free (可用内存) 3.检查安装依赖系统包 操作系统依赖的具体包,请参考官方安装文档。 binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-2.5-24 (32 bit) glibc-common-2.5 glibc-devel-2.5 glibc-devel-2.5 (32 bit) glibc-headers-2.5 ksh-20060214 libaio-0.3.106 libaio-0.3.106 (32 bit) libaio-devel-0.3.106 libaio-devel-0.3.106 (32 bit) libgcc-4.1.2 libgcc-4.1.2 (32 bit) libstdc++-4.1.2 libstdc++-4.1.2 (32 bit) libstdc++-devel 4.1.2 make-3.81 sysstat-7.0.2 unixODBC-2.2.11 (32-bit) or later unixODBC-devel-2.2.11 (64-bit) or later unixODBC-2.2.11 (64-bit) or later 检查依赖包 rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel 如果包有显示is not installed(没安装),就用yum install 命令安装,如: yum install compat-libstdc++-33 4.创建所需的操作系统组和用户 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle 设置oracle用户密码 passwd oracle 5.修改内核参数 在/etc/sysctl.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 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 修改后,使设置生效 /sbin/sysctl -p 6.修改用户限制 在/etc/security/limits.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 在/etc/pam.d/login 文件中,使用文本编辑器或vi命令增加或修改以下内容 session required /lib/security/pam\_limits.so session required pam\_limits.so 在/etc/profile 文件中,使用文本编辑器或vi命令增加或修改以下内容 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.创建安装目录(可根据情况,选择比较多空间的目录创建) mkdir -p /usr/oracle chown -R oracle:oinstall /usr/oracle chmod -R 775 /usr/oracle 8.创建/etc/oraInst.loc文件,内容如下 nventory\_loc=/usr/oracle/oraInventory inst\_group=oinstall 更改文件的权限 chown oracle:oinstall /etc/oraInst.loc chmod 664 /etc/oraInst.loc 9.设置oracle环境变量 su - oracle vi ~/.bash\_profile 在最后加上以下内容 export ORACLE\_BASE=/usr/oracle export ORACLE\_SID=orcl 注意,除了ORACLE\_BASE和ORACLE\_SID,( /etc/profile和.bash\_profile中)不设置任何oracle相关环境变量(ORACLE\_HOME, PATH, LD\_LIBRARY\_PATH等)。 使设置生效 source /home/oracle/.bash\_profile 检查环境变量: env 同时,在使用静默安装的时候会检查DISPLAY的设置,如果经常说检查DISPLAY不行的话,到root用户下执行“xhost + 你的ip:0.0“ 10.解压oracle安装文件 unzip linux.x64\_11gR2\_database\_1of2.zip unzip linux.x64\_11gR2\_database\_2of2.zip 11.复制响应文件模板 mkdir etc cp /home/oracle/database/response/\* /home/oracle/etc/ 设置响应文件权限 su - root chmod 700 /home/oracle/etc/\*.rsp(注意所有者,oinstall) 12.静默安装Oracle软件 su - oracle 修改安装Oracle软件的响应文件/home/oracle/etc/db\_install.rsp oracle.install.option=INSTALL\_DB\_SWONLY // 安装类型 ORACLE\_HOSTNAME=db // 主机名称(hostname查询) UNIX\_GROUP\_NAME=oinstall // 安装组 INVENTORY\_LOCATION=/usr/oracle/oraInventory //INVENTORY目录(不填就是默认值) SELECTED\_LANGUAGES=en,zh\_CN,zh\_TW // 选择语言 ORACLE\_HOME=/usr/oracle/product/11.2.0/db\_1 // oracle\_home ORACLE\_BASE=/usr/oracle // oracle\_base oracle.install.db.InstallEdition=EE // oracle版本 oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件 oracle.install.db.DBA\_GROUP=dba // dba用户组 oracle.install.db.OPER\_GROUP=oinstall // oper用户组 oracle.install.db.config.starterdb.type=GENERAL\_PURPOSE //数据库类型 oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName oracle.install.db.config.starterdb.SID=orcl //SID oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M) oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码 SECURITY\_UPDATES\_VIA\_MYORACLESUPPORT=false(手动写了false) DECLINE\_SECURITY\_UPDATES=true //设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对) 开始静默安装 cd database ./runInstaller -silent -responseFile /home/oracle/etc/db\_install.rsp 安装中,如果提示\[WARNING\]不必理会,此时安装程序仍在进行,如果出现\[FATAL\],则安装程序已经停止了。 查看安装日志信息了解安装进度 cd $ORACLE\_BASE/oraInventory/logs tail -f installActions\*.log 出现类似如下提示表示安装完成: \#------------------------------------------------------------------- /usr/oracle/oraInventory/orainstRoot.sh /usr/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用户执行脚本 这里是有两个脚本要执行,跑一下就好 su root /usr/oracle/product/11.2.0/db\_1/root.sh /usr/oracle/oraInventory/orainstRoot.sh 增加oracle环境变量 su - oracle vi ~/.bash\_profile 在最后加上以下内容 export ORACLE\_HOME=$ORACLE\_BASE/product/11.2.0/db\_1 export TNS\_ADMIN=$ORACLE\_HOME/network/admin export PATH=.:$\{PATH\}:$HOME/bin:$ORACLE\_HOME/bin export PATH=$\{PATH\}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin export LD\_LIBRARY\_PATH=$\{LD\_LIBRARY\_PATH\}:$ORACLE\_HOME/lib export LD\_LIBRARY\_PATH=$\{LD\_LIBRARY\_PATH\}:$ORACLE\_HOME/oracm/lib export LD\_LIBRARY\_PATH=$\{LD\_LIBRARY\_PATH\}:/lib:/usr/lib:/usr/local/lib export CLASSPATH=$\{CLASSPATH\}:$ORACLE\_HOME/JRE export CLASSPATH=$\{CLASSPATH\}:$ORACLE\_HOME/JRE/lib export CLASSPATH=$\{CLASSPATH\}:$ORACLE\_HOME/jlib export CLASSPATH=$\{CLASSPATH\}:$ORACLE\_HOME/rdbms/jlib export CLASSPATH=$\{CLASSPATH\}:$ORACLE\_HOME/network/jlib export LIBPATH=$\{CLASSPATH\}:$ORACLE\_HOME/lib:$ORACLE\_HOME/ctx/lib export ORACLE\_OWNER=oracle export SPFILE\_PATH=$ORACLE\_HOME/dbs export ORA\_NLS10=$ORACLE\_HOME/nls/data 使设置生效 source /home/oracle/.bash\_profile 到这里,oracle11g的数据库实例就算是装好了,接下来配置数据库实例的基本参数文件~ cd $ORACLE\_HOME/dbs 找到默认的init.ora,然后创建一个新的init.ora: cat init.ora | grep -V ^\# | grep -V ^$ | > init$ORACLE\_SID.ora 修改新参数文件里面的<$ORACLE\_HOME>为绝对路径,然后把db\_name之类的东西改成自己的就好~ 然后就可以启动oracle实例了,用sqlplus "/as sysdba"登录进去,然后startup nomount; 如果说MEMORY\_TARGET太大了,那么可以在参数文件里面改小一点(这里设置的是81960M,80G),或者修改shm的大小、 用df -h能看到/dev/shm的大小 用mount -o size=102400M -o nrinodes=1000000 -o noatime,nodiratime -o remount /dev/shm来修改shm的大小 然后创建spfile create spfile from pfile;(具体的这两个东西的资料可以参考我的另一篇文章,spfile和pfile那点事) 如果一切正常,那么会显示出数据库的一些池和缓存的信息,接下来就是创建数据库了, 先创建必要目录 mkdir -p $ORACLE\_BASE/admin/$ORACLE\_SID/adump mkdir -p $ORACLE\_BASE/oradata PS:稍微注意一下的是,/usr/local/bin下面,几个目录的权限,记得要改成oracle和oinstall的(chown -R oracle:oinstall \*),否则启动的时候会提示错误,权限啊,目录操作失败云云 建库脚本如下: CREATE DATABASE orcl USER SYS IDENTIFIED BY sys USER SYSTEM IDENTIFIED BY system LOGFILE GROUP 1 ('/usr/oracle/oradata/redo01.log') SIZE 1024M, GROUP 2 ('/usr/oracle/oradata/redo02.log') size 1024m, GROUP 3 ('/usr/oracle/oradata/redo03.log') size 1024m, GROUP 4 ('/usr/oracle/oradata/redo04.log') size 1024m, GROUP 5 ('/usr/oracle/oradata/redo05.log') size 1024m MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXLOGHISTORY 200 MAXDATAFILES 10000 MAXINSTANCES 1 CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL16UTF16 datafile '/usr/oracle/oradata/system01.dbf' size 2048M REUSE EXTENT MANAGEMENT LOCAL sysaux datafile '/usr/oracle/oradata/sysaux01.dbf' size 2048M REUSE default temporary tablespace temp tempfile '/usr/oracle/oradata/temp01.dbf' size 2048M REUSE undo tablespace UNDOTBS1 datafile '/usr/oracle/oradata/undotbs01.dbf' size 4096M REUSE AUTOEXTEND off default tablespace DATA datafile '/usr/oracle/oradata/data01.dbf' size 8192M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; 使用Extend和Segment的管理,懒人+水B表示自己管理的技巧暂时没空学,全部交给oracle自己管理..... 如果没问题,接下来就创建数据字典和pl/sql包, sqlplus "/as sysdba" SQL>@?/rdbms/admin/catalog.sql; SQL>@?/rdbms/admin/catproc.sql; SQL>@?/rdbms/admin/utlrp.sql; SQL>conn system/system; SQL>@?/sqlplus/admin/pupbld.sql; (这几个脚本放在$ORACLE\_HOME/rdbms/admin下,也可以先进这个目录,然后直接@脚本就好) 最后shutdown immediate 然后startup吧~ 数据库正确open之后,就是配置监听器了, 把\\network\\admin\\listener.ora 和\\network\\admin\\tnsname.ora里面的LOCALHOST改成IP,把SID SID\_NAME改成实例名,重启数据库,重启监听 PS:参数文件的service和监听器的service要对上! 然后用sqlplus,使用sys或者system登录进去,show parameter;或者select table\_name from dba\_tables看看是否正常~~ The End! Happy Oracle 11g~
还没有评论,来说两句吧...