共計 7943 個字符,預(yù)計需要花費 20 分鐘才能閱讀完成。
這篇文章主要為大家展示了“Oracle 如何實現(xiàn)手工建庫”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領(lǐng)大家一起研究并學習一下“Oracle 如何實現(xiàn)手工建庫”這篇文章吧。
可參考官方文檔操作
管理員指南
創(chuàng)建并配置數(shù)據(jù)庫
使用建庫語句創(chuàng)建數(shù)據(jù)庫
1-14 為官方文檔手工建庫步驟,9 為建庫語句
步驟 1:指定實例標識符(SID)
步驟 2:確保設(shè)置了所需的環(huán)境變量
第 3 步:選擇數(shù)據(jù)庫管理員身份驗證方法
第 4 步:創(chuàng)建初始化參數(shù)文件
步驟 5 :(僅限 Windows)創(chuàng)建一個實例
第 6 步:連接到實例
第 7 步:創(chuàng)建一個服務(wù)器參數(shù)文件
第 8 步:啟動實例
第 9 步:發(fā)出 CREATE DATABASE 語句
第 10 步:創(chuàng)建附加的表空間
第 11 步:運行腳本來構(gòu)建數(shù)據(jù)字典視圖
步驟 12 :(可選)運行腳本以安裝其他選項
步驟 13:備份數(shù)據(jù)庫。
步驟 14 :(可選)啟用自動實例啟動
1、創(chuàng)建必備的文件路徑
下面介紹下這幾個文件路徑的作用。
adump:存放審計信息
bdump:bdump 目錄存放的是數(shù)據(jù)庫動行過程中的各個后臺進程的跟蹤信息,當中 alert 文件是警告文件,其文件名稱為 alert_book.log,當數(shù)據(jù)庫出現(xiàn)問題時,首先就可以去查看此文件以找出原因,手工創(chuàng)建過程中出現(xiàn)的各種問題往往也可以通過查看這個文件找到原因。
cdump:數(shù)據(jù)庫遇到異常時用于存放異常信息。
create:不詳
pfile:存放初始化參數(shù)文件。
scripts:不詳
udump:放置 sql trace 之后的 session 的 trace 文件。
(2)在 oradata 文件夾下創(chuàng)建 TESTDB 文件夾
(3)在 flash_recovery_area 文件夾下創(chuàng)建 TESDB 文件夾
[oracle@ENMOEDU oracle]$ cd /u01/app/oracle/
[oracle@ENMOEDU oracle]$ mkdir -p admin/TESTDB/audmp
[oracle@ENMOEDU oracle]$ mkdir -p flash_recovery_area
2、創(chuàng)建初始化參數(shù)文件 pfile
方法一:從其他庫拷貝一個 pfile 參數(shù)文件,修改內(nèi)容和文件名為本次使用。見下 initorcl.ora
orcl.__db_cache_size=855638016
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base= E:\app\Administrator #ORACLE_BASE set from environment
orcl.__pga_aggregate_target=1191182336
orcl.__sga_target=2248146944
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=1325400064
orcl.__streams_pool_size=0
*.audit_file_dest= E:\app\Administrator\admin\orcl\adump
*.audit_trail= db
*.compatible= 11.2.0.0.0
*.control_files= E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL , E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL #Restore Controlfile
*.db_block_size=8192
*.db_domain=
*.db_name= orcl
*.db_recovery_file_dest_size=4102029312
*.db_recovery_file_dest=
*.diagnostic_dest= E:\app\Administrator
*.dispatchers= (PROTOCOL=TCP) (SERVICE=orclXDB)
*.log_archive_dest= E:\log
*.log_archive_format= arch_%t_%s_%r.log
*.memory_target=3435134976
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile= EXCLUSIVE
*.undo_tablespace= UNDOTBS1
方法二:根據(jù)安裝軟件自帶 init.ora 來創(chuàng)建 pfile 文件并調(diào)整
我們根據(jù) Oracle 安裝軟件 $ORACLE_HOME/dbs
(E:\app\Administrator\product\11.2.0\dbhome_1\dbs)目錄下自帶的 init.ora 來定制我們需要的 pfile。
(1)拷貝 init.ora 到“E:\app\Administrator\product\11.2.0\dbhome_1\database”路徑下,并在更名為“initTESTDB.ora”。
(2)編輯“initTESTDB.ora”文件。
[oracle@ENMOEDU dbs]$ vi initTESTDB.ora
diagnostic_dest= /u01/app/oracle
db_name= TESTDB
memory_target=1G
processes = 150
audit_file_dest= /u01/app/oracle/admin/TESTDB/adump
audit_trail = db
db_block_size=8192
db_domain=
db_recovery_file_dest= /u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size=2G
diagnostic_dest= /u01/app/oracle
open_cursors=300
remote_login_passwordfile= EXCLUSIVE
undo_tablespace= UNDOTBS1
control_files = (/u01/app/oracle/oradata/TESTDB/control01.ctl,/u01/app/oracle/oradata/TESTDB/control02.ctl)
compatible = 11.2.0
基礎(chǔ)模板如下:
db_name= ORCL
memory_target=1G
processes = 150
audit_file_dest= /admin/orcl/adump
audit_trail = db
db_block_size=8192
db_domain=
db_recovery_file_dest= /flash_recovery_area
db_recovery_file_dest_size=2G
diagnostic_dest=
dispatchers= (PROTOCOL=TCP) (SERVICE=ORCLXDB)
open_cursors=300
remote_login_passwordfile= EXCLUSIVE
undo_tablespace= UNDOTBS1
control_files = (ora_control1, ora_control2)
compatible
= 11.2.0
3、設(shè)置 oracle 啟動的實例名稱
set ORACLE_SID=TESTDB
4、創(chuàng)建庫實例
CMD 命令行中輸入命令:oradim
-new -sid TESTDB
5、創(chuàng)建密碼文件
Oracle 的口令文件的作用是存放所有以 sysdba 或者 sysoper 權(quán)限連接數(shù)據(jù)庫的用戶的口令。
打開 CMD 命令,輸入命令行:
orapwd
file=E:\app\SANMSUNG\product\11.2.0\dbhome_1\database\PWDTESTDB.ora
password=oracle entries=30
注意,entries 參數(shù)指定數(shù)據(jù)庫擁用 DBA 權(quán)限的用戶的個數(shù),該參數(shù)可由用戶指定。
6、啟動數(shù)據(jù)庫到 nomount 狀態(tài)
sqlplus / as sysdba
startup nomount
7、執(zhí)行建庫語句
以下語句可以拷貝到 CMD 命令行執(zhí)行,也可以復(fù)制到文本文件中用 @執(zhí)行。
CREATE DATABASE TESTDBCREATE DATABASE testdb
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 (E:\oracle\oradata\testdb\redo01.log) SIZE 100M,
GROUP 2 (E:\oracle\oradata\testdb\redo02.log) SIZE 100M,
GROUP 3 (E:\oracle\oradata\testdb\redo03.log) SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACER SET zhs16gbk
NATIONL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFIE E:\oracle\oradata\testdb\system01.dbf SIZE 500M REUSE
SYSUX DATAFILE E:\oracle\oradata\testdb\sysaux01dbf SIZE 500M REUSE
DEFAULT TABLESPACE users
DATAFILE E:\oracle\oradata\testdb\users01.dbf
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE E:\oracle\oradata\testdb\temp01.dbf
SIZE 20M REUSE autoextend on maxsize unlimited
UNDO TABLESPACE undotbs1
DATAFILE E:\oracle\oradata\testdb\undotbs01.dbf
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
7.1 借助官方文檔編寫建庫語句
查看官方文檔參考:http://blog.csdn.net/huangyanlong/article/details/43925909
CREATE DATABASE mynewdb
USER SYS
IDENTIFIED BY sys_password
USER SYSTEM
IDENTIFIED BY system_password
LOGFILE GROUP 1
(/u01/logs/my/redo01a.log , /u02/logs/my/redo01b.log) SIZE 100M BLOCKSIZE
512,
GROUP 2
(/u01/logs/my/redo02a.log , /u02/logs/my/redo02b.log) SIZE 100M BLOCKSIZE
512,
GROUP 3
(/u01/logs/my/redo03a.log , /u02/logs/my/redo03b.log) SIZE 100M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET
AL32UTF8
NATIONAL
CHARACTER SET AL16UTF16
EXTENT
MANAGEMENT LOCAL
DATAFILE
/u01/app/oracle/oradata/mynewdb/system01.dbf SIZE 325M REUSE
SYSAUX DATAFILE
/u01/app/oracle/oradata/mynewdb/sysaux01.dbf SIZE 325M REUSE
DEFAULT
TABLESPACE users
DATAFILE
/u01/app/oracle/oradata/mynewdb/users01.dbf
SIZE 500M
REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT
TEMPORARY TABLESPACE tempts1
TEMPFILE
/u01/app/oracle/oradata/mynewdb/temp01.dbf
SIZE 20M
REUSE
UNDO TABLESPACE
undotbs
DATAFILE
/u01/app/oracle/oradata/mynewdb/undotbs01.dbf
SIZE 200M
REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
– 依據(jù)實際修改腳本,刪除掉一些沒必要的設(shè)置
– 將日志組成員進行多元化
– 修改路徑信息
CREATE DATABASE HYL
LOGFILE GROUP 1
(/u01/app/oracle/oradata/HYL/disk1/redo01a.log ,
/u01/app/oracle/oradata/HYL/disk2/redo01b.log )
SIZE 100M BLOCKSIZE
512,
GROUP 2 (/u01/app/oracle/oradata/HYL/disk1/redo02a.log ,
/u01/app/oracle/oradata/HYL/disk2/redo02b.log )
SIZE 100M BLOCKSIZE
512,
GROUP 3 (/u01/app/oracle/oradata/HYL/disk1/redo03a.log ,
/u01/app/oracle/oradata/HYL/disk2/redo03b.log )
SIZE 100M BLOCKSIZE 512
CHARACTER SET zhs16gbk
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE
/u01/app/oracle/oradata/HYL/disk3/system01.dbf SIZE 325M REUSE
SYSAUX DATAFILE /u01/app/oracle/oradata/HYL/sysaux01.dbf
SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE
/u01/app/oracle/oradata/HYL/disk3/users01.dbf
SIZE 500M REUSE AUTOEXTEND
ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE /u01/app/oracle/oradata/HYL/disk4/temp01.dbf
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE
/u01/app/oracle/oradata/HYL/disk5/undotbs01.dbf
SIZE 200M REUSE AUTOEXTEND
ON MAXSIZE UNLIMITED;
– 將以上腳本放在 oracle 目錄下,然后執(zhí)行
$cd /u01/app/oracle/
$vi createDB.sql
SQL @/u01/app/oracle/createDB.sql
7.2 設(shè)置數(shù)據(jù)文件和臨時文件為自動擴展
(1)獲得所有數(shù)據(jù)文件和臨時文件信息
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)將其調(diào)整為自動擴展
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;
8、執(zhí)行 catalog 腳步本創(chuàng)建數(shù)據(jù)字典
在 CMD 命令行下執(zhí)行:
或 SQL @?/rdbms/admin/catalog.sql
@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\catalog.sql
需約 5 分鐘,作用:創(chuàng)建數(shù)據(jù)字典
9、執(zhí)行 catproc 創(chuàng)建 package 包
在 CMD 命令行下執(zhí)行:
或 SQL
@?/rdbms/admin/catproc.sql
@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\catproc.sql
需約 10 分鐘,跑完這兩個腳本后庫已經(jīng)建完了,作用:創(chuàng)建存儲過程和包
10、執(zhí)行 pupbld
在執(zhí)行 pupbld 前,先將用戶切換為 system。
SQL
connect system/oracle
或 SQL @?/sqlplus/admin/pupbld.sql
SQL
E:\app\SANMSUNG\product\11.2.0\dbhome_1\sqlplus\admin\pupbld.sql
約 1 分鐘,以 system 用戶 運行此腳本, 作用:設(shè)置 sqlplus 的一些包,讓其它用戶可以登錄 sqlplus
11、由 pfile 創(chuàng)建 spfile
spfile 的創(chuàng)建需要 dba 權(quán)限。
SQL
con sys as sysdba
create
spfile from pfile;
SQL
connect system/oracle
12、執(zhí)行 scott 腳本創(chuàng)建 scott 模式
這個環(huán)節(jié)可以省去,當然如果需要練習環(huán)境則這個環(huán)節(jié)最好不要省去。
在 CMD 命令行中輸入:@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\scott.sql
13、把數(shù)據(jù)庫打開到正常狀態(tài)
重啟數(shù)據(jù)庫并驗證是否建庫成功。
shutdown immediate
startup
select instance_name,status from v$instance;
以上是“Oracle 如何實現(xiàn)手工建庫”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!