静默安装ORACLE【weber出品必属精品】
2014-08-16 18:29 yaoweber 阅读(455) 评论(0) 编辑 收藏 举报- 安装配置系统环境
安装linux ,所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭) - 打开终端,执行如下命令,检查安装包,没有的都要安装
make, glibc, libaio compat-libstdc++, compat-gcc-34, compat-gcc-34-c++, gcc, libXp openmotif, compat-db 查询glib有没有安装 # rpm -qa | grep glib
- 如果没有则进行安装,安装需要挂载RHEL5这种光盘
# mount /dev/cdrom /media # cd /media/Server
- 然后使用rpm包安装方式进行安装
# rpm -ivh compat-gcc-34-* --nodeps # rpm -ivh openmotif-* --nodeps # rpm -ivh libXp-* --nodeps # rpm -ivh compat-db-* --nodeps
- 修改内核参数
增加下面的内容到文件 /etc/sysctl.conf 中: kernel.shmall = 2097152 --系统可以使用的内存页的最大数量 kernel.shmmax = 2147483648 --单个共享内存段的最大大小,单位是字节 kernel.shmmni = 4096 --内存页的大小 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=262144 net.core.rmem_max=262144 net.core.wmem_default=262144 net.core.wmem_max=262144
- 运行下面的命令使得内核参数生效:
/sbin/sysctl -p
- vi /etc/security/limits.conf 行末添加以下内容
#use for oracle * soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536
- vi /etc/pam.d/login 行末添加以下内容
session required pam_limits.so
- 关闭防火墙,vi /etc/selinux/config 确保以下内容
SELINUX=disabled 关闭SELIINUX
- 新增组和用户:
groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba oracle passwd oracle oinstall:属于此组的用户才能安装oracle dba:属于此组的用户才能进行sys这个用户的的操作系统验证 oper:属于此组的用户才能进行public这个用户的的操作系统验证
- 创建Oracle的安装目录,并把权限付给oracle用户:
mkdir -p /u01/app/oracle chown -R oracle:oinstall /u01 chmod -R 775 /u01
- 因为VM虚拟机的官方只支持到RHEL4为止,所以要修改版本说明,编辑文件 /etc/redhat-release 把Red Hat Enterprise Linux Server release 5 (Tikanga) 改成版本4:redhat-4
- oracle 用户的环境变量
以 oracle 身份登录,并通过在 .bash_profile 中添加以下行
增加下列内容:
export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1 export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin
- 因为oracle 的官方只支持到RHEL4为止,所以要修改版本说明,编辑文件 /etc/redhat-release 把Red Hat Enterprise Linux Server release 5 (Tikanga) 改成版本4:redhat-4
- 切换账号
# su - oracle 这里解释一下:su 加不加-的区别,加-了当前的用户环境由后面的用户决定。不加的话则有root这个用户的环境决定。
- 我们将10201_database_linux32.zip,p8202632_10205_LINUX.zip,p8350262_10205_Generic.zip拷贝到/u01路径下。这里介绍一下三个文件的作用:
10201_database_linux32.zip : oracle_database_10.2.0.1.0版本。 p8202632_10205_LINUX.zip : 将oracle_database_10.2.01版本升级到10.2.0.5.0版本的补丁文件 p8350262_10205_Generic.zip : 这是em的补丁文件
- 拷贝完成后进行解压操作
# : unzip 10201_database_linux32.zip
- 解压完成后,文件夹多了个database文件夹。
- 【.............................................................华丽的分割线.........................................................................】
- 由于本次的实验我是将上次的虚拟机直接拷贝过来,然后将里面图形化界面安装好了的oracle给删除,再次重新安装,所以这里要修改一些配置。
- 首先修改的是我们的IP地址
# system-config-network
- 完成后我们修改一下hosts文件,将里面的ip地址给修改一下
# vi /etc/hosts
- 接着我们删除上次安装过的ORACLE文件
# cd $ORACLE_BASE # ls # rm -rf *
- 进入root:rm -rf /etc/ora*
- 【...........................................................华丽的分割线........................................................................................】
- 还是在安装前进行配置。
- 接下来进行静默安装。首先我们先要创建一个相应文件,这个文件里记录了我们oracle安装的所有过程
[oracle@oracle ~]$ cd /u01/database/response $ cp enterprise.rsp /u01 $ vi /u01/enterprise.rsp
- 修改一下内容:
35 UNIX_GROUP_NAME="oinstall" 62 ORACLE_HOME="/u01/app/oracle/10.2.0/db_1" 70 ORACLE_HOME_NAME="OraDbHome" 351 COMPONENT_LANGUAGES={"en,zh_CN"} 384 s_nameForDBAGrp="dba" 392 s_nameForOPERGrp="oper" 422 n_configurationOption=3
- 开始安装:
[oracle@oracle ~]$ cd /u01/database $ ./runInstaller -silent -responseFile /u01/enterprise.rsp
- 安装完成后执行以下脚本
$ORACLE_BASE/oraInventory/orainstRoot.sh $ORACLE_HOME/root.sh
- 执行完脚本以后使用:sqlplus / as sysdba即可知道oracle的版本为:10.2.0.1.0
- 静默升级数据库
$ cp /u01/Disk1/response/patchset.rsp /u01 vi /u01/patchset.rsp编辑如下行: 45 UNIX_GROUP_NAME="oinstall" 87 ORACLE_HOME="/u01/app/oracle/10.2.0/db_1" 99 ORACLE_HOME_NAME="OraDbHome1" 533 MYORACLESUPPORT_USERNAME="zhaoming@sina.com" 542 MYORACLESUPPORT_PASSWORD="b" 603 DECLINE_SECURITY_UPDATES=true
- 进行安装升级的补丁
$ ./runInstaller -silent -responseFile /u01/patchset.rsp
如果你报错server:oui - 10029,你可以加上-force这个参数。 - 升级成功,执行提示的两个脚本。
$ sqlplus / as sysdba; Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options
- 接下来进行手工建库
$ vi $ORACLE_HOME/dbs/initorcl.ora 写入以下内容: compatible=10.2.0.5 instance_name=orcl db_name=orcl sga_target=500M sga_max_size=500M job_queue_processes=10 undo_management=auto undo_tablespace=undotbs audit_file_dest=$ORACLE_BASE/admin/orcl/adump background_dump_dest=$ORACLE_BASE/admin/orcl/bdump core_dump_dest=$ORACLE_BASE/admin/orcl/cdump user_dump_dest=$ORACLE_BASE/admin/orcl/udump control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl' 保存退出
- 创建跟踪目录:
mkdir -p $ORACLE_BASE/admin/orcl/{a,b,c,u}dump
- 创建控制文件的位置
mkdir -p /u01/app/oracle/oradata/orcl/
- 启动到实例:
sqlplus / as sysdba create spfile from pfile; startup nomount
- 接下来进行创建数据库
- vi createdb.sql写入如下内容:
CREATE DATABASE orcl
USER SYS IDENTIFIED BY a ---这里需要修改你的密码
USER SYSTEM IDENTIFIED BY a
LOGFILE GROUP 1 ( '/u01/app/oracle/oradata/orcl/redo01.log ') SIZE 50M,
GROUP 2 ( '/u01/app/oracle/oradata/orcl/redo02.log ') SIZE 50M,
GROUP 3 ( '/u01/app/oracle/oradata/orcl/redo03.log ') SIZE 50M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET utf8
NATIONAL CHARACTER SET utf8
DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf ' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u01/app/oracle/oradata/orcl/sysaux01.dbf ' SIZE 325M REUSE
DEFAULT TABLESPACE users datafile '/u01/app/oracle/oradata/orcl/users01.dbf ' size 200M
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf '
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u01/app/oracle/oradata/orcl/undotbs01.dbf '
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
/ - 然后在sql中引用到这些脚本
sql> get /u01/create.sql ---解释一下get的作用:就是引用操作系统目录下的任意一个文件引入到sql中来。 sql> ......... sql>/ -----执行完这些脚本语句之后就会在相应的位置产生控制文件、数据文件、日志文件等----
- 接着执行
sql>desc dba_tables ERROR: ORA-04043: object dba_tables does not exist ----解释一下:这里查询的是数据字典,我们这里只不过建好了数据库,并没有将数据库相关的视图、表、索引、数据字典等建好。----
- 所以我们呢要来建这些视图、表、索引了。
$ cd /u01 vi jb.sql写入如下内容: @?/rdbms/admin/catalog.sql ----catalog.sql:创建数据字典 @?/rdbms/admin/catproc.sql ----catproc.sql:安装ORACLE自定义的包 conn system/a @?/sqlplus/admin/pupbld.sql ----pupbld.sql:屏蔽sqlplus错误
- 接着在数据库中执行这段脚本:
sql>@/u01/jb.sql ---这里解释一下:@:可以执行操作系统下的某个脚本中sql语句
- 紧接着就是漫长的等待,估计20多分钟吧。
- 执行完成后,你会看到很多什么表啊视图什么的,does not exist。不用管他,这是创建数据字典时候先去查询这些表存不存在。当然不存在啊,因为都还没创建,所以自然会报错。
sql>desc dba_tables
- 完了后这个时候就有内容了。
sql> select count(*) from dba_tables
- 接下来我们进行OEM的安装,安装之前我们先将补丁给补上。补丁我们也是采用禁默安装。补丁:p8350262_10205_Generic.zip
- 将补丁上传到目录:$ORACLE_HOME/OPatch/ 解压缩:
$ unzip p8350262_10205_Generic.zip
- 得到一个目录为:8350262
- 打补丁:
$ emctl stop dbconsole $ cd $ORACLE_HOME/OPatch $ ./opatch apply 8350262
- 补丁安装上去之后
$ lsnrctl status 显示: No Listener
- 然后我们做:
$ cd /u01/database/response/ $ cp netca.rsp /u01 $ netca /silent /responseFile /u01/netca.rsp
- 安装完监听器后我们进入sqlplus去将数据库注册到这个监听器上。
$ sqlplus / as sysdba; sqlplus>alter system register
- 监听器安装完成后我们进行安装资料库
SQL> select username from dba_users where username=\'SYSMAN\'; no rows selected
- 执行安装资料库命令:
$ emca -repos create STARTED EMCA at Mar 30, 2013 9:57:23 AM EM Configuration Assistant, Version 10.2.0.1.0 Production Copyright (c) 2003, 2005, Oracle. All rights reserved. Enter the following information: Database SID: orcl Listener port number: 1521 Password for SYS user: Password for SYSMAN user: Password for SYSMAN user: Do you wish to continue? [yes(Y)/no(N)]: Y Mar 30, 2013 9:58:28 AM oracle.sysman.emcp.EMConfig perform INFO: This operation is being logged at /u01/app/oracle/10.2.0/db_1/cfgtoollogs/emca/orcl/emca_2013-03-30_09-57-2-AM.log. Mar 30, 2013 9:58:28 AM oracle.sysman.emcp.EMReposConfig createRepository INFO: Creating the EM repository (this may take a while) ... Mar 30, 2013 10:00:42 AM oracle.sysman.emcp.EMReposConfig invoke INFO: Repository successfully created Enterprise Manager configuration completed successfully FINISHED EMCA at Mar 30, 2013 10:00:42 AM
- 资料库安装完成后我们进行安装控制台:
$ emca -config dbcontrol db STARTED EMCA at Mar 30, 2013 10:01:47 AM EM Configuration Assistant, Version 10.2.0.1.0 Production Copyright (c) 2003, 2005, Oracle. All rights reserved. Enter the following information: Database SID: orcl Listener port number: 1521 Password for SYS user: Password for DBSNMP user: Password for SYSMAN user: Invalid username/password. Password for SYSMAN user: Email address for notifications (optional): Outgoing Mail (SMTP) server for notifications (optional): ----------------------------------------------------------------- You have specified the following settings Database ORACLE_HOME ................ /u01/app/oracle/10.2.0/db_1 Database hostname ................ hndx Listener port number ................ 1521 Database SID ................ orcl Email address for notifications ............... Outgoing Mail (SMTP) server for notifications ............... ----------------------------------------------------------------- Do you wish to continue? [yes(Y)/no(N)]: Y Mar 30, 2013 10:02:42 AM oracle.sysman.emcp.EMConfig perform INFO: This operation is being logged at /u01/app/oracle/10.2.0/db_1/cfgtoollogs/emca/orcl/emca_2013-03-30_10-01-4-AM.log. Mar 30, 2013 10:02:48 AM oracle.sysman.emcp.util.DBControlUtil startOMS INFO: Starting Database Control (this may take a while) ... Mar 30, 2013 10:04:24 AM oracle.sysman.emcp.EMDBPostConfig performConfiguration INFO: Database Control started successfully Mar 30, 2013 10:04:24 AM oracle.sysman.emcp.EMDBPostConfig performConfiguration INFO: >>>>>>>>>>> The Database Control URL is http://hndx:1158/em <<<<<<<<<<< Enterprise Manager configuration completed successfully FINISHED EMCA at Mar 30, 2013 10:04:24 AM
- 马上就大功告成了
$ firefox http://hndx:1158/em --如果报错:用户名密码错误,请先创建口令文件:
- 创建口令文件:
orapwd file=$ORACLE_HOME/dbs/orapworcl password=xxxxx---用户名自己定义
- 是不是看到火狐浏览器的界面很亲切呢。这里估计还会有错误,就是要添加证书,进入后添加点击下面的添加就好了。