oracle10g静默安装

来源:互联网 发布:mac系统隐藏桌面图标 编辑:程序博客网 时间:2024/06/11 17:44
 

 //////////////////////////////////////////////////////////

---- 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/o

radata/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> 

 

 

 

 

 

 

 

原创粉丝点击