静默安装ORACLE【weber出品必属精品】
- 安装配置系统环境
安装linux ,所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭) - 打开终端,执行如下命令,检查安装包,没有的都要安装
make, glibc, libaio
compat-libstdc++, compat-gcc-, compat-gcc--c++, gcc, libXp
openmotif, compat-db
查询glib有没有安装
# rpm -qa | grep glib - 如果没有则进行安装,安装需要挂载RHEL5这种光盘
# mount /dev/cdrom /media
# cd /media/Server - 然后使用rpm包安装方式进行安装
# rpm -ivh compat-gcc--* --nodeps
# rpm -ivh openmotif-* --nodeps
# rpm -ivh libXp-* --nodeps
# rpm -ivh compat-db-* --nodeps - 修改内核参数
增加下面的内容到文件 /etc/sysctl.conf 中: kernel.shmall =
--系统可以使用的内存页的最大数量
kernel.shmmax =
--单个共享内存段的最大大小,单位是字节
kernel.shmmni =
--内存页的大小
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem =
fs.file-max =
net.ipv4.ip_local_port_range =
net.core.rmem_default=
net.core.rmem_max=
net.core.wmem_default=
net.core.wmem_max= - 运行下面的命令使得内核参数生效:
/sbin/sysctl -p
- vi /etc/security/limits.conf 行末添加以下内容
#use for oracle
* soft nproc
* hard nproc
* soft nofile
* hard nofile - 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 /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./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..0版本。
p8202632_10205_LINUX.zip : 将oracle_database_10..01版本升级到10.2.0..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编辑如下行:
UNIX_GROUP_NAME="oinstall"
ORACLE_HOME="/u01/app/oracle/10.2.0/db_1"
ORACLE_HOME_NAME="OraDbHome1"
MYORACLESUPPORT_USERNAME="zhaoming@sina.com"
MYORACLESUPPORT_PASSWORD="b"
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. - 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=
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-: 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 - 补丁安装上去之后
$ 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 , :: AM
EM Configuration Assistant, Version 10.2.0.1. Production
Copyright (c) , , Oracle. All rights reserved.
Enter the following information:
Database SID: orcl
Listener port number:
Password for SYS user:
Password for SYSMAN user:
Password for SYSMAN user:
Do you wish to continue? [yes(Y)/no(N)]: Y
Mar , :: AM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/app/oracle/10.2./db_1/cfgtoollogs/emca/orcl/emca_2013--30_09---AM.log.
Mar , :: AM oracle.sysman.emcp.EMReposConfig createRepository
INFO: Creating the EM repository (this may take a while) ...
Mar , :: AM oracle.sysman.emcp.EMReposConfig invoke
INFO: Repository successfully created
Enterprise Manager configuration completed successfully
FINISHED EMCA at Mar , :: AM - 资料库安装完成后我们进行安装控制台:
$ emca -config dbcontrol db
STARTED EMCA at Mar , :: AM
EM Configuration Assistant, Version 10.2.0.1. Production
Copyright (c) , , Oracle. All rights reserved.
Enter the following information:
Database SID: orcl
Listener port number:
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./db_1
Database hostname ................ hndx
Listener port number ................
Database SID ................ orcl
Email address for notifications ...............
Outgoing Mail (SMTP) server for notifications ...............
-----------------------------------------------------------------
Do you wish to continue? [yes(Y)/no(N)]: Y
Mar , :: AM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/app/oracle/10.2./db_1/cfgtoollogs/emca/orcl/emca_2013--30_10---AM.log.
Mar , :: AM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
Mar , :: AM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: Database Control started successfully
Mar , :: 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 , :: AM - 马上就大功告成了
$ firefox http://hndx:1158/em --如果报错:用户名密码错误,请先创建口令文件:
- 创建口令文件:
orapwd file=$ORACLE_HOME/dbs/orapworcl password=xxxxx---用户名自己定义
- 是不是看到火狐浏览器的界面很亲切呢。这里估计还会有错误,就是要添加证书,进入后添加点击下面的添加就好了。
静默安装ORACLE【weber出品必属精品】的更多相关文章
- 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】
<ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】
安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(三)【weber出品必属精品】
数据库软件和数据库都建好了,基本上可以说完成90%的工作,但是美中不足的就是企业管理器还没有安装好,现在我们就开始安装企业管理器吧. 安装之前我们先将补丁给补上.补丁我们也是采用禁默安装.补丁:p83 ...
- linux删除ORACLE【weber出品必属精品】
关闭数据库 sqlplus / as sysdba shutdown abort 清除oracle软件 su - oracle cd $ORACLE_BASE rm -rf * rm -rf /etc ...
- ORACLE SQL单行函数(三)【weber出品必属精品】
16.L:代表本地货币符,这个和区域有关.这个时候我们想来显示一下人民币的符号:¥ $ vi .bash_profile ---写入如下内容: export NLS_LANG='SIMPLIFIED ...
- 解决linux下oracle进入sqlplus环境中后退键显示^H、上下键无效与ctrl+l无法清屏等问题【weber出品必属精品】
习惯linux中上下键回退历史输入的人们肯定也希望sqlplus中也能实现相同的效果,可是不幸的是,sqlplus中不提供诸多方便的快捷键,这个时候我们就需要另外安装一个插件来实现这个想法. 这个插件 ...
- ORACLE SQL单行函数(一)【weber出品必属精品】
1.SUBSTR:求父串中的子串 SUBSTR('HelloWorld',1,5) 1:代表子串的起始位置,如果为正,正数,如果为负,倒数 5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数 ...
- oracle数据库事务相关【weber出品必属精品】
事务的概念:事务:一个事务由一组构成一个逻辑操作的DML语句组成 事务有开始有结束,事务以DML语句开始,以Conmmit和Rollback结束.以下情况会使得事务结束: 1. 执行COMMIT 或者 ...
- ORACLE SQL 组函数【weber出品必属精品】
组函数:对一组数据进行加工,每组数据返回一个值 常用的组函数:count() avg() max() min() sum() count()函数 1. count(*) :返回总共的行 ...
随机推荐
- jquery如何判断滚动条滚到页面底部并执行事件
首先理解三个dom元素,分别是:clientHeight.offsetHeight.scrollTop. clientHeight:这个元素的高度,占用整个空间的高度,所以,如果一个div有滚动条,那 ...
- Scut:缓存管理
Scut 的缓存管理看起来还是蛮复杂的. redis 本身就有内存缓存+持久化的作用,Scut还是自己封装了一层内存缓存+Redis缓存+持久化. . 这是一个缩略版本的结构图. 1. 上半部分是 ...
- <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalabl ...
- 转:FIFO的定义与作用
一.先入先出队列(First Input First Output,FIFO)这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令. 1.什么是FIFO? FIFO是英文Firs ...
- ASP.NET MVC 实现与SQLSERVER的依赖缓存
原文:ASP.NET MVC 实现与SQLSERVER的依赖缓存 本文主要是为了了解ASP.NET MVC 实现与SQLSERVER的依赖缓存的功能,针对自己对于这方面知识的学习的过程的一个记录.由于 ...
- 【转】Android 二维码 生成和识别(附Demo源码)--不错
原文网址:http://www.cnblogs.com/mythou/p/3280023.html 今天讲一下目前移动领域很常用的技术——二维码.现在大街小巷.各大网站都有二维码的踪迹,不管是IOS. ...
- AOP Concepts
As with most technologies, AOP comes with its own specific set of concepts and terms. It is importan ...
- SublimeText的使用
1.安装Sublime_text2.02文件:Sublime Text 2.0.2.tar.bz2 (1)官网下载地址:http://www.sublimetext.com/2 (2)将文件放到lin ...
- I - Strategic Game - hdu 1054(最小点覆盖)
题意:用最小的点来覆盖全部的边,因为二分图里面最大的匹配就是最小覆盖,所以直接匹配一下即可 ****************************************************** ...
- java的内部类及匿名内部类
在Java中,允许一个类的定义位于另一个类的内部,前者称为内部类 内部类和外层封装它的类之间存在逻辑上的所属关系 Inner class一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称 ...