Oracle 10g静默安装(实战平台:RHEL5,内核版本:2.6.18-8.el5)

---- Step 1. 准备文件

1). 拷贝文件 10201_database_linux32.zip 到 /oracle目录下;

2). 解压(可用鼠标右击解压,或用口令, cd /oracle)
[root@lym oracle]# uzip 10201_database_linux32.zip

3). 在/etc目录下创建一个名为 oraInst.loc 的文件,文件中的内容(两行代码)如下:
inventory_loc=ORACLE_BASE/oraInventory
inst_group= oinstall

4). 输入下面的命令在oraInst.loc文件上设置合适的拥有者,组和权限:
[root@lym oracle]# chown oracle:oinstall oraInst.loc
[root@lym oracle]# chmod 664 oraInst.loc
//////////////////////////////////////////////////////////
---- Step 2 检查硬件需求
1). 查看系统物理内存,以下输出可以看出,有1G的内存,内存最低要求256M。
[root@lym oracle]# grep MemTotal /proc/meminfo 
MemTotal:      1035400 kB

2). 查看交换空间大小,以下输出可以看出,有2G的交换空间,交换空间的最优设置与你物理内存大小相关,详细说明请参考安装文档
[root@lym oracle]# grep SwapTotal /proc/meminfo
SwapTotal:     2096440 kB

3). 查看可用物理内存和交换空间
[root@lym oracle]# free
             total       used       free     shared    buffers     cached
Mem:       1035400    1019716      15684          0      10152     815440
-/+ buffers/cache:     194124     841276
Swap:      2096440        108    2096332

4). 查看挂载的临时分区空间情况
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda3              8823460   4068908   4299112  49% /

--客户端安装有四种安装模式供选择,各种安装模式的功能及其占用磁盘空间请见安装文档,
--我选择“Administrator”,占用空间为:820 MB,以适应sb1机器的使用要求!

5). 查看处理器类型,看是否适合安装此软件
[root@lym oracle]# grep "model name" /proc/cpuinfo
model name      : Intel(R) Celeron(R) CPU 1.70GHz

/////////////////////////////////////////////////////////////////////
---- Step 3 检查软件需求

1). 查看Linux版本
[root@lym oracle]# cat /etc/issue
Red Hat Enterprise Linux Server release 5 (Tikanga)
Kernel \r on an \m

2). 查看内核版本
[root@lym oracle]# uname -a
Linux lym.oracle.com 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux

3). 检测及安装需要安装的系统软件包
[root@lym Server]# rpm -ivh glibc-headers-2.5-12.i386.rpm
[root@lym Server]# rpm -ivh glibc-devel-2.5-12.i386.rpm
[root@lym Server]# rpm -ivh libgomp-4.1.1-52.el5.i386.rpm
[root@lym Server]# rpm -ivh gcc-4.1.1-52.el5.i386.rpm
[root@lym Server]# rpm -ivh libstdc++-devel-4.1.1-52.el5.i386.rpm
[root@lym Server]# rpm -ivh gcc-c++-4.1.1-52.el5.i386.rpm
[root@lym Server]# rpm -ivh make-3.81-1.1.i386.rpm
[root@lym Server]# rpm -ivh libXp-1.0.0-8.i386.rpm
[root@lym Server]# rpm -ivh openmotif-2.3.0-0.3.el5.i386.rpm
[root@lym Server]# rpm -ivh setarch-2.0-1.1.i386.rpm
[root@lym Server]# rpm -ivh compat-db-4.2.52-5.1.i386.rpm
[root@lym Server]# rpm -ivh compat-gcc-34-3.4.6-4.i386.rpm
[root@lym Server]# rpm -ivh compat-gcc-34-c++-3.4.6-4.i386.rpm

[root@lym Server]# rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm

/////////////////////////////////////////////////////////////////////
---- Step 4 配置内核及其他参数
1). vi /etc/sysctl.conf    --加入以下11行代码(并将原来的# kernel.shmmax和kernel.shmall这两行参数屏蔽)
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

2). 执行以下命令使以上参数修改生效
[root@lym Server]# /sbin/sysctl -p

3). vi /etc/security/limits.conf --加入以下四行代码
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

4). vi /etc/pam.d/login  --加入下面一行代码
session required /lib/security/pam_limits.so

5). vi /etc/selinux/config --(禁用SELINUX,安装完后可再还原成原值) 将SELINUX设置为
  SELINUX=disabled

////////////////////////////////////////////////////////////
---- Step 5. 添加用户组和用户,并为oracle用户设置密码

[root@lym Server]# groupadd oinstall
[root@lym Server]# groupadd dba
[root@lym Server]# groupadd oper
[root@lym Server]# useradd -g oinstall -G dba oracle
[root@lym Server]# passwd oracle
Changing password for user oracle.
New UNIX password: 
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.

/////////////////////////////////////////////////////////////
---- Step 6. 创建安装Oracle的文件夹,并设置其相应权限给Oracle用户。
[root@lym Server]# mkdir -p /u01/app/oracle/product/10.2.0/db_1
[root@lym Server]# chown -R oracle.oinstall /u01
[root@lym Server]# chmod 775 /u01

/////////////////////////////////////////////////////////////
---- Step 7. 伪装操作系统版本,使安装Oracle时,通过操作系统验证。
vi /etc/redhat-release  --(可保存此文件的副本在某位置,以便安装完成后,复原此文件)
--将这文件中的内容( Red Hat Enterprise Linux Server release 5 (Tikanga) )
替换为如下代码:
redhat-4

/////////////////////////////////////////////////////////////
---- Step 8. Oracle 10g 默认不支持中文
安装时将 /etc/sysconfig/i18n 中的 LANG改为 en 即可

/////////////////////////////////////////////////////////////
---- Step 9. 设置Oracle环境变量(可根据你的需要作适当更改)
[root@lym Server]# vi /home/oracle/.bash_profile   --加入内容如下
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=TSH1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

////////////////////////////////////////////////////////////
---- Step 10. 注销root用户,并登录oracle用户,在/home/oracle目录下建立一个名为enterprise01.rsp的文件,里面的具体内容如下(参考/oracle/database/response目录下面的enterprise.rsp文件,该目录下有三个文件enterprise.rsp(企业版静默安装文件),standard.rsp(标准版静默安装文件)和custom.rsp(客户版静默安装文件),另外还有其他三个静默安装文件)。

RESPONSEFILE_VERSION=2.2.1.0.0
FROM_LOCATION="../stage/products.xml"
ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1/"
ORACLE_HOME_NAME="OraDb10g_home1"
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_COMPONENT_LOCATIONS_PAGE=false
SHOW_CUSTOM_TREE_PAGE=false
SHOW_SUMMARY_PAGE=false
SHOW_INSTALL_PROGRESS_PAGE=false
SHOW_REQUIRED_CONFIG_TOOL_PAGE=false
SHOW_CONFIG_TOOL_PAGE=false
SHOW_RELEASE_NOTES=false
SHOW_ROOTSH_CONFIRMATION=false
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
ACCEPT_LICENSE_AGREEMENT=true
COMPONENT_LANGUAGES={"en"}
CLUSTER_NODES=
INSTALL_TYPE="EE"
s_nameForDBAGrp=dba
s_nameForOPERGrp=dba
b_oneClick=false
SHOW_DATABASE_CONFIGURATION_PAGE=false
b_createStarterDB=false

///////////////////////////////////////////////////////////////////
---- Step 11. 开始安装
[oracle@lym ~]$ cd /oracle/database
[oracle@lym database]$ ./runInstaller -silent -responseFile /home/oracle/enterprise01.rsp

-------安装时终端输出类似如文件"安装过程中的终端显示2.txt"中的内容--------
-------请您耐心等待,可先去喝杯荼!---------

//////////////////////////////////////////////////////////////////
---- Step 12. 以root用户运行安装后环境所需脚本(千万主意:要以root用户去执行这两个脚本,执行后一个脚本时,回车一下就可以了)
[root@lym ~]# sh /u01/app/oracle/oraInventory/orainstRoot.sh
[root@lym ~]# sh /u01/app/oracle/product/10.2.0/db_1/root.sh

---- Step 测试看能否进sqlplus----
[oracle@lym ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 22 00:25:56 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> 

至此Oracle的产品已经安装完成,可是目前为止我们还没有建立数据库。
由于没有X界面无法启动dbca ,所以不能用dbca来帮我们建立数据库。这时候你可能会想到用create database 语句来建立数据库,可是语法实在是繁琐,并且还要运行许多的
oracle脚本 。



此时,我们可以利用oracle提供的种子数据库还原一个数据库出来(详细见以下操作)
假设我们要建立的数据库的名称为TSH1(这个名称跟你安装前设置的环境变量中的ORACLE_SID相一致)。
-----------------------------------------------------------------------------
---------利用oracle提供的种子数据库还原一个数据库出来 的详细步骤---------------
///////////////////////////////////////////////////////////////////////////
---- Step 1. 建立我们所需的目录,并刷新授权。
[root@lym Server]# mkdir -p /u01/app/oracle/admin/TSH1/{a,b,u}dump
[root@lym Server]# mkdir -p /u01/app/oracle/oradata/TSH1
[root@lym Server]# chown -R oracle.oinstall /u01
[root@lym Server]# chmod 775 /u01
--你可以在oracle用户下,看刷新授权前后,权限的变化(比较如下)。 
[oracle@lym oracle]$ ls -l     --刷新授权前/uo1/oracle/oracle下面各文件的权限
total 16
drwxr-xr-x 3 root   root     4096 May 22 06:24 admin
drwxr-xr-x 3 root   root     4096 May 22 06:25 oradata
drwxr-xr-x 6 oracle oinstall 4096 May 22 06:19 oraInventory
drwxr-xr-x 3 oracle oinstall 4096 May 22 06:08 product
[oracle@lym oracle]$ ls -l     ----刷新授权后/uo1/oracle/oracle下面各文件的权限
total 16
drwxr-xr-x 3 oracle oinstall 4096 May 22 06:24 admin
drwxr-xr-x 3 oracle oinstall 4096 May 22 06:25 oradata
drwxr-xr-x 6 oracle oinstall 4096 May 22 06:19 oraInventory
drwxr-xr-x 3 oracle oinstall 4096 May 22 06:08 product

/////////////////////////////////////////////////////////////////////////////
---- Step 2. 找到oracle为种子数据库提供的控制文件并copy至/u01/app/oracle/oradata/TSH1目录下(在Oracle用户下操作)。
[oracle@lym oracle]$ cd /u01/app/oracle/product/10.2.0/db_1/assistants/dbca/templates/
[oracle@lym templates]$ cp Seed_Database.ctl /u01/app/oracle/oradata/TSH1

////////////////////////////////////////////////////////////////////////////
---- Step 3. 建立pfile文件(在Oracle用户下操作)。
[oracle@lym templates]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs
[oracle@lym templates]$ vi initTSH1.ora  --输入以下三行并保存退出
*.db_name=SEEDDATA
control_files='/u01/app/oracle/oradata/TSH1/Seed_Database.ctl'
compatible=10.2.0.1.0

----注:因为Seed_Database.ctl控制文件中记录的db_name为SEEDDATA,所以第一行的设置如此。
/////////////////////////////////////////////////////////////////////////////
---- Step 4. 启动数据库到mount状态,并使用默认的参数建立spfile文件;然后重新启动数据库并更改sga_max_size,sga_target参数的值;然后再次重新启动数据库(具体操作如下)。
[oracle@lym dbs]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 22 06:56:19 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area  113246208 bytes
Fixed Size                  1218004 bytes
Variable Size              58722860 bytes
Database Buffers           50331648 bytes
Redo Buffers                2973696 bytes
Database mounted.
SQL> create spfile from pfile;

File created.

SQL> shutdown immediate
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area  113246208 bytes
Fixed Size                  1218004 bytes
Variable Size              58722860 bytes
Database Buffers           50331648 bytes
Redo Buffers                2973696 bytes
Database mounted.
SQL> alter system set sga_max_size=200M scope=spfile;

System altered.

SQL> alter system set sga_target=160M scope=spfile;

System altered.

SQL> shutdown immediate
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area  209715200 bytes
Fixed Size                  1218580 bytes
Variable Size             100665324 bytes
Database Buffers          104857600 bytes
Redo Buffers                2973696 bytes
Database mounted.
SQL> 


---- Step 5. 用rman连接数据库
[oracle@lym ~]$ rman target /

Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 22 07:22:51 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database: SEEDDATA (DBID=3891038516, not open)

RMAN> list backup;

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.23M     DISK        00:00:36     30-JUN-05      
        BP Key: 1   Status: AVAILABLE  Compressed: YES  Tag: 
        Piece Name: /ade/aime_10.2_lnx_push/oracle/oradata/Seed_Database.dfb
  List of Datafiles in backup set 1
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  1       Full 446074     30-JUN-05 /ade/aime_10.2_lnx_push/oracle/oradata/seeddata/system01.dbf
  2       Full 446074     30-JUN-05 /ade/aime_10.2_lnx_push/oracle/oradata/seeddata/undotbs01.dbf
  3       Full 446074     30-JUN-05 /ade/aime_10.2_lnx_push/oracle/oradata/seeddata/sysaux01.dbf
  4       Full 446074     30-JUN-05 /ade/aime_10.2_lnx_push/oracle/oradata/seeddata/users01.dbf

RMAN> 

----可以看到,我们可以利用/ade/aime_10.2_lnx_push/oracle/oradata/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 指向 /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至其下 。

-- 这里,我们使用第二种方法(具体操作如下):
[root@lym ~]# mkdir -p /ade/aime_10.2_lnx_push/oracle/oradata/
[root@lym ~]# chown -R oracle.oinstall /ade
[root@lym ~]# chmod 775 /ade
[root@lym ~]# su - oracle
[oracle@lym ~]$ cd /u01/app/oracle/product/10.2.0/db_1/assistants/dbca/templates
[oracle@lym templates]$ cp Seed_Database.dfb /ade/aime_10.2_lnx_push/oracle/oradata/
[oracle@lym templates]$ 

////////////////////////////////////////////////////////////////////////////
---- Step 6. 还原数据库(先在RMAN下执行如下命令)
run {
set newname for datafile '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/system01.dbf' to '/u01/app/oracle/oradata/TSH1/system01.dbf';
set newname for datafile '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/sysaux01.dbf' to '/u01/app/oracle/oradata/TSH1/sysaux01.dbf';
set newname for datafile '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/undotbs01.dbf' to '/u01/app/oracle/oradata/TSH1/undotbs01.dbf';
set newname for datafile '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/users01.dbf' to '/u01/app/oracle/oradata/TSH1/users01.dbf';
restore database;
switch datafile all;
}

-- 然后,执行如下命令可以看到我们所需要的数据文件都还原回来了,但是现在还缺少log file 。
我们现在打开数据库。
[oracle@lym templates]$ cd /u01/app/oracle/oradata/TSH1
[oracle@lym TSH1]$ ls
Seed_Database.ctl  sysaux01.dbf  system01.dbf  undotbs01.dbf  users01.dbf
[oracle@lym TSH1]$ 

-- 因为控制文件中记录的log file路径为 /ade/aime_10.2_lnx_push/oracle/oradata/seeddata 所以要先创建相应的目录并再次刷新其权限(具体操作如下)。
[root@lym ~]# mkdir -p /ade/aime_10.2_lnx_push/oracle/oradata/seeddata
[root@lym ~]# chown -R oracle.oinstall /ade
[root@lym ~]# chmod 775 /ade

-- 然后在sqlplus中执行如下命令:
[oracle@lym TSH1]$ sqlplus / as sysdba
SQL> alter database open resetlogs;

Database altered.

SQL>

-- 此时,在目录/ade/aime_10.2_lnx_push/oracle/oradata/seeddata 下创建了redo01.log,redo02.log,redo03.log,temp01.dbf文件。

-- 我们要更改这几个文件的路径,所以先将数据库关闭,然后cp /ade/aime_10.2_lnx_push/oracle/oradata/seeddata/× /u01/app/oracle/oradata/orcl/
启动数据库到mount状态,并更改日志和临时文件的路径(具体操作如下)
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> 

[oracle@lym ~]$ cd /ade/aime_10.2_lnx_push/oracle/oradata/seeddata
[oracle@lym seeddata]$ cp redo01.log redo02.log redo03.log temp01.dbf /u01/app/oracle/oradata/TSH1/

-- 然后启动数据库到mount状态,并更改日志和临时文件的路径
SQL> startup mount;
ORACLE instance started.

Total System Global Area  209715200 bytes
Fixed Size                  1218580 bytes
Variable Size             104859628 bytes
Database Buffers          100663296 bytes
Redo Buffers                2973696 bytes
Database mounted.
SQL> alter database rename file '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/redo01.log' to '/u01/app/oracle/oradata/TSH1/redo01.log';

Database altered.

SQL> alter database rename file '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/redo02.log' to '/u01/app/oracle/oradata/TSH1/redo02.log';

Database altered.

SQL> alter database rename file '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/redo03.log' to '/u01/app/oracle/oradata/TSH1/redo03.log'; 

Database altered.

SQL> alter database rename file '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/temp01.dbf' to '/u01/app/oracle/oradata/TSH1/temp01.dbf';

Database altered.

SQL> alter database open;

Database altered.

SQL> 

-- 到此数据库已经建立,并且数据文件也放到了我们期待的地方。但是还有一个问题,就是数据库名称不是我们事先期待的。
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      TSH1
lock_name_space                      string
log_file_name_convert                string
service_names                        string      SEEDDATA
SQL> 

////////////////////////////////////////////////////////////////////////
下面我们将数据库名称SEEDDATA改成我们需要的TSH1 。注意此时仅仅更改参数文件的值是不行的,因为控制文件中同样也记录着数据库的名称。

-- Step 7. 更改数据库名称
-- 首先备份控制文件脚本(具体操作如下)
SQL> alter database backup controlfile to trace as '/tmp/ctl.txt';

Database altered.

SQL> create pfile from spfile;

File created.

SQL> 

-- 然后将spfile文件(spfileTSH1.ora)删除,编辑pfile文件(initTSH1.ora)将db_name="SEEDDATA" 改成 db_name="TSH1"(具体操作如下)。
[oracle@lym dbs]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs
[oracle@lym dbs]$ rm spfileTSH1.ora
[oracle@lym dbs]$ vi initTSH1.ora

-- 然后保存对initTSH1.ora的修改并退出。
-- 然后vi /home/oracle/ctl2.txt(参考/tmp/ctl.txt重建控制文件脚本),脚本的内容如下:

CREATE CONTROLFILE REUSE DATABASE "SEEDDATA" set database "TSH1"  RESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/u01/app/oracle/oradata/TSH1/redo01.log'  SIZE 50M,
  GROUP 2 '/u01/app/oracle/oradata/TSH1/redo02.log'  SIZE 50M,
  GROUP 3 '/u01/app/oracle/oradata/TSH1/redo03.log'  SIZE 50M
DATAFILE
  '/u01/app/oracle/oradata/TSH1/system01.dbf',
  '/u01/app/oracle/oradata/TSH1/undotbs01.dbf',
  '/u01/app/oracle/oradata/TSH1/sysaux01.dbf',
  '/u01/app/oracle/oradata/TSH1/users01.dbf',
  '/u01/app/oracle/oradata/TSH1/tt.dbf'
CHARACTER SET US7ASCII
;


-- 然后重新启动数据库到nomount状态,运行上面建立控制文件的脚本,然后打开数据库(具体操作如下) 。
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount;
ORACLE instance started.

Total System Global Area  209715200 bytes
Fixed Size                  1218580 bytes
Variable Size             104859628 bytes
Database Buffers          100663296 bytes
Redo Buffers                2973696 bytes
SQL> @/home/oracle/ctl2.txt

Control file created.

SQL> alter database open resetlogs; 

Database altered.

SQL> 


//////////////////////////////////////////////////////////////////////////
---- Step 8. 控制文件更名并实现冗余
[root@lym ~]# cd /u01/app/oracle/oradata/TSH1
[root@lym TSH1]# mv Seed_Database.ctl control01.ctl
[root@lym TSH1]# cp control01.ctl control02.ctl
[root@lym TSH1]# cp control01.ctl control03.ctl
[root@lym TSH1]# cd /u01/app/oracle/product/10.2.0/db_1/dbs
[root@lym dbs]# chown -R oracle.oinstall /u01
[root@lym dbs]# chmod 775 /u01 

-- 修改参数文件initTSH1.ora(修改*.control_files这一行,其内容如下)
[root@lym dbs]# vi initTSH1.ora
*.control_files='/u01/app/oracle/oradata/TSH1/control01.ctl','/u01/app/oracle/oradata/TSH1/control02.ctl','/u01/app/oracle/oradata/TSH1/control03.ctl'

-- 重新启动数据库,大功告成!
SQL> startup
ORACLE instance started.

Total System Global Area  209715200 bytes
Fixed Size                  1218580 bytes
Variable Size             104859628 bytes
Database Buffers          100663296 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.
SQL> show parameter name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string
db_name                              string      TSH1
db_unique_name                       string      TSH1
global_names                         boolean     FALSE
instance_name                        string      TSH1
lock_name_space                      string
log_file_name_convert                string
service_names                        string      TSH1
SQL> create user lym identified by lym;

User created.

SQL> grant resource to lym;

Grant succeeded.

SQL> grant create session to lym;

Grant succeeded.

SQL> conn lym/lym;
Connected.
SQL> select sysdate from dual;

SYSDATE
---------
22-MAY-08

SQL> 

你可能感兴趣的:(Oracle 10g静默安装(实战平台:RHEL5,内核版本:2.6.18-8.el5))