一直就想把這篇文章加進(jìn)來(lái),只可以一直沒(méi)有時(shí)間。剛好今天給我在測(cè)試機(jī)器上來(lái)了個(gè)誤操作rm * backup/*,把正在運(yùn)行的數(shù)據(jù)庫(kù)中的數(shù)據(jù)文件全部刪除了,真是郁悶!還好這個(gè)是給我們新人們測(cè)試玩的,要不然就死定了!在此也做一個(gè)提醒,身為DBA,要永遠(yuǎn)記住甚用或者禁止使用rm命令,萬(wàn)不得以的情況下,使用時(shí)在敲enter也要看了又看、慎重又慎重才行!好了,費(fèi)話不說(shuō)了,下面請(qǐng)看我的過(guò)程。


Red Hat Enterprise 3 + Oracle 10g Release 2

$su – oracle

1--- 設(shè)置系統(tǒng)環(huán)境變量:

ORACLE_HOME=/opt/oracle/product/10.2

ORACLE_BASE=/opt/oracle

ORACLE_SID=dbtest

......

2--- 系統(tǒng)規(guī)劃:

實(shí)例名稱(chēng)ORACLE_SID=dbtest

數(shù)據(jù)庫(kù)名稱(chēng)DB_NAME=dbtest

3--- 手工創(chuàng)建如下目錄:

/opt/oracle/admin/dbtest/cdump

/opt/oracle/admin/dbtest/bdump

/opt/oracle/admin/dbtest/udump

/opt/oracle/admin/dbtest/pfile

/opt/oracle/oradata/dbtest/

/opt/oracle/oradata/dbtest/archive

4--- 建立密碼文件:

orapwd file=/opt/oracle/product/10.2/dbs/orapwd_dbtest password=superman

5---修改參數(shù)文件:

格式:/opt/oracle/product/10.2/dbs/init.ora

實(shí)例:/opt/oracle/product/10.2/dbs/initdbtest.ora

內(nèi)容如下:

---------------------------------------------------

dbtest.__db_cache_size=331350016

dbtest.__java_pool_size=4194304

dbtest.__large_pool_size=8388608

dbtest.__shared_pool_size=138412032

dbtest.__streams_pool_size=0

*._kgl_large_heap_warning_threshold=8388608

*.audit_file_dest='/opt/oracle/admin/dbtest/adump'

*.background_dump_dest='/opt/oracle/admin/dbtest/bdump'

*.compatible='10.2.0.1.0'

*.control_files='/opt/oracle/oradata/dbtest/control01.ctl','/opt/oracle/oradata/dbtest/control02.ctl','/opt/oracle/oradata/dbtest/control03.ctl'

*.core_dump_dest='/opt/oracle/admin/dbtest/cdump'

*.db_2k_cache_size=33554432

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=128

*.db_files=4000

*.db_name='dbtest'

*.db_recovery_file_dest_size=4294967296

*.db_recovery_file_dest=''

*.log_archive_dest='/opt/oracle/oradata/dbtest/archive'

*.log_checkpoints_to_alert=FALSE

*.open_cursors=300

*.parallel_execution_message_size=65535

*.parallel_max_servers=128

*.pga_aggregate_target=209715200

*.processes=150

*.recyclebin='OFF'

*.remote_login_passwordfile='EXCLUSIVE'

*.replication_dependency_tracking=FALSE

*.session_cached_cursors=100

*.sga_target=500m

*.shared_pool_size=100m

*.undo_management='AUTO'

*.undo_retention=0

*.undo_tablespace='UNDOTS'

*.user_dump_dest='/opt/oracle/admin/dbtest/udump'

*.workarea_size_policy='AUTO'

_allow_resetlogs_corruption=true

---------------------------------------------------

可將此文件復(fù)制到:/opt/oracle/admin/dbtest/pfile/init.ora

6--- 登陸oracle

> sqlplus “/ as sysdba”

7--- 啟動(dòng)實(shí)例:

SQL> startup nomount pfile=/opt/oracle/admin/dbtest/pfile/init.ora

8--- 創(chuàng)建數(shù)據(jù)庫(kù)的腳本:

-----------------------------------------------------------

CREATE DATABASE dbtest

LOGFILE

GROUP 1 ('/opt/oracle/oradata/dbtest/redo01.log','/opt/oracle/oradata/dbtest/redo01_1.log') size 100m reuse,

GROUP 2 ('/opt/oracle/oradata/dbtest/redo02.log','/opt/oracle/oradata/dbtest/redo02_1.log') size 100m reuse,

GROUP 3 ('/opt/oracle/oradata/dbtest/redo03.log','/opt/oracle/oradata/dbtest/redo03_1.log') size 100m reuse

MAXLOGFILES 50

MAXLOGMEMBERS 5

MAXLOGHISTORY 200

MAXDATAFILES 500

MAXINSTANCES 5

ARCHIVELOG

CHARACTER SET UTF8

NATIONAL CHARACTER SET UTF8

DATAFILE '/opt/oracle/oradata/dbtest/system01.dbf' SIZE 1000M EXTENT MANAGEMENT LOCAL

SYSAUX DATAFILE '/opt/oracle/oradata/dbtest/sysaux01.dbf' SIZE 1000M

UNDO TABLESPACE UNDOTS DATAFILE '/opt/oracle/oradata/dbtest/undo.dbf' SIZE 500M

DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/opt/oracle/oradata/dbtest/temp.dbf' SIZE 500M

;

-----------------------------------------------------------

9--- 運(yùn)行如下文件(安裝下面的先后順序)

/opt/oracle/product/10.2/rdbms/admin/catalog.sql

/opt/oracle/product/10.2/rdbms/admin/catproc.sql

10--- 創(chuàng)建相關(guān)表空間與用戶:

CREATE TABLESPACE USERS DATAFILE '/opt/oracle/oradata/dbtest/users01.dbf' SIZE 1000M;---數(shù)據(jù)表空間

CREATE TABLESPACE INDX DATAFILE '/opt/oracle/oradata/dbtest/indx01.dbf' SIZE 1000M;---在建立索引的時(shí)候把此表空間作為存儲(chǔ)空間,即單獨(dú)用一個(gè)表空間來(lái)存儲(chǔ)索引,這是個(gè)好習(xí)慣,雖然我們沒(méi)有辦法建立一個(gè)默認(rèn)的索引表空間!

CREATE USER test IDENTIFIED BY test DEFAULT TABLESPACE users ;---測(cè)試用戶

GRANT CONNECT,RESOURCE TO test;

11--- 一點(diǎn)注意的地方:

1>.相關(guān)文件的目錄要設(shè)置正確,有數(shù)據(jù)文件,控制文件,參數(shù)文件等,還有就是它們的位置要與控制文件中指定的要一致。

2>.init.ora中的undo_tablespace的名字必須要與create database的相同,包括大小寫(xiě)等注意。否則很麻煩,報(bào)的錯(cuò)誤你都不知道是不是在忽悠你!總之,一句話,控制文件中的內(nèi)容要和init文件中的內(nèi)容以及要和實(shí)際文件的實(shí)際情況要相同。

3>.分析數(shù)據(jù)庫(kù)出錯(cuò)可以到/opt/oracle/admin/dbtest/bdump/alert_dbtest.log中查找。