Centos安装oracle10g
2012-11-28 11:30
288 查看
1、安装Oracle所需软件包
yum install avahi-compat-libdns_sd.x86_64 compat-db.i386 compat-db.x86_64 compat-gcc-34.x86_64 compat-gcc-34-c++.x86_64 compat-gcc-34-g77.x86_64 compat-glibc.i386 ompat-glibc.x86_64
compat-glibc-headers.x86_64 compat-libf2c-34.x86_64 compat-libgcc-296.i386 compat-libstdc++-296.i386 compat-libstdc++-33.i386 compat-libstdc++-33.x86_64 java-1.4.2-gcj-compat.x86_64 elfutils-libelf.i386 elfutils-libelf-devel.x86_64 elfutils-libelf-devel-static.x86_64 compat-glibc.x86_64 glibc-devel.i386 glibc-devel.x86_64 glibc-headers.x86_64 glibc.x86_64
glibc.i686 kernel-headers.x86_64 libaio.i386 libaio.x86_64 libaio-devel.i386 libaio-devel.x86_64 libstdc++-devel.i386
libXp.i386 libXp.x86_64 libXpm.x86_64 sysstat.x86_64 readline-devel.x86_64
yum -y install openssl-devel
2、修改系统版本
vi /etc/redhat-release
redhat-4
#CentOS release 5.7 (Final)
3、修改内核参数
#vi /etc/sysctl.conf
kernel.shmmni = 4096
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
然后sysctl -p 应用系统参数。
4、建立安装Oracle需要的用户、组及目录
(1)新增组和用户:
(2)创建Oracle的安装目录,并把权限付给oracle用户:
5、设置oracle用户的shell limit
#vi /etc/security/limits.conf
增加下面的内容到文件 /etc/security/limits.conf 文件中:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
增加下面的内容到文件 /etc/pam.d/login 中,使shell limit生效:
session required /lib/security/pam_limits.so
6、修改/etc/hosts
把127.0.0.1改为具体的ip地址,注意最好去掉那些无用的,格式如下:
ip地址 – 主机名 – localhost
7、关闭SeLinux
因为SeLinux对oracle有影响,所以把Secure Linux设成无效,编辑文件/etc/selinux/config :
SELINUX=disabled
当然你也可以用图形界面下的工具 (系统 > 管理 > 安全级别和防火墙),选择SELinux页面并且设为无效。
接下来切换到oracle用户
8、配置Oracle用户的环境变量
登录到oracle用户并且配置环境变量,编辑/home/oracle目录下的.bash_profile文件
vi .bash_profile
增加下面的内容到文件 .bash_profile
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0
export ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_SID=mediadb
#export ORACLE_SID=vasdb
export NLS_LANG='simplified chinese_china.ZHS16GBK'
export PATH=$PATH:$ORACLE_HOME/bin
export LANG=en_US
export EDITOR=vi
alias 'sqlplus=rlwrap sqlplus'
alias 'rman=rlwrap rman'
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -p 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
里面的SID在安装数据库时候如果修改了,安装完后需要回来重新修改SID。修改完用“source .bash_profile”使其生效。
环境已经搭建完成,然后开始静默安装。
1. 建立静默安装的配置文件
cd /srv/database/response
vi enterprise01.rsp
RESPONSEFILE_VERSION=2.2.1.0.0
UNIX_GROUP_NAME=<Value Unspecified>
FROM_LOCATION="../stage/products.xml"
NEXT_SESSION_RESPONSE=<Value Unspecified>
ORACLE_HOME="/oracle/product/10.2.0"
ORACLE_HOME_NAME="OraDbHome1"
TOPLEVEL_COMPONENT={"oracle.server","10.2.0.1.0"}
DEINSTALL_LIST={"oracle.server","10.2.0.1.0"}
SHOW_SPLASH_SCREEN=false
SHOW_WELCOME_PAGE=false
SHOW_NODE_SELECTION_PAGE=false
SHOW_SUMMARY_PAGE=false
SHOW_INSTALL_PROGRESS_PAGE=false
SHOW_CONFIG_TOOL_PAGE=false
SHOW_XML_PREREQ_PAGE=false
SHOW_ROOTSH_CONFIRMATION=true
SHOW_END_SESSION_PAGE=false
SHOW_EXIT_CONFIRMATION=false
NEXT_SESSION=false
NEXT_SESSION_ON_FAIL=false
SHOW_DEINSTALL_CONFIRMATION=false
SHOW_DEINSTALL_PROGRESS=false
RESTART_SYSTEM=<Value Unspecified>
RESTART_REMOTE_SYSTEM=<Value Unspecified>
REMOVE_HOMES=<Value Unspecified>
ORACLE_HOSTNAME=<Value Unspecified>
SHOW_END_OF_INSTALL_MSGS=false
CLUSTER_NODES=<Value Unspecified>
COMPONENT_LANGUAGES={"en"}
INSTALL_TYPE="EE"
s_nameForDBAGrp=dba
s_nameForOPERGrp=dba
n_configurationOption=3
s_ASMSYSPassword=""
RESPONSEFILE_VERSION=2.2.1.0.0
UNIX_GROUP_NAME=<Value Unspecified>
FROM_LOCATION="../stage/products.xml"
NEXT_SESSION_RESPONSE=<Value Unspecified>
ORACLE_HOME="/oracle/product/10.2.0"
ORACLE_HOME_NAME="OraDbHome1"
TOPLEVEL_COMPONENT={"oracle.server","10.2.0.1.0"}
DEINSTALL_LIST={"oracle.server","10.2.0.1.0"}
SHOW_SPLASH_SCREEN=false
SHOW_WELCOME_PAGE=false
SHOW_NODE_SELECTION_PAGE=false
SHOW_SUMMARY_PAGE=false
SHOW_INSTALL_PROGRESS_PAGE=false
SHOW_CONFIG_TOOL_PAGE=false
SHOW_XML_PREREQ_PAGE=false
SHOW_ROOTSH_CONFIRMATION=true
SHOW_END_SESSION_PAGE=false
SHOW_EXIT_CONFIRMATION=false
NEXT_SESSION=false
NEXT_SESSION_ON_FAIL=false
SHOW_DEINSTALL_CONFIRMATION=false
SHOW_DEINSTALL_PROGRESS=false
RESTART_SYSTEM=<Value Unspecified>
RESTART_REMOTE_SYSTEM=<Value Unspecified>
REMOVE_HOMES=<Value Unspecified>
ORACLE_HOSTNAME=<Value Unspecified>
SHOW_END_OF_INSTALL_MSGS=false
CLUSTER_NODES=<Value Unspecified>
COMPONENT_LANGUAGES={"en"}
INSTALL_TYPE="EE"
s_nameForDBAGrp=dba
s_nameForOPERGrp=dba
n_configurationOption=3
s_ASMSYSPassword=""
s_ASMSYSPasswordAgain=""
n_dbType=<Value Required>
oracle.assistants.server:s_responseFileName=<Value Unspecified>
s_globalDBName=<Value Required>
s_dbSid=<Value Required>
s_dbRetChar="WE8ISO8859P1"
b_loadExampleSchemas=false
b_useDBControl=true
b_receiveEmailNotification=false
s_dlgEMSMTPServer=<Value Unspecified>
s_dlgEMEmailAddress=<Value Unspecified>
s_dlgEMCentralAgentSelected=<Value Unspecified>
n_dbStorageType=<Value Unspecified>
s_mountPoint=<Value Unspecified>
s_rawDeviceMapFileLocation=<Value Unspecified>
b_enableAutoBackup=false
b_useFileSystemForRecovery=true
s_dlgRBORecoveryLocation=<Value Unspecified>
s_dlgRBOUsername=<Value Unspecified>
s_dlgRBOPassword=<Value Unspecified>
s_dlgASMCfgDiskGroupName="DATA"
s_dlgASMCfgDiskDiscoveryString=<Value Unspecified>
n_dlgASMCfgRedundancySelected=<Value Unspecified>
sl_dlgASMCfgSelectableDisks=<Value Unspecified>
sl_dlgASMCfgDiskSelections=<Value Unspecified>
sl_dlgASMDskGrpSelectedGroup={" "," "," "," "}
b_centrallyManageASMInstance=true
b_useSamePassword=true
s_superAdminSamePasswd=<Value Unspecified>
s_superAdminSamePasswdAgain=<Value Unspecified>
sl_superAdminPasswds=<Value Unspecified>
sl_superAdminPasswdsAgain=<Value Unspecified>
n_performUpgrade=0
n_upgradeDB=0
s_dbOHSelectedForUpgrade=""
s_dbSIDSelectedForUpgrade=""
n_upgradeASM=0
s_dbSelectedUsesASM="no"
sl_upgradableSIDBInstances={}
sl_upgradableRACDBInstances={}
n_dbSelection=0
b_stateOfUpgradeASMCheckbox=false
b_stateOfUpgradeDBCheckbox=false
b_oneClick=false
s_dlgASMCfgRedundancyValue=""
s_dlgASMCfgExistingFreeSpace="0"
s_dlgASMCfgNewDisksSize=""
s_dlgASMCfgAdditionalSpaceNeeded="0 MB"
上述是只有安装了software,等下要继续安装database
. 开始安装
cd /srv/database/
./runInstaller -silent -responseFile /srv/database/response/enterprise01.rsp
安装完后执行如下脚本。
/oracle/product/10.2.0/root.sh
/oracle/oraInventory/orainstRoot.sh
至此Oracle的产品已经安装完成,可是目前为止我们还没有建立数据库。
由于没有X界面无法启动dbca ,所以不能用dbca来帮我们建立数据库。这时候你可能会想到用create database 语句来建立数据库,可是语法实在是繁琐,并且还要运行许多的
oracle脚本 。
下面我们来利用oracle提供的种子数据库还原一个数据库出来。
假设我们要建立的数据库的名称为mediadb 。
2.建立我们所需的目录
mkdir -p /oracle/admin/mediadb/{a,b,u,c}dump
mkdir -p /oracle/oradata/mediadb
找到oracle为种子数据库提供的控制文件并copy至/oracle/oradata/mediadb
cp /oracle/product/10.2.0/assistants/dbca/templates/Seed_Database.ctl /oracle/oradata/mediadb/
3.建立pfile文件
cd /oracle/product/10.2.0/dbs/
vi initorcl.ora
*.db_name=SEEDDATA #注:因为Seed_Database.ctl控制文件中记录的db_name为SEEDDATA。
control_files='/u01/app/oracle/oradata/orcl/Seed_Database.ctl'
compatible=10.2.0.1.0
4.启动数据库到mount状态
sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production . Mon May 12 21:48:47 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup mount
ORACLE instance started.
Total System Global Area 117440512 bytes
Fixed Size 1218004 bytes
Variable Size 58722860 bytes
Database Buffers 50331648 bytes
Redo Buffers 7168000 bytes
Database mounted.
使用默认的参数建立spfile
SQL> create spfile from pfile;
重新启动数据库
SQL> shutdown immediate
SQL> startup mount
更改sga_max_size,sga_target参数的值 。
SQL> alter system set sga_max_size=200M scope=spfile;
SQL> alter system set sga_target=160M scope=spfile;
然后再次重新启动数据库
SQL> shutdown immediate
SQL> startup mount
5.用rman连接数据库
[oracle@lsuperman dbs]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on ÐÇÆÚËÄ 12ÔÂ 15 03:18:21 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: SEEDDATA (DBID=3901070184, not open)
RMAN> list backupset;
using target database control file instead of recovery catalog
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 89.98M DISK 00:00:52 22-10ÔÂ-05
BP Key: 1 Status: AVAILABLE Compressed: YES Tag:
Piece Name: /ade/aime_ship_10gR2_050630.0022/oracle/oradata/Seed_Database.dfb
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ---------- ----
1 Full 525875 22-10ÔÂ-05 /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/system01.dbf
2 Full 525875 22-10ÔÂ-05 /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/undotbs01.dbf
3 Full 525875 22-10ÔÂ-05 /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/sysaux01.dbf
4 Full 525875 22-10ÔÂ-05 /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/users01.dbf
可以看到,我们可以利用/ade/aime_ship_10gR2_050630.0022/oracle/oradata/Seed_Database.dfb这个备份集来还原数据库。
但 是很明显我们系统中并没有这样一个文件/ade/aime_ship_10gR2_050630.0022/oracle/oradata/Seed_Database.dfb,但是查找发现路径/u01/app/oracle/product/10.2.0/db_1/assistants/dbca/templates下有 Seed_Database.dfb文件 。
有两种方法,一个是建立一个软链接/ade/aime_10.2_lnx_push/oracle /oradata/Seed_Database.dfb 指向/u01/app/oracle/product/10.2.0/db_1/assistants/dbca/templates /Seed_Database.dfb 。另一个是创建目录/ade/aime_10.2_lnx_push/oracle/oradata/
并将Seed_Database.dfb copy至其下 。
ln -s /oracle/product/10.2.0/assistants/dbca/templates/Seed_Database.dfb /ade/aime_ship_10gR2_050630.0022/oracle/oradata/Seed_Database.dfb
6.还原数据库
rman target / cmdfile=/home/oracle/bk
bk文件如下:
run {
set newname for datafile '/ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/system01.dbf' to '/oracle/oradata/mediadb/system01.dbf';
set newname for datafile '/ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/sysaux01.dbf' to '/oracle/oradata/mediadb/sysaux01.dbf';
set newname for datafile '/ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/undotbs01.dbf' to '/oracle/oradata/mediadb/undotbs01.dbf';
set newname for datafile '/ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/users01.dbf' to '/oracle/oradata/mediadb/users01.dbf';
restore database;
switch datafile all;
}
数据文件恢复完毕以后,缺少日志文件。
因为控制文件中记录的log file路径为 /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/
所以要先创建相应的目录。
mkdir -p /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/
yum install avahi-compat-libdns_sd.x86_64 compat-db.i386 compat-db.x86_64 compat-gcc-34.x86_64 compat-gcc-34-c++.x86_64 compat-gcc-34-g77.x86_64 compat-glibc.i386 ompat-glibc.x86_64
compat-glibc-headers.x86_64 compat-libf2c-34.x86_64 compat-libgcc-296.i386 compat-libstdc++-296.i386 compat-libstdc++-33.i386 compat-libstdc++-33.x86_64 java-1.4.2-gcj-compat.x86_64 elfutils-libelf.i386 elfutils-libelf-devel.x86_64 elfutils-libelf-devel-static.x86_64 compat-glibc.x86_64 glibc-devel.i386 glibc-devel.x86_64 glibc-headers.x86_64 glibc.x86_64
glibc.i686 kernel-headers.x86_64 libaio.i386 libaio.x86_64 libaio-devel.i386 libaio-devel.x86_64 libstdc++-devel.i386
libXp.i386 libXp.x86_64 libXpm.x86_64 sysstat.x86_64 readline-devel.x86_64
yum -y install openssl-devel
2、修改系统版本
vi /etc/redhat-release
redhat-4
#CentOS release 5.7 (Final)
3、修改内核参数
#vi /etc/sysctl.conf
kernel.shmmni = 4096
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
然后sysctl -p 应用系统参数。
4、建立安装Oracle需要的用户、组及目录
(1)新增组和用户:
groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle
(2)创建Oracle的安装目录,并把权限付给oracle用户:
mkdir -p /oracle/product/10.2.0/ chown -R oracle.oinstall /oracle
5、设置oracle用户的shell limit
#vi /etc/security/limits.conf
增加下面的内容到文件 /etc/security/limits.conf 文件中:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
增加下面的内容到文件 /etc/pam.d/login 中,使shell limit生效:
session required /lib/security/pam_limits.so
6、修改/etc/hosts
把127.0.0.1改为具体的ip地址,注意最好去掉那些无用的,格式如下:
ip地址 – 主机名 – localhost
7、关闭SeLinux
因为SeLinux对oracle有影响,所以把Secure Linux设成无效,编辑文件/etc/selinux/config :
SELINUX=disabled
当然你也可以用图形界面下的工具 (系统 > 管理 > 安全级别和防火墙),选择SELinux页面并且设为无效。
接下来切换到oracle用户
8、配置Oracle用户的环境变量
登录到oracle用户并且配置环境变量,编辑/home/oracle目录下的.bash_profile文件
vi .bash_profile
增加下面的内容到文件 .bash_profile
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0
export ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_SID=mediadb
#export ORACLE_SID=vasdb
export NLS_LANG='simplified chinese_china.ZHS16GBK'
export PATH=$PATH:$ORACLE_HOME/bin
export LANG=en_US
export EDITOR=vi
alias 'sqlplus=rlwrap sqlplus'
alias 'rman=rlwrap rman'
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -p 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
里面的SID在安装数据库时候如果修改了,安装完后需要回来重新修改SID。修改完用“source .bash_profile”使其生效。
环境已经搭建完成,然后开始静默安装。
1. 建立静默安装的配置文件
cd /srv/database/response
vi enterprise01.rsp
RESPONSEFILE_VERSION=2.2.1.0.0
UNIX_GROUP_NAME=<Value Unspecified>
FROM_LOCATION="../stage/products.xml"
NEXT_SESSION_RESPONSE=<Value Unspecified>
ORACLE_HOME="/oracle/product/10.2.0"
ORACLE_HOME_NAME="OraDbHome1"
TOPLEVEL_COMPONENT={"oracle.server","10.2.0.1.0"}
DEINSTALL_LIST={"oracle.server","10.2.0.1.0"}
SHOW_SPLASH_SCREEN=false
SHOW_WELCOME_PAGE=false
SHOW_NODE_SELECTION_PAGE=false
SHOW_SUMMARY_PAGE=false
SHOW_INSTALL_PROGRESS_PAGE=false
SHOW_CONFIG_TOOL_PAGE=false
SHOW_XML_PREREQ_PAGE=false
SHOW_ROOTSH_CONFIRMATION=true
SHOW_END_SESSION_PAGE=false
SHOW_EXIT_CONFIRMATION=false
NEXT_SESSION=false
NEXT_SESSION_ON_FAIL=false
SHOW_DEINSTALL_CONFIRMATION=false
SHOW_DEINSTALL_PROGRESS=false
RESTART_SYSTEM=<Value Unspecified>
RESTART_REMOTE_SYSTEM=<Value Unspecified>
REMOVE_HOMES=<Value Unspecified>
ORACLE_HOSTNAME=<Value Unspecified>
SHOW_END_OF_INSTALL_MSGS=false
CLUSTER_NODES=<Value Unspecified>
COMPONENT_LANGUAGES={"en"}
INSTALL_TYPE="EE"
s_nameForDBAGrp=dba
s_nameForOPERGrp=dba
n_configurationOption=3
s_ASMSYSPassword=""
RESPONSEFILE_VERSION=2.2.1.0.0
UNIX_GROUP_NAME=<Value Unspecified>
FROM_LOCATION="../stage/products.xml"
NEXT_SESSION_RESPONSE=<Value Unspecified>
ORACLE_HOME="/oracle/product/10.2.0"
ORACLE_HOME_NAME="OraDbHome1"
TOPLEVEL_COMPONENT={"oracle.server","10.2.0.1.0"}
DEINSTALL_LIST={"oracle.server","10.2.0.1.0"}
SHOW_SPLASH_SCREEN=false
SHOW_WELCOME_PAGE=false
SHOW_NODE_SELECTION_PAGE=false
SHOW_SUMMARY_PAGE=false
SHOW_INSTALL_PROGRESS_PAGE=false
SHOW_CONFIG_TOOL_PAGE=false
SHOW_XML_PREREQ_PAGE=false
SHOW_ROOTSH_CONFIRMATION=true
SHOW_END_SESSION_PAGE=false
SHOW_EXIT_CONFIRMATION=false
NEXT_SESSION=false
NEXT_SESSION_ON_FAIL=false
SHOW_DEINSTALL_CONFIRMATION=false
SHOW_DEINSTALL_PROGRESS=false
RESTART_SYSTEM=<Value Unspecified>
RESTART_REMOTE_SYSTEM=<Value Unspecified>
REMOVE_HOMES=<Value Unspecified>
ORACLE_HOSTNAME=<Value Unspecified>
SHOW_END_OF_INSTALL_MSGS=false
CLUSTER_NODES=<Value Unspecified>
COMPONENT_LANGUAGES={"en"}
INSTALL_TYPE="EE"
s_nameForDBAGrp=dba
s_nameForOPERGrp=dba
n_configurationOption=3
s_ASMSYSPassword=""
s_ASMSYSPasswordAgain=""
n_dbType=<Value Required>
oracle.assistants.server:s_responseFileName=<Value Unspecified>
s_globalDBName=<Value Required>
s_dbSid=<Value Required>
s_dbRetChar="WE8ISO8859P1"
b_loadExampleSchemas=false
b_useDBControl=true
b_receiveEmailNotification=false
s_dlgEMSMTPServer=<Value Unspecified>
s_dlgEMEmailAddress=<Value Unspecified>
s_dlgEMCentralAgentSelected=<Value Unspecified>
n_dbStorageType=<Value Unspecified>
s_mountPoint=<Value Unspecified>
s_rawDeviceMapFileLocation=<Value Unspecified>
b_enableAutoBackup=false
b_useFileSystemForRecovery=true
s_dlgRBORecoveryLocation=<Value Unspecified>
s_dlgRBOUsername=<Value Unspecified>
s_dlgRBOPassword=<Value Unspecified>
s_dlgASMCfgDiskGroupName="DATA"
s_dlgASMCfgDiskDiscoveryString=<Value Unspecified>
n_dlgASMCfgRedundancySelected=<Value Unspecified>
sl_dlgASMCfgSelectableDisks=<Value Unspecified>
sl_dlgASMCfgDiskSelections=<Value Unspecified>
sl_dlgASMDskGrpSelectedGroup={" "," "," "," "}
b_centrallyManageASMInstance=true
b_useSamePassword=true
s_superAdminSamePasswd=<Value Unspecified>
s_superAdminSamePasswdAgain=<Value Unspecified>
sl_superAdminPasswds=<Value Unspecified>
sl_superAdminPasswdsAgain=<Value Unspecified>
n_performUpgrade=0
n_upgradeDB=0
s_dbOHSelectedForUpgrade=""
s_dbSIDSelectedForUpgrade=""
n_upgradeASM=0
s_dbSelectedUsesASM="no"
sl_upgradableSIDBInstances={}
sl_upgradableRACDBInstances={}
n_dbSelection=0
b_stateOfUpgradeASMCheckbox=false
b_stateOfUpgradeDBCheckbox=false
b_oneClick=false
s_dlgASMCfgRedundancyValue=""
s_dlgASMCfgExistingFreeSpace="0"
s_dlgASMCfgNewDisksSize=""
s_dlgASMCfgAdditionalSpaceNeeded="0 MB"
上述是只有安装了software,等下要继续安装database
. 开始安装
cd /srv/database/
./runInstaller -silent -responseFile /srv/database/response/enterprise01.rsp
安装完后执行如下脚本。
/oracle/product/10.2.0/root.sh
/oracle/oraInventory/orainstRoot.sh
至此Oracle的产品已经安装完成,可是目前为止我们还没有建立数据库。
由于没有X界面无法启动dbca ,所以不能用dbca来帮我们建立数据库。这时候你可能会想到用create database 语句来建立数据库,可是语法实在是繁琐,并且还要运行许多的
oracle脚本 。
下面我们来利用oracle提供的种子数据库还原一个数据库出来。
假设我们要建立的数据库的名称为mediadb 。
2.建立我们所需的目录
mkdir -p /oracle/admin/mediadb/{a,b,u,c}dump
mkdir -p /oracle/oradata/mediadb
找到oracle为种子数据库提供的控制文件并copy至/oracle/oradata/mediadb
cp /oracle/product/10.2.0/assistants/dbca/templates/Seed_Database.ctl /oracle/oradata/mediadb/
3.建立pfile文件
cd /oracle/product/10.2.0/dbs/
vi initorcl.ora
*.db_name=SEEDDATA #注:因为Seed_Database.ctl控制文件中记录的db_name为SEEDDATA。
control_files='/u01/app/oracle/oradata/orcl/Seed_Database.ctl'
compatible=10.2.0.1.0
4.启动数据库到mount状态
sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production . Mon May 12 21:48:47 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup mount
ORACLE instance started.
Total System Global Area 117440512 bytes
Fixed Size 1218004 bytes
Variable Size 58722860 bytes
Database Buffers 50331648 bytes
Redo Buffers 7168000 bytes
Database mounted.
使用默认的参数建立spfile
SQL> create spfile from pfile;
重新启动数据库
SQL> shutdown immediate
SQL> startup mount
更改sga_max_size,sga_target参数的值 。
SQL> alter system set sga_max_size=200M scope=spfile;
SQL> alter system set sga_target=160M scope=spfile;
然后再次重新启动数据库
SQL> shutdown immediate
SQL> startup mount
5.用rman连接数据库
[oracle@lsuperman dbs]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on ÐÇÆÚËÄ 12ÔÂ 15 03:18:21 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: SEEDDATA (DBID=3901070184, not open)
RMAN> list backupset;
using target database control file instead of recovery catalog
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 89.98M DISK 00:00:52 22-10ÔÂ-05
BP Key: 1 Status: AVAILABLE Compressed: YES Tag:
Piece Name: /ade/aime_ship_10gR2_050630.0022/oracle/oradata/Seed_Database.dfb
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ---------- ----
1 Full 525875 22-10ÔÂ-05 /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/system01.dbf
2 Full 525875 22-10ÔÂ-05 /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/undotbs01.dbf
3 Full 525875 22-10ÔÂ-05 /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/sysaux01.dbf
4 Full 525875 22-10ÔÂ-05 /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/users01.dbf
可以看到,我们可以利用/ade/aime_ship_10gR2_050630.0022/oracle/oradata/Seed_Database.dfb这个备份集来还原数据库。
但 是很明显我们系统中并没有这样一个文件/ade/aime_ship_10gR2_050630.0022/oracle/oradata/Seed_Database.dfb,但是查找发现路径/u01/app/oracle/product/10.2.0/db_1/assistants/dbca/templates下有 Seed_Database.dfb文件 。
有两种方法,一个是建立一个软链接/ade/aime_10.2_lnx_push/oracle /oradata/Seed_Database.dfb 指向/u01/app/oracle/product/10.2.0/db_1/assistants/dbca/templates /Seed_Database.dfb 。另一个是创建目录/ade/aime_10.2_lnx_push/oracle/oradata/
并将Seed_Database.dfb copy至其下 。
ln -s /oracle/product/10.2.0/assistants/dbca/templates/Seed_Database.dfb /ade/aime_ship_10gR2_050630.0022/oracle/oradata/Seed_Database.dfb
6.还原数据库
rman target / cmdfile=/home/oracle/bk
bk文件如下:
run {
set newname for datafile '/ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/system01.dbf' to '/oracle/oradata/mediadb/system01.dbf';
set newname for datafile '/ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/sysaux01.dbf' to '/oracle/oradata/mediadb/sysaux01.dbf';
set newname for datafile '/ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/undotbs01.dbf' to '/oracle/oradata/mediadb/undotbs01.dbf';
set newname for datafile '/ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/users01.dbf' to '/oracle/oradata/mediadb/users01.dbf';
restore database;
switch datafile all;
}
数据文件恢复完毕以后,缺少日志文件。
因为控制文件中记录的log file路径为 /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/
所以要先创建相应的目录。
mkdir -p /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/
SQL> alter database open resetlogs; 然后数据库自动在相应的路径下创建的log [oracle@lsuperman ~]$ cd /ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/ [oracle@lsuperman seeddata]$ ls redo01.log redo02.log redo03.log temp01.dbf [oracle@lsuperman seeddata]$ cp * /oracle/oradata/mediadb/ 启动数据库到mount状态,并更改日志和临时文件的路径 alter database rename file '/ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/redo03.log' to '/oracle/oradata/mediadb/redo03.log'; alter database rename file '/ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/redo01.log' to '/oracle/oradata/mediadb/redo01.log'; alter database rename file '/ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/redo02.log' to '/oracle/oradata/mediadb/redo02.log'; alter database rename file '/ade/aime_ship_10gR2_050630.0022/oracle/oradata/seeddata/temp01.dbf' to '/oracle/oradata/mediadb/temp01.dbf'; SQL> alter database open; 到此数据库已经建立,并且数据文件也放到了我们期待的地方。但是还有一个问题,就是数据库名称不是我们事先期待的。 SQL> show parameter name; NAME TYPE VALUE ------------------------------------ ---------------------- ------------------------------ db_file_name_convert string db_name string SEEDDATA db_unique_name string SEEDDATA global_names boolean FALSE instance_name string mediadb lock_name_space
相关文章推荐
- ORACLE10G在Centos6.4上安装
- 在64位CentOS6.2上安装64位oracle10g失败总结
- CentOS6.2上安装Oracle10g报ins_emdb.mk错误处理方法
- Linux(centos6.5)安装oracle10G_64位
- centos6.6_X64安装oracle10G
- centos5.8 安装oracle10g
- CentOS安装oracle10g
- CentOS5.6下安装Oracle10G软件 【保留报错经验】
- 在CentOS下安装Oracle10g
- CentOS安装oracle10g配置脚本
- CentOS 5 上安装Oracle10g
- CentOS安装ArcSDE 中间件for Oracle10G(转)
- CentOS5.3安装Oracle10g 小记
- CentOS6.3安装oracle10G
- CentOS6.2上安装Oracle10g报ins_emdb.mk错误处理方法
- CentOS下安装Oracle10g图文教程|Linux安装Oracle10g
- oracle10G 在 CENTOS 5.5下安装
- 全程图解:Centos 5.2 下 ORACLE10G 安装配置
- Oracle10g在CENTOS上的安装和升级(1)——准备篇
- CentOS 5 安装Oracle10g