您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Oracle如何實現手工建庫”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Oracle如何實現手工建庫”這篇文章吧。
管理員指南
創建并配置數據庫
使用建庫語句創建數據庫
1-14 為官方文檔手工建庫步驟,9為建庫語句
步驟1:指定實例標識符(SID)
步驟2:確保設置了所需的環境變量
第3步:選擇數據庫管理員身份驗證方法
第4步:創建初始化參數文件
步驟5 :(僅限Windows)創建一個實例
第6步:連接到實例
第7步:創建一個服務器參數文件
第8步:啟動實例
第9步:發出CREATE DATABASE語句
第10步:創建附加的表空間
第11步:運行腳本來構建數據字典視圖
步驟12 :(可選)運行腳本以安裝其他選項
步驟13:備份數據庫。
步驟14 :(可選)啟用自動實例啟動
下面介紹下這幾個文件路徑的作用。
adump:存放審計信息
bdump:bdump目錄存放的是數據庫動行過程中的各個后臺進程的跟蹤信息,當中alert文件是警告文件,其文件名稱為alert_book.log,當數據庫出現問題時,首先就可以去查看此文件以找出原因,手工創建過程中出現的各種問題往往也可以通過查看這個文件找到原因。
cdump:數據庫遇到異常時用于存放異常信息。
create:不詳
pfile:存放初始化參數文件。
scripts:不詳
udump:放置sql trace之后的session的trace文件。
(2) 在oradata文件夾下創建TESTDB文件夾
(3)在flash_recovery_area文件夾下創建TESDB文件夾
[oracle@ENMOEDU oracle]$ cd /u01/app/oracle/
[oracle@ENMOEDU oracle]$ mkdir -p admin/TESTDB/audmp
[oracle@ENMOEDU oracle]$ mkdir -p flash_recovery_area
方法一:從其他庫拷貝一個pfile參數文件,修改內容和文件名為本次使用。見下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'
方法二:根據安裝軟件自帶init.ora來創建pfile文件并調整
我們根據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'
基礎模板如下:
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'
set ORACLE_SID=TESTDB
CMD命令行中輸入命令:oradim -new -sid TESTDB
Oracle的口令文件的作用是存放所有以sysdba或者sysoper權限連接數據庫的用戶的口令。
打開CMD命令,輸入命令行:
orapwd
file=E:\app\SANMSUNG\product\11.2.0\dbhome_1\database\PWDTESTDB.ora
password=oracle entries=30
注意,entries參數指定數據庫擁用DBA權限的用戶的個數,該參數可由用戶指定。
sqlplus / as sysdba
startup nomount
以下語句可以拷貝到CMD命令行執行,也可以復制到文本文件中用@執行。
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;
查看官方文檔參考: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;
--依據實際修改腳本,刪除掉一些沒必要的設置
--將日志組成員進行多元化
--修改路徑信息
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目錄下,然后執行
$cd /u01/app/oracle/
$vi createDB.sql
SQL> @/u01/app/oracle/createDB.sql
(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;
在CMD命令行下執行:
或SQL> @?/rdbms/admin/catalog.sql
@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\catalog.sql
需約5分鐘,作用:創建數據字典
在CMD命令行下執行:
或SQL> @?/rdbms/admin/catproc.sql
@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\catproc.sql
需約10分鐘,跑完這兩個腳本后庫已經建完了,作用:創建存儲過程和包
在執行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用戶 運行此腳本, 作用:設置sqlplus的一些包,讓其它用戶可以登錄sqlplus
spfile的創建需要dba權限。
SQL> con sys as sysdba
create spfile from pfile;
SQL> connect system/oracle
這個環節可以省去,當然如果需要練習環境則這個環節最好不要省去。
在CMD命令行中輸入:@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\scott.sql
重啟數據庫并驗證是否建庫成功。
shutdown immediate
startup
select instance_name,status from v$instance;
以上是“Oracle如何實現手工建庫”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。