Oracle 10g 靜默安裝

guyuanli發表於2009-07-20

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

[@more@]

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>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7490392/viewspace-1024289/,如需轉載,請註明出處,否則將追究法律責任。

相關文章