⑴ 如何安裝和使用oracle資料庫
一、Oracle 下載
注意Oracle分成兩個文件,下載完後,將兩個文件解壓到同一目錄下即可。 路徑名稱中,最好不要出現中文,也不要出現空格等不規則字元。
二、Oracle安裝
1、解壓縮文件,將兩個壓縮包一起選擇, 滑鼠右擊 -> 解壓文件
2.兩者解壓到相同的路徑中,
3. 到相應的解壓路徑上面,找到可執行安裝文件【 setup.exe 】雙擊安裝。
4. 安裝第一步:配置安全更新,這步可將自己的電子郵件地址填寫進去(也可以不填寫,只是收到一些沒什麼用的郵件而已)。取消下面的「我希望通過My Oracle Support接受安全更新(W)」。
5. 安全選項,直接選擇默認創建和配置一個資料庫(安裝完資料庫管理軟體後,系統會自動創建一個資料庫實例)。
6. 系統類,直接選擇默認的桌面類就可以了。(若安裝到的電腦是,個人筆記本或個人使用的電腦使用此選項)
7. 典型安裝。 重要步驟。建議只需要將Oracle基目錄更新下,目錄路徑不要含有中文或其它的特殊字元。全局資料庫名可以默認,且口令密碼,必須要牢記。密碼輸入時,有提示警告,不符合Oracel建議時不用管。 (因Oracel建議的密碼規則比較麻煩, 必須是大寫字母加小寫字母加數字,而且必須是8位以上。麻煩,可以輸入平常自己習慣的短小密碼即可)
8. 若輸入的口令短小簡單,安裝時會提示如下。直接確認Y繼續安裝就是了。
9. 先決條件檢查。 安裝程序會檢查軟硬體系統是否滿足,安裝此Oracle版本的最低要求。 直接下一步就OK 了。
10. 概要 安裝前的一些相關選擇配置信息。 可以保存成文件 或 不保存文件直接點完成即可。
11. 安裝產品 自動進行,不用管。
12. 資料庫管理軟體文件及dbms文件安裝完後,會自動創建安裝一個實例資料庫默認前面的orcl名稱的資料庫。
13. 實例資料庫創建完成了,系統 默認是把所有賬戶都鎖定不可用了(除sys和system賬戶可用外),建議點右邊的口令管理,將常用的scott賬戶解鎖並輸入密碼。
14. 解鎖scott賬戶, 去掉前面的綠色小勾,輸入密碼。同樣可以輸入平常用的短小的密碼,不必非得按oracle建議的8位以上大小寫加數字。
15. 同樣,密碼不符合規則會提示。不用管它,繼續Y即可。
16. 安裝成功,完成即可。
三、安裝後,進入小測試下
可以通過開始,應用程序中的 "Oracle 11g" -> "應用程序開發" -> "sql Developer 或Sql Plus" 連接。
注意第一次,使用SQL Developer時,會提示指定 java.exe的路徑,這里千萬別指定自己的java_home了(我就是開始不知道,指定一個JDK6,結束說不兼容。)可以使用Oracel安裝路徑下面的jdk路徑,如圖:
當然若不小心,選擇錯了。選擇了java_home中的高級版本,打開SQL Developer報錯後不兼容,也有辦法解決。可以在
【F:\app\chen\proct\11.2.0\dbhome_1\sqldeveloper\sqldeveloper\bin】路徑下找到【sqldeveloper.conf】文件後打開
找到SetJavaHome 所匹配的值,刪除後面的配置內容。保證時會提示,只讀文件不可覆蓋保存。此時可以另存為到桌面上,然後再回到bin目錄中刪除掉此文件,再把桌面上的文件復制過去,再打開時,重新選擇java.exe。此時選擇對就好了。
⑵ 如何圖形化創建oracle資料庫
用命令行輸入 ./dbca
⑶ 怎樣在本機建oracle資料庫
在配置和轉移工具裡面 使用 database configuration assistant,根據向導創建一個資料庫
⑷ 如何在本地建立oracle資料庫
前提:安裝好oracle資料庫客戶端; PL/SQL DEVELOPER
1.打開DatabaseConfiguration Assistant,如圖:
;
grantcreatesessiontostruts2;
OK,現在可以用你自己設置的用戶名/密碼登陸了
⑸ oracle怎麼創建資料庫實例
從Windows桌面執行「開始」→「程序」→「Oracle - <ORACLE_HOME_NAME>」→「配置和移置工具」→「Database Configuration Assistant」命令,打開Database Configuration Assistant對話框的歡迎界面,單擊該界面中的「下一步」按鈕
啟用「創建資料庫」選項,單擊「下一步」按鈕,進入「步驟2:資料庫模板」界面
啟用「一般用途或事務處理」選項,單擊「下一步」按鈕,進入「步驟3:資料庫標識」界面
在「步驟3:資料庫標識」界面中設置新資料庫的全局資料庫名,這里設置為myorcl,而資料庫實例名(SID)默認與全局資料庫名相同,也為myorcl
設置好口令後,單擊「下一步」按鈕,進入「步驟6:存儲選項」界面,在該界面中啟用「文件系統」選項
單擊「下一步」按鈕,進入「步驟7:資料庫文件所在位置」界面。設置好存儲位置後,單擊「下一步」按鈕,進入「步驟8
¤採用默認設置,單擊「下一步」按鈕,進入「步驟9:資料庫內容」界面,該界面中可以對示例方案及定製腳本進行配置。採用默認設置,單擊「下一步」按鈕,進入「步驟10:初始化參數」界面,該界面中可以對內存、調整大小、字元集和連接模式進行配置。採用默認設置,單擊「下一步」按鈕,進入「步驟11:安全設置」界面,在該界面中採用默認設置,即啟用「保留增強的11g默認安全設置」選項。¤單擊「下一步」按鈕,進入「步驟 12:自動維護任務」界面,在該界面中選擇「啟用自動維護任務」選項。
單擊「下一步」按鈕,進入「步驟13:資料庫存儲」界面,在該界面中可以指定資料庫的存儲參數,單擊「下一步」按鈕,進入「步驟14:創建選項」界面
單擊「完成」按鈕,在彈出的「確認」對話框中單擊「確定」按鈕,即可開始新資料庫的創建
⑹ linux怎麼創建orcale資料庫
方法/步驟
檢查硬體是否滿足要求
1)確保系統有足夠的 RAM 和交換空間大小,運行以下命令:
#grep MemTotal /proc/meminfo
#grepSwapTotal /proc/meminfo
註:所需最小 RAM 為 512MB,而所需最小交換空間為 1GB。對於 RAM 小於或等於 2GB 的系統,交換空間應為 RAM 數量的兩倍;對於 RAM 大於 2GB 的系統,交換空間應為 RAM 數量的一到兩倍。
2)確保有足夠的磁碟空間。Oracle 10g軟體大約需要 2.5GB 的可用磁碟空間,資料庫則另需至少1.2G的磁碟空間
3)/tmp 目錄至少需要 400MB 的可用空間。
要檢查系統上的可用磁碟空間,運行以下命令:
#df-h
⑺ 在Linux平台下 怎樣搭建Oracle資料庫 越詳細越好 緊急 還望高手指點
剛剛配置好的一個,發給你參考一下。
在 Linux x86 上安裝 Oracle 資料庫 10g
uname -r
例如:
# uname -r
2.4.21-4.0.1.ELsmp
其他所需程序包的版本(或更高版本):
? gcc-3.2.3-2
? make-3.79
? binutils-2.11
? openmotif-2.2.2-16
? setarch-1.3-1
? compat-gcc-7.3-2.96.122
? compat-gcc-c++-7.3-2.96.122
? compat-libstdc++-7.3-2.96.122
? compat-libstdc++-devel-7.3-2.96.122
? compat-db-4.0.14.5(Oracle 10g 資料庫安裝指南 中將其列為是必需的,但此處並不需要)
要查看系統上安裝了這些程序包的哪些版本,以 root 用戶身份運行以下命令:
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \
compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
例如:
# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \
> openmotif compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
gcc-3.2.3-20
make-3.79.1-17
binutils-2.14.90.0.4-26
openmotif-2.2.2-16
setarch-1.3-1
package compat-db is not installed
compat-gcc-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
請注意,尚未安裝 compat-db 程序包。安裝過程中可用的任何程序包組均不包含此程序包,因此必須在單獨的步驟中安裝。如果系統上缺少任何其他程序包版本,或版本比以上指定的版本舊(compat-db 除外),則可以從 Red Hat Network 下載並安裝更新。
安裝 compat-db
插入原始 Red Hat Enterprise Linux 介質的第二張 CD。(Update 2 中未包含該程序包,它僅存在於原始介質中。)
此 CD 自動掛載。
以 root 用戶身份運行以下命令:
rpm -ivh /mnt/cdrom/RedHat/RPMS/compat-db-4.0.14-5.i386.rpm
例如:
# rpm -ivh /mnt/cdrom/RedHat/RPMS/compat-db-4.0.14-5.i386.rpm
Preparing... ########################################### [100%]
1:compat-db ########################################### [100%]
________________________________________
第 2 部分:針對 Oracle 配置 Linux
Linux 軟體現已安裝完畢,您需要針對 Oracle 對其進行配置。本部分將逐步講解針對 Oracle 資料庫 10g 配置 Linux 的過程。
驗證系統要求
要驗證系統是否滿足 Oracle 10g 資料庫的最低要求,以 root 用戶身份登錄並運行以下命令。
要查看可用 RAM 和交換空間大小,運行以下命令:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
例如:
# grep MemTotal /proc/meminfo
MemTotal:512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal:1574360 kB
所需最小 RAM 為 512MB,而所需最小交換空間為 1GB。對於 RAM 小於或等於 2GB 的系統,交換空間應為 RAM 數量的兩倍;對於 RAM 大於 2GB 的系統,交換空間應為 RAM 數量的一到兩倍。
Oracle 10g 軟體還需要 2.5GB 的可用磁碟空間,而資料庫則另需 1.2GB 的可用磁碟空間。/tmp 目錄至少需要 400MB 的可用空間。要檢查系統上的可用磁碟空間,運行以下命令:
df -h
例如:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 1.3G 5.2G 20% /
/dev/sda1 99M 17M 77M 18% /boot
該示例表明,/tmp 目錄沒有自己的文件系統。(對本指南而言,它是根文件系統的一部分。)根文件系統可用空間為 5.2 GB,除了滿足安裝 (2.5 + 1.2 + 0.4 = 4.1GB) 外還小有富餘。
創建 Oracle 組和用戶帳戶
接下來,創建用於安裝和維護 Oracle 10g 軟體的 Linux 組和用戶帳戶。用戶帳戶將稱為 oracle,而組將稱為 oinstall 和 dba。以 root 用戶身份執行以下命令:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle
例如:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
設置 oracle 帳戶的口令:
passwd oracle
例如:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
創建目錄
現在,創建存儲 Oracle 10g 軟體和資料庫文件的目錄。本指南在創建目錄結構時所用的命名慣例符合最佳靈活結構 (OFA) 規范。有關 OFA 標準的更多信息,請參閱針對 UNIX 系統的 Oracle 資料庫 10g 安裝指南 的附錄 D。
以下假設在根文件系統中創建目錄。這樣做是為了簡便起見,不建議將其作為通用做法。這些目錄通常被創建為單獨的文件系統。
以 root 用戶身份執行以下命令:
mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01/app/oracle /u02/oradata
chmod -R 775 /u01/app/oracle /u02/oradata
例如:
# mkdir -p /u01/app/oracle
# mkdir -p /u02/oradata
# chown -R oracle:oinstall /u01/app/oracle /u02/oradata
# chmod -R 775 /u01/app/oracle /u02/oradata
配置 Linux 內核參數
Linux 內核非常出色。與大多數其他 *NIX 系統不同,Linux 允許在系統啟動和運行時修改大多數內核參數。完成內核參數更改後不必重新啟動系統。Oracle 資料庫 10g 需要以下所示的內核參數設置。其中給出的是最小值,因此如果您的系統使用的值較大,則不要更改它。
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
如果您按照以上說明安裝了 Linux,且內核參數全部採用默認值,則只需在以 root 用戶身份登錄後執行下命令。
cat >> /etc/sysctl.conf <<EOF
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
EOF
/sbin/sysctl -p
例如:
# cat >> /etc/sysctl.conf <<EOF
> kernel.shmall = 2097152
> kernel.shmmax = 2147483648
> kernel.shmmni = 4096
> kernel.sem = 250 32000 100 128
> fs.file-max = 65536
> net.ipv4.ip_local_port_range = 1024 65000
> EOF
# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 0
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
以 root 用戶身份運行以下命令來驗證您的設置:
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range
例如:
# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shm-use-bigpages = 0
# /sbin/sysctl -a | grep sem
kernel.sem = 250 32000 100 128
# /sbin/sysctl -a | grep file-max
fs.file-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 1024 65000
如果系統的參數設置的比上述參數值小,則編輯 /etc/sysctl.conf 文件,添加或更改這些參數。完成後,運行以下命令激活更改:
/sbin/sysctl -p
為 oracle 用戶設置 Shell 限制
Oracle 建議對每個 Linux 帳戶可以使用的進程數和打開的文件數設置限制。要進行這些更改,以 root 用戶的身份執行下列命令:
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
EOF
對於 RHEL 2.1 和 RHEL 3,使用以下命令:
cat >> /etc/profile <<EOF
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >> /etc/csh.login <<EOF
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
oracle 用戶的環境變數
要使用 Oracle 產品,應該或必須設置幾個環境變數。對於資料庫伺服器,建議設置以下環境變數:
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH
如果您在同一伺服器上安裝了多個 Oracle 產品或資料庫,則 ORACLE_HOME、ORACLE_SID 和 PATH 變數可能會更改。ORACLE_BASE 變數不應更改,並可以在需要時在您的登錄配置文件中設置它。Oracle 提供了一個稱作 oraenv 的實用程序來設置其他變數。
以 oracle 身份登錄,修改 .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
export PATH
unset USERNAME
# Oracle Settings
TMP=/tmp;
export TMP
TMPDIR=$TMP;
export TMPDIR
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1
ORACLE_SID=orcl
ORACLE_TERM=xterm
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH ORACLE_TERM
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
此更改將在您下次登錄到 oracle 帳戶時生效。要使更改對當前會話為活動狀態,只需從命令行運行此命令。
________________________________________
第 3 部分:安裝 Oracle
可以從 OTN 下載 Oracle 資料庫 10g。Oracle 提供了一個免費的開發和測試許可。但不提供支持,且該許可不允許用於生產目的。OTN 提供了完整的許可協議。
要使 Oracle 10g 發行套件介質可以在伺服器上使用,最簡單的方法是將其直接下載到伺服器。
使用圖形登錄以 oracle 身份登錄。
創建一個目錄以存放 Oracle 10g 發行套件:
mkdir 10g_db
要從 OTN 下載 Oracle 資料庫 10g,請將瀏覽器(Mozilla 比較好用)指向 http://www.oracle.com/technology/software/procts/database/oracle10g/htdocs/linuxsoft.html。填寫 Eligibility Export Restrictions 頁面,並閱讀 OTN 許可協議。如果您接受限制和許可協議,則單擊 I Accept。
單擊 ship.db.cpio.gz 鏈接,並將該文件保存在為此目的創建的目錄 (10g_db) 中 — 如果尚未登錄到 OTN,則此時可能提示您登錄。
解壓縮此文件:
cd 10g_db
gunzip ship.db.cpio.gz
cpio -idmv < ship.db.cpio
安裝軟體
使用 oracle 帳戶登錄。
指定資料庫名稱 (ORACLE_SID)。該名稱通常不多於五個字元。對此安裝使用 demo1。
設置環境變數:
? Borne shell 和 Korn shell
? ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
? ORACLE_SID=demo1; export ORACLE_SID
? C shell
? setenv ORACLE_BASE /u01/app/oracle
? setenv ORACLE_SID demo1
將目錄更改為 Oracle 10g 軟體解壓縮到的位置。
例如:
$ cd $HOME/10g_db
將目錄更改為 Disk1。
例如:
$ cd Disk1
啟動 Oracle 通用安裝程序。
$ ./runInstaller
1. 歡迎
o 單擊 Next。
2. 指定清單目錄和證書
o 如果您一直在依循本指南中的步驟,則使用默認值即可。否則,編輯清單目錄的路徑,以指向正確目錄。
o 操作系統組名稱應為 oinstall。
3. 如果這是首次在此機器上安裝 Oracle,則您將收到一個彈出窗口,提示需要以 root 用戶身份運行 orainstRoot.sh 腳本。以 root 用戶身份登錄,更改到窗口中指定的目錄,執行該腳本,然後繼續操作。
4. 指定文件位置
o 如果您一直在依循本指南中的步驟,則使用默認值即可。否則,在繼續操作前確保源路徑和目標路徑正確。
5. 選擇安裝類型
o 接受默認值 Enterprise Edition。
6. 與特定產品相關的先決條件的檢查
o 如果您一直在依循本指南中的步驟,則所有檢查都應順利通過。如果一個或多個檢查失敗,則在繼續操作前糾正該問題。
7. 選擇資料庫配置
o 接受默認值 Create a starter database 和 General Purpose。
8. 指定資料庫配置選項
o 輸入資料庫的全局資料庫名稱。該名稱應包含 ORACLE_SID 和伺服器域名(例如,demo1.orademo.org,其中 demo1 是 ORACLE_SID,orademo.org 是域名)。
o 輸入全局資料庫名稱時,SID 框將自動填充。
o 接受默認的資料庫字元集。
o 選擇 Create database with sample schemas。
9. 選擇資料庫管理選項
o 選擇 Use Database Control for Database Management。
10. 指定資料庫文件存儲選項
o 選擇 File System,然後輸入資料庫文件要使用的路徑名(在本例中為 /u02/oradata)。
11. 指定備份和恢復選項
o 選擇 Do not enable Automated backups。
12. 指定資料庫模式口令
o 選擇 Use the same password for all the accounts。
o 選擇一個口令,然後輸入兩次進行確認。
13. 摘要
o 顯示已安裝產品的摘要。
o 單擊 Install。
14. 安裝
o 此屏幕歷經安裝和鏈接 Oracle 軟體的幾個階段。
o 安裝過程結束時彈出一個窗口顯示配置信息。記下 Enterprise Manager URL,然後單擊 OK 關閉該窗口。
o 彈出一個「Setup Privileges」窗口,提示需要以 root 用戶身份運行配置腳本。以 root 用戶身份登錄,切換到該窗口中指示的目錄,然後執行 root.sh 腳本。該腳本提示輸入本地 bin 目錄的位置。按 Enter 鍵接受默認值。當腳本完成時,返回到 Setup Privileges 窗口並單擊 OK。(如下所示。)
15. 安裝結束
o 記下摘要中顯示的 URL,並在准備好時單擊 Exit。
16. 恭喜!您的新 Oracle 10g 資料庫已經啟動並可以使用。
________________________________________
⑻ oracle怎樣創建樣例資料庫
Oracle資料庫實例的創建、刪除、修改
以SUSE10SP2、Oracle10gR2為例。
本文中的資料庫實例這一稱謂應該換做資料庫更為准確,資料庫可以理解為是一個物理的靜態概念,主要包括一些物理存在的資料庫文件,而資料庫實例則是一個動態概念,包括一些內存區域以及若干進程,資料庫實例是對資料庫進行操作的執行者。(20090714修改)
安裝完Oracle資料庫系統的安裝後,需要創建資料庫實例才能真正開始使用Oracle資料庫服務。
總結起來,Oracle有三種創建資料庫實例的方法。
第一種,最常用也最簡單,那就是通過DBCA(Database Configuration Assistant),這是Oralce提供的一個圖形界面的資料庫實例配置工具,通過它可以創建、刪除和修改資料庫實例,它的使用也比較簡單、易懂,互動式的圖形界面操作,非常准確有效的提示與配置,是一個比較方便的創建資料庫實例的方式。
按照DBCA給出的提示,很容易創建一個新資料庫實例。
在創建資料庫的時候,DBCA還提供了兩個選項,讓你可以根據剛剛設置好的參數生成一個資料庫實例模板和一份資料庫實例創建腳本。這兩個東西是非常好,非常有用的東西,資料庫模板由Oracle自己管理維護,已經創建好的資料庫實例模板可以在DBCA圖形程序新建資料庫實例時作為模板來使用,另外在DBCA使用responseFile文件或者命令行參數創建資料庫時也需要用到(見後面介紹);資料庫創建腳本是一組腳本,包括shell腳本和sql腳本,這些腳本共同實現一個功能,那就是按照你之前在DBCA中設置好的那樣創建一個資料庫實例(後面也會有介紹),你需要做的只是將這些腳本在你的代碼中調用起來。當然,你也可以選擇只生成資料庫模板或者資料庫腳本,而不用去創建一個真的資料庫(這通常很費時間)。
Oracle資料庫實例的創建、刪除、修改
DBCA是一個非常強大的工具,上面看到的只是DBCA最常用的創建一個資料庫實例的使用,其實DBCA還提供另外兩種使用方法,分別是responseFile和命令行帶參調用。
先說DBCA的responseFile使用方法,responseFile這個東東並不陌生,前文講的Oracle自動安裝就是使用responseFile完成的,DBCA的responseFile使用方法和Oracle安裝程序的responseFile使用方法基本一致。但DBCA的responseFile的來源只能是Oracle安裝包中提供的模板文件,而不能向Oracle安裝程序的responseFile一樣,先自己record一個,然後再用這個record去指導Oracle的自動安裝。從Oracle安裝包中獲取到DBCA的responseFile模板文件後,你可以根據自己的需要編輯修改該模板文件,以完成對資料庫實例的某些參數設置(DBCA圖形界面所提供的參數設置,responseFile中都可以設置,而且該responseFile模板文件的注釋寫的很好,你完全不用擔心無法搞定那些繁雜的資料庫實例參數設置,贊Oralce一個!)。該模板文件在Oracle安裝包中的位置一般在${ORACLE_PACKAGE}/response目錄下。
有了responseFile之後,你只需在調用DBCA的時候指定responseFile的位置和另外一些參數:
dbca [-silent|-progressOnly] -responseFile responseFile名稱
其中-silent|-progressOnly選項意義和Oracle安裝程序命令行參數中的同名選項一樣,表示完全字元界面自動安裝或者帶圖形提示界面的半自動化安裝。
responseFile名稱當然就是responseFile的具體位置了。
但是,有一點不是很好,那就是使用DBCA的responseFile方式創建Oracle資料庫實例,需要事先已經存在一個資料庫實例模板了,在responseFile中再指定該資料庫實例模板名,然後DBCA再依據這個已有的資料庫實例模板完成新資料庫實例的創建,所以就會有前面講到的DBCA圖形界面創建資料庫實例時提供生成資料庫實例模板的選項(資料庫實例模板也可以從一個已有資料庫實例生成),就是在這要用到的。
從上面調用DBCA使用responseFile的命令中,應該已經看到了DBCA是提供一些命令行參數選項的,其實DBCA提供的命令行參數選項遠比你想像的強大,甚至可以這么說,所有DBCA圖形界面和responseFile能夠辦到的事,通過DBCA豐富的命令行參數選項都可以辦到。你在DBCA圖形界面上設置的參數或者在responseFile中指定的參數值都可以通過DBCA的命令行參數選項來進行設置,所以你完全可以只通過DBCA的命令行帶參調用來完成一個資料庫實例的創建(當然也包括刪除、修改資料庫實例等所有DBCA圖形界面所能提供的功能)。其實,我更願意這樣認為,DBCA的responseFile應用也是一種DBCA命令行帶參調用的使用。需要注意的是,當DBCA的命令行參數和responseFile同時設置一個參數時,命令行參數的優先順序是比responseFile要高的。另外,使用DBCA命令行帶參調用新建資料庫實例和使用responseFile新建資料庫實例一樣,也是需要事先已經存在一個資料庫實例模板,才能完成新資料庫實例的創建。一份非常詳細的DBCA所有命令行參數選項列表,你可以通過執行dbca -help獲得。
到現在你可能已經發現,DBCA圖形界面、DBCA的responseFile使用以及DBCA的命令行帶參調用,其實是三個分別具備完全資料庫實例設置功能的工具或者介面,分別對應不同的應用場景,它們可以滿足你幾乎所有的應用需求(使用這樣的工具來幫助構建自己的軟體真是非常愜意的一件事情,再贊Oracle一個!)。
第二種是通過腳本(是否稱為命令行方式更合適,下文描述的腳本方式其實都是命令行方式的非互動式方法,或者說命令行的自動化方式,但其實所有腳本方式都可以將shell腳本或sql腳本中的shell命令、sqlplus命令拆分出來,手工在shell中或者sqlplus界面中進行互動式的輸入執行,這可以稱為命令行的手工方式)來完成資料庫實例的代碼中自動創建。這里說的腳本包括shell腳本和sql腳本,這種方式可以說是最適合與編程結合的,因為這些shell腳本或者sql腳本都可以直接在shell命令中調用執行,所以可以很好與shell編程相結合。而這其實是基於一個非常重要的事實,即Oracle提供了一個互動式的命令行工具sqlplus(類似與DB2的db2cmd),這個工具可以認為是一個Oracle資料庫管理工具,通過它可以執行一些Oracle的資料庫管理命令,來完成一些資料庫管理工作(這當然就包括資料庫實例的創建),同時你也可以把它當作一個SQL語句執行器,直接在里邊執行你想要執行的SQL語句或者存儲過程等,並獲取執行結果。並且,更重要的是,sqlplus可以直接在shell命令行中進行非互動式的調用執行(通常是調用執行一段sqlplus語句,或者是一個由一些sqlplus語句組成的sql腳本,我所說的sqlplus語句包括Oracle資料庫管理維護命令、SQL語句和存儲過程等),這就為在shell編程中使用sqlplus完成資料庫實例自動創建工作提供了可能。
shell命令行中非互動式調用sqlplus執行一段sqlplus語句是利用shell編程中重定向命令的一個特性,即分隔符重定向輸入。一般用法如下:
command<<任意自定義分隔符
>(換行)內容
>(換行)內容
>自定義分隔符
shell中遇到<<則會自動將下一個單詞認作分隔符,並將分隔符後面的文本當作command命令執行的內容傳遞給command依次全部執行直至遇到下一個分隔符單詞才結束。這里的分隔符可以是任意自定義的單詞,通常使用EOF,舉例:
sqlplus / as sysdba<<EOF
startup nomount;
select * from v$version;
shutdown immediate;
exit;
EOF
這段shell程序調用sqlplus執行了若干sqlplus語句,用來啟動資料庫實例,查詢資料庫版本信息,然後關閉資料庫實例,退出sqlplus。
shell命令行中非互動式調用sqlplus執行一個sql腳本是利用sqlplus本身提供的命令行參數。在sqlplus界面中可以通過start命令和@命令來執行一個sql腳本,兩者功效相同,用法如下:
SQL>start sql腳本絕對路徑;
SQL>@sql腳本絕對路徑;
而在shell命令行中可以使用@來完成sqlplus對sql腳本的調用執行,舉例:
sqlplus / as sysdba @./MySQL.sql
以上命令會調用sqlplus執行當前目錄下的MySQL.sql腳本。
使用腳本來完成資料庫實例的創建工作,也分為兩種情況。
一種是誠如前文所述的那樣,在使用DBCA圖形工具創建資料庫實例的同時生成一份資料庫實例創建腳本(包括若干shell腳本和sql腳本),那麼你就可以使用這份腳本,在shell中進行調用,完成資料庫實例的代碼自動創建。使用這份資料庫實例創建腳本創建的新資料庫實例和原資料庫實例是完全一樣,當然,你可以將生成的腳本進行修改,以完成你對資料庫實例的某些設置,但是請在你對腳本內容已經足夠了解,並且知道你自己在干什麼的情況下修改腳本,否則你很有可能使用修改後的腳本無法正確創建資料庫實例。這種方法中shell腳本對sqlplus的使用,更多的是使用sqlplus來執行一些Oracle生成的sql腳本(這些sql腳本的內容是就是一些sqlplus語句的集合,它們的任務就是完成資料庫實例的創建以及設置)。
另一種情況則是不依靠DBCA生成的腳本,完全由自己來編寫實現一份shell腳本,在腳本中你可以調用sqlplus執行一段sqlplus語句或者其它一些sql腳本,以完成資料庫實例的創建和設置,這完全取決於你的實現;而最常用的用來創建資料庫實例的一個方法就是在sqlplus中使用create database語句,create database語句提供了許多豐富的選項和參數設置,確保你能完全創建一個自己所需要的資料庫實例。當然,還有一些其它方法可以創建資料庫實例,比如調用執行oracle提供某些存儲過程等。
至於create database語句的詳細介紹可以參考oracle的sql reference。
第三種嚴格來說不能算作一種創建Oracle資料庫實例的方法,它是通過已有的資料庫實例為基礎來完成新資料庫實例的創建的。這種方法是首先通過第一種或者第二種方法來創建好一個資料庫實例,然後將該資料庫實例的物理文件進行備份,然後直接使用備份的物理文件恢復出一個與原資料庫實例完全一樣新的資料庫實例,所以這種方法需要和第一、二種方法相配合才能使用。這種方法其實已經屬於Oracle數據備份與恢復的范疇了,就是Oracle數據備份恢復方式中的物理備份恢復,所以這種方法可以叫做物理恢復法。
簡單介紹物理恢復法,首先將一個已經存在資料庫實例(最好已關閉)進行物理備份,所謂物理備份其實就是復制該資料庫實例所使用的操作系統文件,這些文件主要包括DataFiles、RedoLogs、ControlFiles和UndoFiles(這些文件一般存在於$ORACLE_HOME/oradata目錄下),進行資料庫實例恢復的時候只需將備份的操作系統文件復制到新的oradata目錄下即可,可以直接啟動使用恢復後的該資料庫實例。不難看出,這種備份恢復是依賴於操作系統平台的。
詳細的物理備份和恢復介紹可以參考oracle的backup and recovery basics以及backup and recovery advanced user's guide。
說完了資料庫實例的創建,現在來說說資料庫實例的刪除和修改。其實介紹完了資料庫實例的創建,資料庫實例的刪除和修改就非常簡單了。基本和前文資料庫實例創建的內容相一致,且比較而言更簡單。
資料庫實例的刪除從上文中資料庫實例的創建不難得到,大致有兩種方法,DBCA工具和命令行方式。
DBCA工具除了能夠用來創建資料庫實例,當然也能夠用來刪除資料庫實例了,且同樣可以用使用responseFile或者命令行帶參調用等方法來完成資料庫實例的刪除,請參考資料庫實例創建部分。
命令行刪除資料庫實例的方式,嚴格來講,是使用一組sqlplus命令來完成資料庫實例的刪除,這組sqlplus命令可以組織在一個sql腳本中,然後在shell命令行中調用sqlplus程序來執行該sql腳本,或者直接在shell命令行中利用shell程序重定向特性調用sqlplus依次完全執行這組sqlplus命令,再或者使用手工的互動式輸入執行,使用方法請參考資料庫實例創建部分。
其中涉及到的sqlplus命令參考以下:
SQL>startup restrict mount;
SQL>drop database;
使用sqlplus命令刪除資料庫實例,必須先以restrict mount方式將資料庫實例載入(但不打開),然後使用drop database語句刪除該資料庫實例。
資料庫實例的修改和資料庫實例的創建,情況類似,DBCA方式或者命令行方式。只要是DBCA方式能夠修改的資料庫實例參數,命令行方式也都能辦到。
⑼ oracle資料庫怎麼創建資料庫
資料庫用戶的創建、許可權的分配
資料庫安裝完成後,有兩個系統級的用戶:
system 默認密碼為:manager
sys 默認密碼為:change_on_install
在安裝的資料庫目錄中找到 \oracle\proct\9.2\bin 中的sqlplus程序, 運行:./sqlplus system/manager@ora9i
用system用戶創建自己的用戶、許可權;sql語句如下:
1、創建用戶:
create user username identified by pwd default tablespace users Temporary TABLESPACE Temp;
2、 用戶授權 grant connect,resource,dba to business;
3、 提交: commit;
資料庫數據的導入,導出
假設有兩個資料庫 9.0.1 與 9.0.2 1.導出數據
exp system用戶/system的密碼@伺服器名 owner用戶名=「oradial 」 file="oradial.dmp"
說明:
(1) 如果該命令是在本地執行,則不用指定伺服器名
(2) owner用戶名,通過sys用戶的登錄所創建的用戶名。同時授予的許可權包括
connect , dba , resource ,還要創建表空間。
(3) system用戶名,owner用戶名 是9.0.1資料庫中的用戶 2.導入數據
imp system用戶/system的密碼@伺服器名 file=oradial.dmp fromuser(用戶名)=oradial touser(用戶名)=abc
若了解更多詳情,在DOS下輸入 exp help = y imp help = y