oracle建庫腳本
Ⅰ oracle導出建庫腳本
Oracle用戶的導出與導入
導出:
1、 找到你Oracle安裝位置的bin目錄下的 emp.exe
如: D:\oracletools\oracle\proct\10.2.0\db_1\BIN
2、雙擊運行,輸入你要導出的用戶名和密碼(密碼不可見)
3、輸入你導出文件存放的位置
如:d:\crm.dmp 【一定是bmp文件】
導入:
1、 創建用戶 如:crm 【如果存在crm用戶(裡面含有數據等 先刪除 drop user crm cascade)】
2、 賦權讓其擁有導入的許可權 grant dba to crm
3、 找到你Oracle安裝位置的bin目錄下的 imp.exe
4、 輸入你要導入dmp文件的位置
用Oracle的這種方式導出,比較好一些。 如果使用裡面的sql導出的話,導出的是sql文件,
這種方式的話就是dmp文件,如果要使用直接導入就行。
Ⅱ C#中怎麼創建oracle資料庫
好像不行,都是用命令創建,創建如下:
在Oracle中建庫,通常有 兩種方法。一是使用Oracle的建庫工且DBCA,這是一個圖形界面工且,使用起來方便且很容易理解,因為它的界面友好、美觀,而且提示也比較齊全。在 Windows系統中,這個工具可以在Oracle程序組中打開(」開始」—「程序」—「 Oracle - OraDb10g_home1」—「 Configuration and Migration Tools」—「 Database Configuration Assistant」),也可以在命令行(」開始」—「運行」—「cmd」)工具中直接輸入dbca來打開。另一種方法就是手工建庫,這也就是下面所要講的內容。
手工建庫比起使用DBCA建庫來說,是比較麻煩的,但是如果我們學好了手工建庫的話,就可以使我們更好地理解Oracle資料庫的體系結構。手工建庫須要經過幾個步驟,每一個步驟都非常關鍵。它包括:
1、 創建必要的相關目錄
2、 創建初始化參數文件
3、 設置環境變數Oracle_sid
4、 創建實例
5、 創建口令文件
6、 啟動資料庫到nomount(實例)狀態
7、 執行建庫腳本
8、 執行catalog腳步本創建數據字典
9、 執行catproc創建package包
10、 執行pupbld
11、 由初始化參數文件創建spfile文件
12、 執行scott腳本創建scott模式
做完了以上的步驟之後就可以使用「SQL>alter database open;」打開資料庫正常的使用了。下面,我將具體地把以上的幾個步驟用實驗展開來講。
實驗系統平台:Windows Server 2000資料庫系統版本:Oracle Database 10G
Oracle的安裝路徑:D盤 創建的資料庫名稱:book
1、打開命令行工具,創建必要有相關目錄
C:\>mkdir D:\oracle\proct\10.1.0\admin\book
C:\>mkdir D:\oracle\proct\10.1.0\admin\book\bmp
C:\>mkdir D:\oracle\proct\10.1.0\admin\book\ump
C:\>mkdir D:\oracle\proct\10.1.0\admin\book\cmp
C:\>mkdir D:\oracle\proct\10.1.0\admin\book\pfile
C:\>mkdir D:\oracle\proct\10.1.0\admin\book\create
C:\>mkdir D:\oracle\proct\10.1.0\oradata\book
上面創建目錄的過程也可以在Windows的圖形界面中去創建。其中 D:\oracle\proct\10.1.0\admin\book目錄下的幾個子目錄主要用於存放資料庫運行過程中的跟蹤信息。最重要的兩上子目 錄是bmp和ump目錄,bmp目錄存放的是資料庫動行過程中的各個後台進程的跟蹤信息,當中alert文件是警告文件,其文件名稱為 alert_book.log,當資料庫出現問題時,首先就可以去查看此文件以找出原因,手工創建過程中出現的各種問題往往也可以通過查看這個文件找到原 因。Ump目錄存放和特定會話相關的跟蹤信息。D:\oracle\proct\10.1.0\oradata\book目錄存放各種資料庫文 件,包括控制文件、數據文件、重做日誌文件。
2、創建初始化參數文件
資料庫系統啟動時須要用初始化參數文件的設置分配內存、啟動必要的後台進程的。因此,初始化參數文件創建的是否正確、參數設置是否正確關系著整個建庫的「命運」。
創建初始化參數文件可以通過拷貝現在的初始化參數文件並將其做適當的修改即可,從而 不必要用手工去一句一句地寫出來,因為初始化參數文件的結構體系基本上都是一樣的。在我們安裝Oracle的時候,系統已經為我們安裝了一個名為orcl 的資料庫,於是我們可以從它那裡得到一份初始化參數文件。打開D:\oracle\proct\10.1.0\admin\orcl\pfile,找 到init.ora文件,把它拷貝到D:\oracle\proct\10.1.0\bd_1\databse下,並將其改名為 initbook.ora。接著用記事本的方式打開initbook.ora,修改以下的內容:
db_domain=""
db_name=book
control_files=("D:\oracle\proct\10.1.0\oradata\book\control01.ctl", "D:\oracle\proct\10.1.0\oradata\book\control02.ctl", "D:\oracle\proct\10.1.0\oradata\book\control03.ctl")
undo_management=AUTO
undo_tablespace=UNDOTBS1――注意此處的「UNDOTBS1」要和建庫腳步本中對應
background_mp_dest=D:\oracle\proct\10.1.0\admin\book\bmp
core_mp_dest=D:\oracle\proct\10.1.0\admin\book\cmp
user_mp_dest=D:\oracle\proct\10.1.0\admin\book\ump
3、打開命令行,設置環境變數oracle_sid
C:\>set oracle_sid=book
設置環境變數的目地是在默認的情況下,指定命令行中所操作的資料庫實例是book。
4、創建實例(即後台控制服務)
C:\>oradim –new –sid book
oradim是創建實例的工具程序名稱,-new表明執行新建實例,-delete表明執行刪掉實例,-sid指定害例的名稱。
5、創建口令文件
C:\>orapwd file=D:\oracle\proct\10.1.0\db_1\database\pwdbook.ora password=bookstore entries=2
orapwd是創建口令文件的工肯程序各稱,file參數指定口令文件所在的目錄和文件名稱,password參數指定sys用戶的口令,entries參數指定資料庫擁用DBA許可權的用戶的個數,當然還有一個force參數,相信您不指即明,這里就不再細述。
請注意,這里的命令要一行輸入,中間不得換行,否則會出現不必要的錯誤。
口令文件是專門存放sys用戶的口令,因為sys用戶要負責建庫、啟動資料庫、關閉資料庫等特殊任務,把以sys用戶的中令單獨存放於口令文件中,這樣資料庫末打開時也能進行口令驗證。
6、啟動資料庫到nomount(實例)狀態
C:\>sqlplus /nolog
SQL*Plus:Release 10.1.0.2.0 - Proction on 星期三 6月 29 23:09:35 2005
Copyright 1982,2004,Oracle. All rights reserved.
SQL>connect sys/bookstore as sysdba ---這里是用sys連接資料庫
已連接到空閑常式
SQL>startup nomount
ORACLE 常式已經啟動。
Total System Global Area 319888364bytes
Fixed Size 453612bytes
Variable Size 209715200bytes
Database Buffers 109051904bytes
Redo Buffers 667648bytes
SQL>
7、執行建庫腳本
執行建庫腳本,首先要有建庫的腳本。(去哪找建庫腳本呢?我又沒有!)不用著急,請接著往下看。
得到一個符合自己要求的建庫腳本有兩種方法,一種方法是在自己的電腦上用DBCA來 建,接照它的提示一步步地去做,在做到第十二步的時候,請選擇「生成建庫腳本」,然後就大功告成,你就可以到相應的目錄上去找到那個腳本並適當地修它便可 便用。另一種方法就是自己手工去寫一份建庫腳本,這也是這里要見意使用的方法,用記事本編輯如下的內容,並將其保存為文件名任取而後綴名為(*.sql) 的SQL腳本,這里保存到E盤根本錄下且文件名稱為book.sql。
Create database book
datafile 'D:\oracle\proct\10.1.0\oradata\book\system01.dbf' size 300M reuse autoextend on next 10240Kmaxsize unlimited
extent management local
sysaux datafile 'D:\oracle\proct\10.1.0\oradata\book\sysaux01.dbf'
size 120M reuse autoextend on next 10240K maxsize unlimited
default temporary tablespace temp
tempfile 'D:\oracle\proct\10.1.0\oradata\book\temp01.dbf' size 20M reuse autoextend on next 640K maxsize unlimited
undo tablespace "UNDOTBS1" --請注意這里的undo表空間要和參數文件對應
datafile 'D:\oracle\proct\10.1.0\oradata\book\undotbs01.dbf' size 200M reuse autoextend on next 5120K maxsize unlimited
logfile
group 1 ('D:\oracle\proct\10.1.0\oradata\book\redo01.log') size 10240K,
group 2 ('D:\oracle\proct\10.1.0\oradata\book\redo02.log') size 10240K,
group 3 ('D:\oracle\proct\10.1.0\oradata\book\redo03.log') size 10240K
接著就執行剛建的建庫腳本:
SQL>start E:\book.sql
8、執行catalog腳步本創建數據字典
SQL>start D:\oracle\proct\10.1.0\db_1\rdbms\admin\catalog.sql
9、執行catproc創建package包
SQL>start D:\oracle\proct\10.1.0\db_1\rdbms\admin\catproc.sql
10、執行pupbld
在執行pupbld之前要把當前用戶(sys)轉換成system,即以system賬戶連接資料庫。因為此資料庫是剛建的,所以system的口令是系統默認的口令,即manager。你可以在資料庫建好以後再來重新設置此賬戶的口令。
SQL>connect system/manager
SQL>start D:\oracle\proct\10.1.0\db_1\sqlplus\admin\pupbld.sql
11、由初始化參數文件創建spfile文件
SQL>create spfile from pfile;
12、執行scott腳本創建scott模式
SQL>start D:\oracle\proct\10.1.0\db_1\rdbms\admin\scott.sql
13、把資料庫打開到正常狀態
SQL>alter database open;
14、以scott連接到資料庫(口令為tiger),測試新建資料庫是否可以正常運行
至此,整個資料庫就已經建好了。接著你就可以在此資料庫上建立自己的賬戶和表空間啦以及資料庫對象,這里就不再作更多地敘述
Ⅲ oracle11g部署搭建
1.配置hostname
[root@oracledb ~]#hostnamectl set-hostname oracledb
[root@oracledb ~]#echo " 10.100.1.10 oracledb" >>/etc/hosts
2.關閉selinux和防火牆
[root@oracledb ~]#sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@oracledb ~]#setenforce 0
[root@oracledb ~]#systemctl stop firewalld
[root@oracledb ~]#systemctl disable firewalld
[root@oracledb ~]#systemctl status firewalld
建議使用winSCP工具進行上傳到伺服器的/opt目錄下
[root@oracledb ~]# ls -lh /opt/
-rw-r--r-- 1 root root 1.2G Mar 30 16:12 linux.x64_11gR2_database_1of2.zip
-rw-r--r-- 1 root root 1.1G Mar 30 16:11 linux.x64_11gR2_database_2of2.zip
4.安裝oracle環境所需要的依賴包-配置YUM源
安裝依賴包之前,一定要設置好伺服器上的安裝源,原因是:可以在沒有互聯網的時候安裝服務所需依賴包;常用的安裝源有兩種方式:
(1) 配置本地yum源
新建配置文件vi /etc/yum.repos.d/localsource.repo輸入如下內容:
[localsource]
name=localsource
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
(2) 生成本地yum 緩存
注意:從Oracle 11g 11.2.0.2版本開始,在Linux x86_64上安裝時,只需要安裝64位的軟體包,但是,對於11.2.0.2之前的任何Oracle database 11g,下表中列出的32位和64位的安裝包都必須安裝
5.安裝oracle環境所需要的依賴包-安裝依賴包
(1)安裝依賴包
[root@oracledb ~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh lio lio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel zlib zlib-devel pcre-devel unzip
(2)安裝完成後,檢查依賴是否全部安裝成功
[root@oracledb ~]# rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh lio lio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel zlib zlib-devel pcre-devel unzip | grep "not installed"
(3)創建所需的用戶組和用戶
如果要安裝Oracle資料庫,通常需要以下本地操作系統用戶組和用戶:
Oracle inventory組(通常為 oinstall)
OSDBA組 (通常為 dba)
OSOPER組 (通常為 oper)
Oracle軟體所有者(通常為 oracle)
創建用戶組和用戶:
[root@oracledb ~]# groupadd oinstall
[root@oracledb ~]# groupadd dba
[root@oracledb ~]# groupadd oper
[root@oracledb ~]# useradd -g oinstall -G dba oracle
(4)修改oracle用戶密碼:建議密碼配置為字元+數字+特殊字元
[root@oracledb ~]# passwd oracle
6.配置內核參數和資源限制
(1)編輯配置文件vi /etc/sysctl.conf添加如下參數:
vm.max_map_count = 655360
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648 ###最小值: 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
注意:如果系統中某個參數高於上面的參數的值 ,保留較大的值,上面的數值只是官方要求的最小值,可以根據系統調整數值,以優化系統性能
(2)使內核參數生效
[root@oracledb ~]# sysctl -p
7.創建oracle安裝目錄
如下目錄,根據自己的實際情況可做修改:
[root@oracledb ~]# mkdir -p /data/app/oracle/proct/11.2.0
[root@oracledb ~]# cd /data/app/oracle/
[root@oracledb oracle]# mkdir oradata inventory fast_recovery_area
[root@oracledb ~]# chown -R oracle:oinstall /data/app/oracle
[root@oracledb ~]# chmod -R 775 /data/app/oracle
8.配置oracle用戶環境變數
編輯配置文件vi /home/oracle/.bash_profile添加如下內容:
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/proct/11.2.0
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
9. 解壓下載好的兩個Oracle資料庫文件
[root@oracledb ~]# cd /opt
[root@oracledb ~]# unzip linux.x64_11gR2_database_1of2.zip -d /data
[root@oracledb ~]# unzip linux.x64_11gR2_database_2of2.zip -d /data
10. 編輯靜默安裝響應文件
(1)切換到oracle用戶執行
[root@oracledb ~]# su - oracle
(2)切換到響應文件的目錄下
[oracle@oracledb ~]$ cp -R /data/database/response/ .
[oracle@oracledb ~]$ cd response/
[oracle@oracledb response]$ ls
dbca.rsp db_install.rsp netca.rsp
11.修改配置文件:vi /home/oracle/response/db_install.rsp,修改以下變數的值
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/app/oracle/proct/11.2.0
ORACLE_BASE=/data/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
12. 開始靜默安裝Oracle 11g
(1)開始安裝oracle資料庫
[oracle@oracledb ~]$ cd /data/database
[oracle@oracledb ~]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
注意:安裝期間可以使用tail命令查看oracle的安裝日誌,且日誌文件名稱是根
據自己的實際執行時間確定的,安裝日誌文件會在安裝時提示,需要等待3分鍾左右,注意不要停止運行;安裝完成後有如下提示,如果有類似如下提示,說明安裝完成。
The following configuration scripts need to be executed as the "root" user.
#!/bin/sh
#Root scripts to run
/data/app/oraInventory/orainstRoot.sh
/data/app/oracle/proct/11.2.0/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
4. Return to this window and hit "Enter" key to continue
Successfully Setup Software.
13.使用 root用戶執行腳本
(1)切換到root用戶執行
[root@oracledb ~]# su - root
(2)執行兩個用戶腳本
[root@oracledb ~]# sh /data/app/oracle/inventory/orainstRoot.sh
[root@oracledb ~]# sh /data/app/oracle/proct/11.2.0/root.sh
14.配置監聽程序
(1)切換到oracle用戶執行(建議退出重進oracle用戶)
[root@oracledb ~]# su - oracle
(2)配置監聽,查看輸出結果
[oracle@oracledb ~]$ netca /silent /responsefile /home/oracle/response/netca.rsp
(3)查看監聽服務狀態,若沒啟動需要啟動
[oracle@oracledb ~]$ lsnrctl status
[oracle@oracledb ~]$ lsnrctl start
查看結果:
Parsing command line arguments:
Parameter "silent" = true
Parameter "responsefile" = /data/etc/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
Running Listener Control:
/data/app/oracle/proct/11.2.0/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0
(4)查看監聽埠
[oracle@oracledb ~]$ netstat -tnpl | grep 1521
15.靜默創建資料庫
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/data/app/oracle/oradata
RECOVERYAREADESTINATION=/data/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = " 6552 "
##其中TOTALMEMORY = " 6552 " 為6552 MB,物理內存8G*80%
(2)切換到oracle用戶執行
[root@oracledb ~]# su - oracle
(3)執行靜默建庫
[oracle@oracledb ~]$ dbca -silent -responseFile /home/oracle/response/dbca.rsp
執行過程如下:
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/data/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.
(4)查看進程
[oracle@oracledb ~]$ ps -ef | grep ora_ | grep -v grep
(5)再次查看監聽狀態進行確認
[oracle@oracledb ~]$ lsnrctl status
結果顯示:
The command completed successfully
16.至此資料庫就安裝成功了,下面我們登錄下資料庫
(1)切換到oracle用戶執行
[root@oracledb ~]# su - oracle
(2)登錄資料庫
[oracle@oracledb ~]$ sqlplus / as sysdba
(3)查詢實例狀態
SQL>select status from v$instance;
(4)查看資料庫版本
SQL> select * from v$version;
(5)激活scott用戶
SQL>alter user scott account unlock;
SQL>alter user scott identified by tiger;
SQL>select username,account_status from dba_users;
17.設置Oracle開機啟動
(1)修改配置文件vi /data/app/oracle/proct/11.2.0/bin/dbstart 修改如下內容:
將腳本中的ORACLE_HOME_LISTNER=$1,修改為ORACLE_HOME_LISTNER=$ORACLE_HOME
(2)修改配置文件vi /data/app/oracle/proct/11.2.0/bin/dbshut 修改如下內容:
將腳本中的ORACLE_HOME_LISTNER=$1,修改為ORACLE_HOME_LISTNER=$ORACLE_HOME
(3)修改配置文件 vi /etc/oratab修改如下內容,
orcl:/data/app/oracle/proct/11.2.0:Y
(4)新建文件:vi /etc/rc.d/init.d/oracle 注意:建議全部復制腳本內容
#! /bin/bash
# oracle: Start/Stop Oracle Database 11g R2
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/data/app/oracle/proct/11.2.0
ORACLE_USER=oracle
case "$1" in
start)
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n #34;Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
stop)
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n #34;Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
restart)
$0 stop
$0 start
;;
status)
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
(5)給 /etc/init.d/oracle添加執行許可權
[root@oracledb ~]# chmod +x /etc/init.d/oracle
(6)開機啟動oracle
[root@oracledb ~]# chkconfig oracle on
(7)給啟動文件加許可權
[root@oracledb ~]# cd /data/app/oracle/proct/11.2.0/bin/
[root@oracledb bin]# chmod 6751 oracle
[root@oracledb bin]# cd /var/tmp
[root@oracledb tmp]# chown -R oracle:oinstall .oracle
(8)重啟測試
[root@oracledb ~]# reboot
(9)切換到oracle用戶登錄狀態下
[root@oracledb ~]# su - oracle
[oracle@oracledb ~]$ sqlplus / as sysdba
(10)解除鎖定
SQL> alter user SYSTEM account unlock;
(11)這時候就可以用Navicat連接了
SQL> conn;
用戶名:SYSTEM
密碼:oracle
如果不能正確連接,改下密碼試試
alter user system identified by 新密碼
[root@oracledb ~]# mkdir -p /data/szzt
[root@oracledb ~]# cd /data/
[root@oracledb data]# chown oracle:oinstall -R szzt
[root@oracledb data]# ll
total 0
drwxr-xr-x 3 root root 20 Apr 8 21:14 app
drwxr-xr-x 8 root root 128 Aug 21 2009 database
drwxr-xr-x 2 oracle oinstall 6 Apr 14 16:17 szzt
[root@oracledb ~]# su - oracle
[oracle@oracledb ~]$ sqlplus / as sysdba
SQL> conn cshi
Enter password: 登錄失敗
Connected.
SQL> create temporary tablespace DB_DATA_TMP tempfile'/data/szzt/DB_DATA_TMP.dbf' size 500m autoextend on next 100m maxsize 10240m extent management local;
顯示結果:
Tablespace created.
SQL> create tablespace DB_DATA logging datafile'/data/szzt/DB_DATA.dbf' size 2048m autoextend on next 100m maxsize 10240m extent management local;
顯示結果:
Tablespace created.
SQL> create user ceshi identified by ceshi default tablespace DB_DATA temporary tablespace DB_DATA_TMP;
顯示結果:
User created.
SQL> grant dba to ceshi;
顯示結果:
Grant succeeded.
SQL> conn ceshi ###用戶名和密碼一樣,此時登錄成功
[oracle@oracledb ~]$ cd /data/app/oracle/proct/11.2.0/bin/
注意:資料庫導出操作是在 源伺服器 上進行
[oracle@oracledb bin]$ exp 用戶名/密碼@ IP地址 /orcl file =/data/szzt/ceshi.dmp owner='用戶名'
Export terminated successfully without warnings.
注意:資料庫導入操作是在 目標伺服器 上進行
[oracle@oracledb bin]$ imp ceshi/ceshi@ 10.100.1.10 /orcl file=/data/szzt/ceshi.dmp fromuser=ceshi touser=ceshi
顯示結果:可以看到導入的表過程(10.100.1.10是自己的目標資料庫伺服器)
Import terminated successfully without warnings .
(1)、數據導入完畢後,我們可以使用DBeaver對資料庫進行遠程管理
(2)、測試連接,沒問題後完成新建
(3)、連接上來後,我們就可以使用工具來進行管理資料庫
Ⅳ oracle怎麼用命令(sql語句)創建資料庫
我也不知道怎麼用SQL創建資料庫,SQL能創建資料庫里的表,用戶等!裝ORACLE後 在開始——程序——你的ORACLE目錄——配置和移植工具——Database Configuration Assistant 這個可以創建資料庫
Ⅳ 如何從oracle遷移數據到sql server
前陣做了下資料庫遷移,從Sql Server2005遷移到Oracle
10g,這里說一下遷移的方法。
Sql
Server和Oracle區別比較大,包括語法,欄位類型,資料庫機制,配置管理方法等等,區別是全方位的,做遷移需要注意很多問題,在遷移過程中也會遇到問題,需要細細處理之。這里說一下資料庫結構的遷移,和遷移過程中注意的一些問題。(當然具體的資料庫遷移過程中可能問題是不一樣的,具體問題具體分析了)
遷移的方法是從Sql Server已有資料庫中生成出Oracle的建庫腳本,然後在Oracle資料庫上執行。用到的生成工具是Power
Designer。
1、打開PD(Power
Designer簡稱,以下均使用PD),新建一個PDM(物理數據模型),DBMS選擇Microsoft SQL
Server2005,Model name起名叫做mssdb。
2、通過逆向工程將現有Sql
Server資料庫生成PDM
(1)選擇Database->Reverse
Engineer Database,配置數據源,選擇要遷移的資料庫,輸入用戶名、密碼。
(2)選擇資料庫,選擇用戶dbo下的所有表、視圖、存儲過程、方法、觸發器、序列等(由於Sql Server與oracle,資料庫概念上的區別,這里不需選擇用戶、角色)。
點擊OK,生成PDM。已經建立過PDM的情況,這一步可以省略。
3、生成Oracle物理數據模型
選擇Tools->Generate Physical Data Model
(1)DBMS選擇Oracle
10g,輸入名稱:oradb。
(2)在Configure Model
Options配置中, Model Settings的Table&View界面中,勾選Ignore
identifying owner。Oracle中用戶的概念與Sql Server不同,這里忽略owner。
(3)Selection標簽,選擇需要生成的所有表、視圖、外鍵、存儲過程、方法、觸發器、序列等。
點擊確定,即生成了oracle 的PDM。
注意,在生成PDM的過程中可能不會一帆風順,有可能會報錯(比如提示對象長度超限),這會導致生成失敗。這時需要根據具體錯誤提示做相應修改(可能需要多次調整,沒有辦法,誰讓兩者差別這么大的呢)。
4、生成Oracle腳本
與Sql
Server不同的是,在Oracle里表名、欄位名全部為大寫,若要單獨處理為小寫,需加上雙引號。而PD生成的腳本默認是有雙引號的,這里需要修改默認配置,去掉雙引號。
然後選擇oradb,然後選擇Database->Generate
Database,進入資料庫生成界面
在Format標簽下,去掉勾選Owner prefix,它將省掉建表語句前「dbo.」所帶來的麻煩;
在Selection標簽下,選擇要生成腳本的各對象;
在Preview標簽下,可以預覽預生成的腳本(表較多時,切換會比較慢)。
點擊確定,即得到生成的腳本。
5、檢查與調整
腳本是PD自動生成的,因為表比較多,在oracle上直接去執行難免會有錯誤。所以在執行之前需要檢查下腳本的正確性。這里提幾點需要注意的地方。
(1)Oracle要求表名、欄位名等長度最多是30位,而Sql Server沒有這個限制,所以可能會有在Sql
Server創建正常的表而在Oracle下會創建失敗。
(2)檢查一下主鍵、外鍵的名稱,它們有可能是隨機生成的名稱。可根據相應規范進行修改。
(3)檢查欄位名是否用到了Oracle的關鍵字。比如Sql
Server命名「備注」欄位可能會用「comment」、標題用「title」,但comment、title在Oracle中是關鍵字,不可以做為欄位名稱。
(4)存儲過程、方法是否符合Oracle語法。
(5)Sql
Server有自增欄位,而Oracle沒有。要實現此功能,需要相應創建序列、觸發器。
(6)Sql
Server中欄位類型為text的情況,如果是存二進制數據需要在Oracle中選用Blob欄位類型。
(7)Sql
Server有外鍵的情況,主表記錄刪除,從表記錄也會跟著刪除;而Oracle默認情況是當從表有記錄時,所對應的主表記錄不允許刪除。所以這種情況下外鍵需要添加外鍵級聯刪除。
(8)生成的表、視圖等個數是否正確,缺失的情況可單獨生成腳本。
系統不一樣,出現問題的點可能也不一樣,具體問題具體分析。
6、建庫
在Oracle資料庫服務(當然要先安裝好Oracle服務端、並建立資料庫)orcl實例下,使用用戶sys登陸並創建用戶orauser,並將resource、connect角色賦給orauser(這里,orauser使用默認表空間、默認臨時表空間)。
用剛創建的用戶orauser登陸orcl資料庫服務,執行前面已經生成的腳本,若干分鍾後腳本執行完畢,觀察一下執行過程中有無錯誤產生,也可以記錄執行的日誌以便日後查看;檢查看錶、視圖等個數與Sql
Server資料庫中是否一致。如果都正確,那麼,資料庫結構從Sql
Server到Oracle的遷移到此結束。當然,遷移的是否正確還需要在之後的使用中檢查,發現錯誤及時修改即可。
Ⅵ oracle資料庫問題,急等、。。。
1、簡單的說:資料庫可以理解為一個獨立的數據容器,SID就是其名字,表空間是資料庫中的存放單元,一個資料庫中可以建很多個表空間,表空間之間相互獨立,每個表空間中的數據存放在表空間對應的數據文件中,為了訪問資料庫,需要建立用戶,用戶可以訪問哪些表空間是通過許可權來控制的。
以上關系似乎有點復雜,其實可以這么說:資料庫和SID是一一對應的,資料庫和表空間是一對多關系,資料庫和用戶也是一對多關系,用戶和表空間之間是多對多的關系。
2、建立一個完整的資料庫,首先通過創建資料庫,然後通過DatabaseConsole創建表空間和用戶並為用戶指定表空間分配許可權,然後通過SqlPlus或其他工具(如Toad)執行SQL語句創建表並插入數據即可。
詳細的還是建議看Oracle教程吧。
