一.安装前准备
1.内存及swap要求
至于swap如何添加,后文将提到
1
2
|
grep MemTotal /proc/meminfo grep SwapTotal /proc/meminfo |
2.硬盘空间
3.修改主机名,及ip对应关系
--设置主机名,也可以直接修改配置文件/etc/sysconfig/network,不过这个是重启之后才起作用
#sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=DB_2/g" /etc/sysconfig/network
--如果不想重启,则使用下面命令,使当前生效
#hostname DB_2 --添加主机名与IP对应记录
#vi /etc/hosts
127.0.0.1 cr-testsrv01
192.168.15.2 cr-testsrv01
192.168.15.2 db1
4.关闭Selinux(可以不操作)
--我自己没有关闭过selinux,这个是网上提供说需要关闭的
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/"/etc/selinux/config
# setenforce 0
5.下载oracle11gR2
二.修改内核参数
1./etc/sysctl.conf
--修改或添加,具体参数意思,请百度或参考oracle官网解释
#vi/etc/sysctl.conf
net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
# sysctl -p #使配置生效
2.用户的限制文件/etc/security/limits.conf
#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 --修改/etc/pam.d/login文件,增加如下:
session required /lib64/security/pam_limits.so //64为系统,千万别写成/lib/security/pam_limits.so,否则导致无法登录
session required pam_limits.so
三.创建用户及组
//创建用户及组
#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba -d /home/u11 oracle
#passwd oracle //创建安装目录
#mkdir -p /opt/app/oracle/product/11.2.0/db_1
//数据文件存放目录
#mkdir -p /opt/app/oracle/oradata
//数据恢复目录
#mkdir -p /opt/app/oracle/recovery_area
//数据库创建及使用过程中的日志目录
#mkdir -p /opt/app/oracle/oraInventory //修改安装目录权限
#chown -R oracle:oinstall /opt/app/oracle
#chmod 775 /opt/app/oracle
//登录oracle用户,设置环境变量
#su - oracle
$vim .bash_profile
export ORACLE_BASE=/home/oracle/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export DISPLAY=192.168.1.128:0.0
#如果设置NLS_LANG,容易产生导入sql或dmp出错,因为其他环境下的不是utf8
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
$source .bash_profile //使设置生效
四.安装oracle
1.安装依赖包
# yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-develglibc glibc-commonglibc-devel libaio libaio-devel libgcclibstdc++libstdc++-devel unixODBC unixODBC-devel ksh
或
# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 \
elfutils-libelfelfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common \
glibc-devel glibc-devel.i686glibc-headers ksh libaio libaio.i686 libaio-devel \
libaio-devel.i686 libgcclibgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make \
sysstat unixODBC unixODBC-devel
2.解压安装包
3.数据库安装
db_install.rsp 安装应答配置文件
dbca.rsp 创建数据库应答
netca.rsp 建立监听、本地服务名等网络设置应答
3.1 修改配置文件db_install.rsp,并安装
下面把主要修改的地方贴出来,具体详细文件,请查看另一篇文章:【Oracle 11gR2】db_install.rsp详解】http://www.cnblogs.com/yingsong/p/6031452.html
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=DB_m2
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/oracle/oracle/product/11.2.0/db_1
ORACLE_BASE=/home/oracle/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/home/oracle/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/home/oracle/oracle/recovery_data
DECLINE_SECURITY_UPDATES=true //一定要设为true
登录oracle用户,执行安装
$./runInstaller -silent -responseFile /home/u11/database/response/db_install.rsp
//安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
//打开另一个终端,执行命令
#tail -100 f /u01/app/oracle/oraInventory/logs/installActions......log
//可以实时跟踪查看安装日志,了解安装的进度。
//当出现
以下配置脚本需要以 "root" 用户的身份执行。
#!/bin/sh
#要运行的 Root 脚本
/home/oracle/oracle/oraInventory/orainstRoot.sh
/home/oracle/oracle/product/11.2.0/db_1/root.sh
要执行配置脚本, 请执行以下操作:
1. 打开一个终端窗口
2. 以 "root" 身份登录
3. 运行脚本
4. 返回此窗口并按 "Enter" 键继续
Successfully Setup Software.
//出现这个的话,说明已安装成功,则需要按提示操作,操作完返回Enter成功
3.2 配置监听配置文件response/netca.rsp
$netca /silent /responsefile /home/oracle/softwares/database/response/netca.rsp 正在对命令行参数进行语法分析:
参数"silent" = true
参数"responsefile" = /home/oracle/response/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services 配置:
完成概要文件配置。
Oracle Net 监听程序启动:
正在运行监听程序控制:
/opt/oracle/11.2.0/bin/lsnrctl start LISTENER
监听程序控制完成。
监听程序已成功启动。
监听程序配置完成。
成功完成 Oracle Net Services 配置 //成功运行后,在/opt/oracle/11.2.0/network/admin目录下生成sqlnet.ora和listener.ora两个文件。
//完成后通过命令“netstat -tlnp”可以查看到1521端口已开
tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr
3.3 修改配置文件response/dbca.rsp,静默建立新库
RESPONSEFILE_VERSION = "11.2.0" //不能更改
OPERATION_TYPE = "createDatabase"
GDBNAME = "hello.dlxg.gov.cn" //全局数据库的名字=SID+主机域名
SID = "hello" //对应的实例名 SYSPASSWORD = "credit"
SYSTEMPASSWORD = "credit"
TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件
DATAFILEDESTINATION = /opt/oracle/oradata //数据文件存放目录
RECOVERYAREADESTINATION=/opt/oracle/recovery_data //恢复数据存放目录
CHARACTERSET = "AL32UTF8" //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
TOTALMEMORY = "5120" //oracle内存5120MB
配置完之后,执行命令
$dbca -silent -responseFile /home/oracle/softwares/database/response/dbca.rsp
1% 已完成
3% 已完成
11% 已完成
18% 已完成
26% 已完成
37% 已完成
正在创建并启动 Oracle 实例
40% 已完成
45% 已完成
50% 已完成
55% 已完成
56% 已完成
60% 已完成
62% 已完成
正在进行数据库创建
66% 已完成
70% 已完成
73% 已完成
85% 已完成
96% 已完成
100% 已完成
有关详细信息, 请参阅日志文件 "/u01/app/oracle/cfgtoollogs/dbca/wang/wang.log"。
vim /home/oracle/oracle/product/11.2.0/db_1/network/admin/listener.ora
添加:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = credit)
(ORACLE_HOME =/home/oracle/oracle/product/11.2.0/db_1)
)
)
查看日志文件
$ cat /u01/app/oracle/cfgtoollogs/dbca/wang/wang.log
$ su – oracle
$ sqlplus / nolog
sql> conn / as sysdba
sql> startup (一般不需要加参数,只要设置好环境变量)
sql> quit (退出sql模式)
$ lsnrctl start (启动监听器)关闭oracle
$ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序)
$ sqlplus /nolog
sql>shutdown 其参数 :shutdown有四个参数,四个参数的含义如下:
Normal 需要等待所有的用户断开连接
Immediate 等待用户完成当前的语句
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。
前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用!
经常遇到的问题:
1)权限问题,解决方法,切换到oracle用户;
2)没有关闭监听器 ,解决方法:关闭监听器
3)有oracle实例没有关闭,解决办法:关闭oracle实例
4)环境变量设置不全,解决办法:修改环境变量
Oracle数据库的启动和关闭方式小结
Oracle数据库的启动和关闭方式
一、几种启动方式:
1、startup nomount
非安装启动,这种方式启动下可执行:重建控制文件、重建数据库
启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。
2、startup mount dbname
安装启动,这种方式启动下可执行:数据库日志归档、数据库恢复、重新命名一些数据库文件
如:系统表空间或日志文件。
执行“nomount”,然后打开控制文件
3、startup open dbname
先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,
这种方式下可访问数据库中的数据。
4、startup,等于以下三个命令
startup nomount
alter database mount
alter database open
5、startup restrict
约束方式启动
这种方式能够启动数据库,但只允许具有一定特权的用户访问
非特权用户访问时,会出现以下提示:
ERROR:
ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用
6、startup force
强制启动方式
当不能关闭数据库时,可以用startup force来完成数据库的关闭
先关闭数据库,再执行正常启动数据库命令
7、startup pfile=参数文件名
带初始化参数文件的启动方式
先读取参数文件,再按参数文件中的设置启动数据库
例:startup pfile=E:/Oracle/admin/oradb/pfile/init.ora
8、startup EXCLUSIVE
二、几种关闭方式:
1、shutdown normal
正常方式关闭数据库。
2、shutdown immediate
立即方式关闭数据库。
在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,
而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),
当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。
3、shutdown abort
直接关闭数据库,正在访问数据库的会话会被突然终止,
如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。
五. 开启归档模式,制定归档目录