【手工建庫】手工方式建立 ORACLE資料庫全程記錄
透過dbca方式建立Oracle資料庫是最常見的方法,除此之外如果對資料庫的建立過程瞭解的話,亦可一步一步的透過命令列的方式完成資料庫的建立。
現將在OEL4.8作業系統上手工建立Oracle資料庫例項的方法記錄在此,供參考。
1.手工建庫前提條件
既然已經到了建立資料庫例項的階段,因此主機上的資料庫軟體需要事先建立完畢。
2.準備.bash_profile配置檔案並確認環境變數
1)編輯.bash_profile檔案
[oracle@secDB ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/sbin:/usr/local/bin
export PATH
unset USERNAME
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export ORACLE_SID=secooler
export PATH=$ORACLE_HOME/bin:$PATH
需要設定的環境變數主要就是這三個:ORACLE_BASE、ORACLE_HOME、ORACLE_SID和PATH
需要說明的是PATH變數的設定,需要將“$ORACLE_HOME/bin”寫在“$PATH”之前,這樣設定主要目的是:Oracle命令優先被選擇。
2)使.bash_profile配置檔案生效
[oracle@secDB ~]$ . ./.bash_profile
或
[oracle@secDB ~]$ source ./.bash_profile
3)確認ORACLE_SID等環境變數被正確設定
[oracle@secDB ~]$ env | grep -i sid
ORACLE_SID=secooler
[oracle@secDB ~]$ env | grep ORACLE_BASE
ORACLE_BASE=/u01/app/oracle
[oracle@secDB ~]$ env | grep ORACLE_HOME
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
3.在$ORACLE_BASE下建立所需的目錄
1)建立四個轉儲目錄
[oracle@secDB ~]$ cd $ORACLE_BASE
[oracle@secDB oracle]$ mkdir -p admin/secooler/adump
[oracle@secDB oracle]$ mkdir -p admin/secooler/bdump
[oracle@secDB oracle]$ mkdir -p admin/secooler/cdump
[oracle@secDB oracle]$ mkdir -p admin/secooler/udump
2)建立存放資料檔案、日誌檔案和控制檔案的目錄
[oracle@secDB oracle]$ mkdir -p oradata/secooler/dfile
[oracle@secDB oracle]$ mkdir -p oradata/secooler/lfile
[oracle@secDB oracle]$ mkdir -p oradata/secooler/cfile
3)建立備份介質存放的目錄
[oracle@secDB oracle]$ mkdir -p rmanbak
4.生成密碼檔案
[oracle@secDB ~]$ cd $ORACLE_HOME/dbs
[oracle@secDB dbs]$ orapwd file=orapwsecooler password=change_on_install entries=10
5.建立所需的pfile和spfile
1)建立pfile檔案並調整
我們根據Oracle安裝軟體$ORACLE_HOME/dbs目錄下自帶的init.ora來定製我們需要的pfile。
(1)進入到$ORACLE_HOME/dbs目錄
[oracle@secDB ~]$ cd $ORACLE_HOME/dbs
(2)去掉預設init.ora檔案中雜亂的內容,僅保留引數本身資訊
[oracle@secDB dbs]$ cat init.ora |grep -v ^# |grep -v ^$ > initsecooler.ora
(3)調整initsecooler.ora引數內容
調整後的內容如下:
[oracle@secDB dbs]$ vi initsecooler.ora
db_name=secooler
db_files = 80 # SMALL
db_file_multiblock_read_count = 8 # SMALL
#db_block_buffers = 100 # SMALL
#shared_pool_size = 3500000 # SMALL
log_checkpoint_interval = 10000
processes = 50 # SMALL
parallel_max_servers = 5 # SMALL
log_buffer = 32768 # SMALL
max_dump_file_size = 10240 # limit trace file size to 5 Meg each
global_names = TRUE
#control_files = (ora_control1, ora_control2)
control_files = (/u01/app/oracle/oradata/secooler/cfile/ora_control1,/u01/app/oracle/oradata/secooler/cfile/ora_control2,/u01/app/oracle/oradata/secooler/cfile/control3)
sga_max_size=300M
sga_target=300M
~
~
較之系統自帶的引數檔案做了如下修改動作:
a.修改db_name引數為
b.登出掉引數db_block_buffers、shared_pool_size
c.修改controlfile引數
c.增加sga_max_size和sga_target引數,大小設定為300M。
2)建立spfile並調整
(1)使用sqlplus命令登陸建立spfile
[oracle@secDB dbs]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 7 22:44:55 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> create spfile from pfile;
(2)啟動資料庫到nomount狀態,調整spfile引數
a.啟動資料庫到nomount狀態
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1219184 bytes
Variable Size 96470416 bytes
Database Buffers 213909504 bytes
Redo Buffers 2973696 bytes
b.需要修改的spfile引數如下
SQL> alter system set undo_management=auto scope=spfile;
SQL> alter system set db_create_file_dest='/u01/app/oracle/oradata/secooler/dfile' scope=spfile;
SQL> alter system set db_create_online_log_dest_1='/u01/app/oracle/oradata/secooler/lfile' scope=spfile;
SQL> alter system set job_queue_processes =5 scope=spfile;
SQL> alter system set background_dump_dest='/u01/app/oracle/admin/secooler/bdump' scope=spfile;
SQL> alter system set core_dump_dest= '/u01/app/oracle/admin/secooler/cdump' scope=spfile;
SQL> alter system set user_dump_dest='/u01/app/oracle/admin/secooler/udump' scope=spfile;
SQL> alter system set audit_file_dest='/u01/app/oracle/admin/secooler/adump' scope=spfile;
c.停起資料庫到nomount狀態使spfile調整生效
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1219184 bytes
Variable Size 96470416 bytes
Database Buffers 213909504 bytes
Redo Buffers 2973696 bytes
6.建立資料庫
1)編寫create database指令碼
(1)獲取create database的參考指令碼
在Oracle文件中中有一個供參考的建立語句
(1)進入到Oracle官方文件的首頁:;
(2)點選“Books”;
(3)在列出來的參考書目中的找到第5本書“Administrator's Guide”,點選“HTML”進入;
(4)搜尋關鍵字“create database statement”,位到“Step 7: Issue the CREATE DATABASE Statement”,點選進入便可以得到建立資料庫的參考指令碼;
2)調整參考指令碼中的內容為我所用
(1)需要調整的內容
資料庫名字
SYS和SYSTEM密碼
路徑名修改,注意一定要準確全面
表空間tbs_1後面給出具體資料檔案資訊
(2)調整後的指令碼如下
CREATE DATABASE secooler
USER SYS IDENTIFIED BY change_on_install
USER SYSTEM IDENTIFIED BY manager
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/secooler/lfile/redo01.log') SIZE 100M,
GROUP 2 ('/u01/app/oracle/oradata/secooler/lfile/redo02.log') SIZE 100M,
GROUP 3 ('/u01/app/oracle/oradata/secooler/lfile/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/u01/app/oracle/oradata/secooler/dfile/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u01/app/oracle/oradata/secooler/dfile/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE tbs_1 datafile '/u01/app/oracle/oradata/secooler/dfile/tbs_1.dbf' size 50m
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/secooler/dfile/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u01/app/oracle/oradata/secooler/dfile/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
3)使用上面的create database指令碼建立資料庫
指令碼執行之後,此時資料庫狀態已經為OPEN狀態。
SQL> select status from v$instance;
STATUS
------------
OPEN
4)設定資料檔案和臨時檔案為自動擴充套件
(1)獲得所有資料檔案和臨時檔案資訊
SQL> col name for a60
SQL> select file#,name from v$datafile union select file#,name from v$tempfile;
FILE# NAME
---------- ------------------------------------------------------------
1 /u01/app/oracle/oradata/secooler/dfile/system01.dbf
1 /u01/app/oracle/oradata/secooler/dfile/temp01.dbf
2 /u01/app/oracle/oradata/secooler/dfile/undotbs01.dbf
3 /u01/app/oracle/oradata/secooler/dfile/sysaux01.dbf
4 /u01/app/oracle/oradata/secooler/dfile/tbs_1.dbf
(2)將其調整為自動擴充套件
SQL> alter database datafile 1 autoextend on;
SQL> alter database datafile 2 autoextend on;
SQL> alter database datafile 3 autoextend on;
SQL> alter database datafile 4 autoextend on;
SQL> alter database tempfile 1 autoextend on;
7.執行catalog.sql和catproc.sql指令碼建立資料字典檢視並配置
注意這兩個指令碼需要以SYSDBA身份來執行
[oracle@secDB ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 7 22:17:18 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> @?/rdbms/admin/catalog.sql
... ...
... 大約需要5分鐘 ...
... ...
SQL> @?/rdbms/admin/catproc.sql
... ...
... 大約需要10分鐘 ...
... ...
8.小結
手工建立資料庫相比dbca來說繁瑣了很多,不過整個安裝過程體現的是Oracle的執行原理,對於理解資料庫細節來說有很大的裨益。
Good luck.
secooler
10.07.07
-- The End --
現將在OEL4.8作業系統上手工建立Oracle資料庫例項的方法記錄在此,供參考。
1.手工建庫前提條件
既然已經到了建立資料庫例項的階段,因此主機上的資料庫軟體需要事先建立完畢。
2.準備.bash_profile配置檔案並確認環境變數
1)編輯.bash_profile檔案
[oracle@secDB ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/sbin:/usr/local/bin
export PATH
unset USERNAME
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export ORACLE_SID=secooler
export PATH=$ORACLE_HOME/bin:$PATH
需要設定的環境變數主要就是這三個:ORACLE_BASE、ORACLE_HOME、ORACLE_SID和PATH
需要說明的是PATH變數的設定,需要將“$ORACLE_HOME/bin”寫在“$PATH”之前,這樣設定主要目的是:Oracle命令優先被選擇。
2)使.bash_profile配置檔案生效
[oracle@secDB ~]$ . ./.bash_profile
或
[oracle@secDB ~]$ source ./.bash_profile
3)確認ORACLE_SID等環境變數被正確設定
[oracle@secDB ~]$ env | grep -i sid
ORACLE_SID=secooler
[oracle@secDB ~]$ env | grep ORACLE_BASE
ORACLE_BASE=/u01/app/oracle
[oracle@secDB ~]$ env | grep ORACLE_HOME
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
3.在$ORACLE_BASE下建立所需的目錄
1)建立四個轉儲目錄
[oracle@secDB ~]$ cd $ORACLE_BASE
[oracle@secDB oracle]$ mkdir -p admin/secooler/adump
[oracle@secDB oracle]$ mkdir -p admin/secooler/bdump
[oracle@secDB oracle]$ mkdir -p admin/secooler/cdump
[oracle@secDB oracle]$ mkdir -p admin/secooler/udump
2)建立存放資料檔案、日誌檔案和控制檔案的目錄
[oracle@secDB oracle]$ mkdir -p oradata/secooler/dfile
[oracle@secDB oracle]$ mkdir -p oradata/secooler/lfile
[oracle@secDB oracle]$ mkdir -p oradata/secooler/cfile
3)建立備份介質存放的目錄
[oracle@secDB oracle]$ mkdir -p rmanbak
4.生成密碼檔案
[oracle@secDB ~]$ cd $ORACLE_HOME/dbs
[oracle@secDB dbs]$ orapwd file=orapwsecooler password=change_on_install entries=10
5.建立所需的pfile和spfile
1)建立pfile檔案並調整
我們根據Oracle安裝軟體$ORACLE_HOME/dbs目錄下自帶的init.ora來定製我們需要的pfile。
(1)進入到$ORACLE_HOME/dbs目錄
[oracle@secDB ~]$ cd $ORACLE_HOME/dbs
(2)去掉預設init.ora檔案中雜亂的內容,僅保留引數本身資訊
[oracle@secDB dbs]$ cat init.ora |grep -v ^# |grep -v ^$ > initsecooler.ora
(3)調整initsecooler.ora引數內容
調整後的內容如下:
[oracle@secDB dbs]$ vi initsecooler.ora
db_name=secooler
db_files = 80 # SMALL
db_file_multiblock_read_count = 8 # SMALL
#db_block_buffers = 100 # SMALL
#shared_pool_size = 3500000 # SMALL
log_checkpoint_interval = 10000
processes = 50 # SMALL
parallel_max_servers = 5 # SMALL
log_buffer = 32768 # SMALL
max_dump_file_size = 10240 # limit trace file size to 5 Meg each
global_names = TRUE
#control_files = (ora_control1, ora_control2)
control_files = (/u01/app/oracle/oradata/secooler/cfile/ora_control1,/u01/app/oracle/oradata/secooler/cfile/ora_control2,/u01/app/oracle/oradata/secooler/cfile/control3)
sga_max_size=300M
sga_target=300M
~
~
較之系統自帶的引數檔案做了如下修改動作:
a.修改db_name引數為
b.登出掉引數db_block_buffers、shared_pool_size
c.修改controlfile引數
c.增加sga_max_size和sga_target引數,大小設定為300M。
2)建立spfile並調整
(1)使用sqlplus命令登陸建立spfile
[oracle@secDB dbs]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 7 22:44:55 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> create spfile from pfile;
(2)啟動資料庫到nomount狀態,調整spfile引數
a.啟動資料庫到nomount狀態
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1219184 bytes
Variable Size 96470416 bytes
Database Buffers 213909504 bytes
Redo Buffers 2973696 bytes
b.需要修改的spfile引數如下
SQL> alter system set undo_management=auto scope=spfile;
SQL> alter system set db_create_file_dest='/u01/app/oracle/oradata/secooler/dfile' scope=spfile;
SQL> alter system set db_create_online_log_dest_1='/u01/app/oracle/oradata/secooler/lfile' scope=spfile;
SQL> alter system set job_queue_processes =5 scope=spfile;
SQL> alter system set background_dump_dest='/u01/app/oracle/admin/secooler/bdump' scope=spfile;
SQL> alter system set core_dump_dest= '/u01/app/oracle/admin/secooler/cdump' scope=spfile;
SQL> alter system set user_dump_dest='/u01/app/oracle/admin/secooler/udump' scope=spfile;
SQL> alter system set audit_file_dest='/u01/app/oracle/admin/secooler/adump' scope=spfile;
c.停起資料庫到nomount狀態使spfile調整生效
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1219184 bytes
Variable Size 96470416 bytes
Database Buffers 213909504 bytes
Redo Buffers 2973696 bytes
6.建立資料庫
1)編寫create database指令碼
(1)獲取create database的參考指令碼
在Oracle文件中中有一個供參考的建立語句
(1)進入到Oracle官方文件的首頁:;
(2)點選“Books”;
(3)在列出來的參考書目中的找到第5本書“Administrator's Guide”,點選“HTML”進入;
(4)搜尋關鍵字“create database statement”,位到“Step 7: Issue the CREATE DATABASE Statement”,點選進入便可以得到建立資料庫的參考指令碼;
2)調整參考指令碼中的內容為我所用
(1)需要調整的內容
資料庫名字
SYS和SYSTEM密碼
路徑名修改,注意一定要準確全面
表空間tbs_1後面給出具體資料檔案資訊
(2)調整後的指令碼如下
CREATE DATABASE secooler
USER SYS IDENTIFIED BY change_on_install
USER SYSTEM IDENTIFIED BY manager
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/secooler/lfile/redo01.log') SIZE 100M,
GROUP 2 ('/u01/app/oracle/oradata/secooler/lfile/redo02.log') SIZE 100M,
GROUP 3 ('/u01/app/oracle/oradata/secooler/lfile/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/u01/app/oracle/oradata/secooler/dfile/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u01/app/oracle/oradata/secooler/dfile/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE tbs_1 datafile '/u01/app/oracle/oradata/secooler/dfile/tbs_1.dbf' size 50m
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/secooler/dfile/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u01/app/oracle/oradata/secooler/dfile/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
3)使用上面的create database指令碼建立資料庫
指令碼執行之後,此時資料庫狀態已經為OPEN狀態。
SQL> select status from v$instance;
STATUS
------------
OPEN
4)設定資料檔案和臨時檔案為自動擴充套件
(1)獲得所有資料檔案和臨時檔案資訊
SQL> col name for a60
SQL> select file#,name from v$datafile union select file#,name from v$tempfile;
FILE# NAME
---------- ------------------------------------------------------------
1 /u01/app/oracle/oradata/secooler/dfile/system01.dbf
1 /u01/app/oracle/oradata/secooler/dfile/temp01.dbf
2 /u01/app/oracle/oradata/secooler/dfile/undotbs01.dbf
3 /u01/app/oracle/oradata/secooler/dfile/sysaux01.dbf
4 /u01/app/oracle/oradata/secooler/dfile/tbs_1.dbf
(2)將其調整為自動擴充套件
SQL> alter database datafile 1 autoextend on;
SQL> alter database datafile 2 autoextend on;
SQL> alter database datafile 3 autoextend on;
SQL> alter database datafile 4 autoextend on;
SQL> alter database tempfile 1 autoextend on;
7.執行catalog.sql和catproc.sql指令碼建立資料字典檢視並配置
注意這兩個指令碼需要以SYSDBA身份來執行
[oracle@secDB ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 7 22:17:18 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> @?/rdbms/admin/catalog.sql
... ...
... 大約需要5分鐘 ...
... ...
SQL> @?/rdbms/admin/catproc.sql
... ...
... 大約需要10分鐘 ...
... ...
8.小結
手工建立資料庫相比dbca來說繁瑣了很多,不過整個安裝過程體現的是Oracle的執行原理,對於理解資料庫細節來說有很大的裨益。
Good luck.
secooler
10.07.07
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31444259/viewspace-2150964/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 手工建立資料庫Oracle資料庫
- 手工建立oracle資料庫Oracle資料庫
- 手工建立oracle資料庫(轉)Oracle資料庫
- 手工建立資料庫資料庫
- 【原創】手工建立Oracle資料庫Oracle資料庫
- 4, 手工建立資料庫(筆記)資料庫筆記
- 【oracle手工建庫】Oracle
- oracle手工建庫Oracle
- 手工命令建立資料庫資料庫
- Oracle11g 手工建立資料庫Oracle資料庫
- 手工建立ORACLE 11g 資料庫Oracle資料庫
- oracle10g手工建立資料庫Oracle資料庫
- Oracle 10g手工建立資料庫Oracle 10g資料庫
- 手工建立oracle資料庫的過程Oracle資料庫
- oracle 10 手工建庫Oracle
- Oracle 9 手工建庫Oracle
- Oracle手工建庫指南Oracle
- Oracle 中手工建立資料庫的語法Oracle資料庫
- 手工建庫
- Oracle 9 手工建庫(轉)Oracle
- 手工刪除oracle資料庫Oracle資料庫
- oracle 11g手工建庫Oracle
- Oracle 10g手工建庫Oracle 10g
- oracle-手工建庫指令碼Oracle指令碼
- Oracle10g 手工建庫Oracle
- Oracle 11g r2基於OMF方式手工建立資料庫Oracle資料庫
- 手工建庫與dbca建庫
- 手工建立資料庫及刪除資料庫示例--附建庫時alert日誌資料庫
- 手工建立(Create)一個Oracle 10g資料庫Oracle 10g資料庫
- 手工建立oracle示例資料庫schema (Database Examples 安裝)Oracle資料庫Database
- oracle xe 10g 手工建立資料庫 for windows XPOracle資料庫Windows
- 2.4.10 Step 9:手工建立資料庫資料庫
- 手工建立資料庫的完整步驟資料庫
- 【手工建庫】(二)在原有資料庫的基礎上再建立一個資料庫資料庫
- win7 下手工建oracle庫Win7Oracle
- 手工建立/刪除資料庫的步驟資料庫
- 第一次手工建資料庫資料庫
- 水煮oracle28----oracle手工建庫步驟Oracle