使用手工方法Clone異名資料庫實驗
搭建資料庫Clone物件是我們經常遇到的日常運維需求。在實際開發測試過程中,經常需要快速複製一份包含業務資料的資料庫環境。之前,我們已經介紹過如果使用RMAN Duplicate功能進行相關操作。本篇一起來討論如何使用傳統的SQL Plus工具進行建立克隆資料庫。
1、環境介紹和實驗目標
我們選擇Oracle 11gR2進行測試,執行作業系統為Linux 5.3。
SQL> select * from v$version;
BANNER
----------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
資料庫例項名為ora11g,相關環境變數如下:
[oracle@SimpleLinux ~]$ env | grep ORA
ORACLE_SID=ora11g
ORACLE_BASE=/u01/app
ORACLE_HOME=/u01/app/oracle
資料庫引數檔案、控制檔案、資料檔案均遵守OFA規範,檔名稱策略為OMF。
實驗目標是建立資料庫ora11cl,內容和ora11g完全相同(clone)。但是資料庫名稱要求不同。由於環境原因,筆者採用相同host進行檔案複製,如果是不同host克隆資料庫,操作完全相同。注意:異地克隆資料庫,最好Oracle軟體版本或者補丁完全相同。這樣做可以防止由於版本原因造成的異常。
2、原理分析和準備
Oracle資料庫執行三大檔案:資料檔案、控制檔案和日誌檔案(online+archived)。需要進行資料庫複製要將實現:引數檔案啟動一個全新的例項,採用一個新的例項名;控制檔案重建並且識別日誌和資料檔案;如果不完全關閉情況下,還要考慮歸檔日誌的應用補全。
一般情況下,如果是完全關閉資料庫,我們是可以避免歸檔日誌apply過程的。使用pfile可以實現新資料庫例項的建立。在進入nomount之後,可以嘗試重新建立control file,來修改置換檔案頭的各種資訊。
確定當前控制檔案目錄:
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oradata/ORA11G/controlfile/o1_mf_92t72zkf_.ctl
/u01/app/fast_recovery_area/ORA11G/controlfile/o1_mf_92t72zyj_.ctl
如果新資料庫依然遵守OFA策略,對應的ORA11CL目錄需要建立,包括資料目錄和日誌目錄。準備cp命令指令碼。
SQL> select 'cp '||file_name||' '||replace(file_name,'ORA11G','ORA11CL') from dba_data_files;
cp /u01/app/oradata/ORA11G/datafile/o1_mf_users_92t6zl83_.dbf /u01/app/oradata/ORA11CL/datafile/o1_mf_users_92t6zl83_.dbf
cp /u01/app/oradata/ORA11G/datafile/o1_mf_undotbs1_92t6zl6d_.dbf /u01/app/oradata/ORA11CL/datafile/o1_mf_undotbs1_92t6zl6d_.dbf
cp /u01/app/oradata/ORA11G/datafile/o1_mf_sysaux_92t6zl5k_.dbf /u01/app/oradata/ORA11CL/datafile/o1_mf_sysaux_92t6zl5k_.dbf
cp /u01/app/oradata/ORA11G/datafile/o1_mf_system_92t6zl2m_.dbf /u01/app/oradata/ORA11CL/datafile/o1_mf_system_92t6zl2m_.dbf
cp /u01/app/oradata/ORA11G/datafile/o1_mf_example_92t74b1f_.dbf /u01/app/oradata/ORA11CL/datafile/o1_mf_example_92t74b1f_.dbf
cp /u01/app/oradata/ORA11G/datafile/o1_mf_trcatbl_96mlzz0j_.dbf /u01/app/oradata/ORA11CL/datafile/o1_mf_trcatbl_96mlzz0j_.dbf
cp /u01/app/oradata/ORA11G/datafile/o1_mf_testtbl_9j2sxn9r_.dbf /u01/app/oradata/ORA11CL/datafile/o1_mf_testtbl_9j2sxn9r_.dbf
cp /u01/app/oradata/ORA11G/datafile/o1_mf_awp_9khloyod_.dbf /u01/app/oradata/ORA11CLO/datafile/o1_mf_awp_9khloyod_.dbf
8 rows selected
控制檔案dump備份有很多方法,因為本次試驗希望使用Create control file的策略,所以備份到平面flat text檔案。
SQL> set heading on;
SQL> select value from v$diag_info where name='Default Trace File';
VALUE
----------------------------------------------
/u01/app/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_3577.trc
SQL> alter database backup controlfile to trace;
Database altered
開啟trace檔案,定位了指令碼位置,選擇resetlogs模式建立。
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORA11G" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 1248
LOGFILE
GROUP 1 (
'/u01/app/oradata/ORA11G/onlinelog/o1_mf_1_94hvy8pw_.log',
'/u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_1_94hvy9kk_.log'
) SIZE 50M BLOCKSIZE 512,
GROUP 2 (
'/u01/app/oradata/ORA11G/onlinelog/o1_mf_2_94hvyc26_.log',
'/u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_2_94hvydb6_.log'
) SIZE 50M BLOCKSIZE 512,
GROUP 3 (
'/u01/app/oradata/ORA11G/onlinelog/o1_mf_3_94hvyfvx_.log',
'/u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_3_94hvyh9v_.log'
) SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oradata/ORA11G/datafile/o1_mf_system_92t6zl2m_.dbf',
'/u01/app/oradata/ORA11G/datafile/o1_mf_sysaux_92t6zl5k_.dbf',
'/u01/app/oradata/ORA11G/datafile/o1_mf_undotbs1_92t6zl6d_.dbf',
'/u01/app/oradata/ORA11G/datafile/o1_mf_users_92t6zl83_.dbf',
'/u01/app/oradata/ORA11G/datafile/o1_mf_example_92t74b1f_.dbf',
'/u01/app/oradata/ORA11G/datafile/o1_mf_trcatbl_96mlzz0j_.dbf',
'/u01/app/oradata/ORA11G/datafile/o1_mf_testtbl_9j2sxn9r_.dbf',
'/u01/app/oradata/ORA11G/datafile/o1_mf_awp_9khloyod_.dbf'
CHARACTER SET AL32UTF8
;
兩個地方需要修改,一個是online group資訊。因為我們是完全關閉資料庫,不會有啟動之後例項恢復步驟。而且OMF策略的一些檔案在一些版本下是不能指定,所以為避免麻煩,刪除掉日誌檔案資訊,讓Oracle執行過程中重新建立日誌。另一個改動是資料檔案的目錄資訊,將其中的ORA11G替換為ORA11CL。
STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "ORA11CL" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 1248
LOGFILE
GROUP 1 SIZE 50M BLOCKSIZE 512,
GROUP 2 SIZE 50M BLOCKSIZE 512,
GROUP 3 SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oradata/ORA11CL/datafile/o1_mf_system_92t6zl2m_.dbf',
'/u01/app/oradata/ORA11CL/datafile/o1_mf_sysaux_92t6zl5k_.dbf',
'/u01/app/oradata/ORA11CL/datafile/o1_mf_undotbs1_92t6zl6d_.dbf',
'/u01/app/oradata/ORA11CL/datafile/o1_mf_users_92t6zl83_.dbf',
'/u01/app/oradata/ORA11CL/datafile/o1_mf_example_92t74b1f_.dbf',
'/u01/app/oradata/ORA11CL/datafile/o1_mf_trcatbl_96mlzz0j_.dbf',
'/u01/app/oradata/ORA11CL/datafile/o1_mf_testtbl_9j2sxn9r_.dbf',
'/u01/app/oradata/ORA11CL/datafile/o1_mf_awp_9khloyod_.dbf'
CHARACTER SET AL32UTF8
;
此外,我們注意在指令碼中沒有temp tablespace的資訊。在trace檔案中,我們看到Oracle可以在open reset之後建立表空間。當然,原始Trace檔案中包括臨時檔案的名稱資訊,筆者也將其刪除,促使Oracle自動建立。
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE SIZE 481296384 AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
ALTER TABLESPACE TEMPTEST ADD TEMPFILE SIZE 1024M AUTOEXTEND OFF;
ALTER TABLESPACE TEMPTEST ADD TEMPFILE SIZE 525328384 AUTOEXTEND OFF;
ALTER TABLESPACE AWP_TEMP ADD TEMPFILE SIZE 1024M AUTOEXTEND ON NEXT 104857600 MAXSIZE 32767M;
最後是引數檔案準備,可以使用ora11g作為範本進行改寫。
SQL> create pfile from spfile;
File created.
[oracle@SimpleLinux dbs]$ ls -l | grep init
-rw-r--r-- 1 oracle oinstall 2851 May 15 2009 init.ora
-rw-r--r-- 1 oracle oinstall 1070 Mar 10 11:17 initora11g.ora
修改其中內容,主要是資料庫名稱,控制檔案引數control_files要進行遮蔽。對應所有與ora11g有關目錄需要進行改寫。
ora11cl.__db_cache_size=71303168
ora11cl.__java_pool_size=20971520
ora11cl.__large_pool_size=4194304
ora11cl.__oracle_base='/u01/app'#ORACLE_BASE set from environment
ora11cl.__pga_aggregate_target=113246208
ora11cl.__sga_target=264241152
ora11cl.__shared_io_pool_size=0
ora11cl.__shared_pool_size=150994944
ora11cl.__streams_pool_size=8388608
*.audit_file_dest='/u01/app/admin/ora11cl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
#*.control_files='/u01/app/oradata/ORA11CL/controlfile/o1_mf_92t72zkf_.ctl','/u01/app/fast_recovery_area/ORA11CL/controlfile/o1_mf_92t72zyj_.ctl'
*.db_block_size=8192
*.db_create_file_dest='/u01/app/oradata'
*.db_domain=''
*.db_name='ora11cl'
*.db_recovery_file_dest='/u01/app/fast_recovery_area'
*.db_recovery_file_dest_size=10737418240
*.diagnostic_dest='/u01/app'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ora11cloneXDB)'
*.log_checkpoints_to_alert=TRUE
*.memory_max_target=360m
*.memory_target=360m
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_retention=300
*.undo_tablespace='UNDOTBS1'
*.use_large_pages='true'
儲存為initora11clone.ora檔案。
[oracle@SimpleLinux dbs]$ ls -l | grep init
-rw-r--r-- 1 oracle oinstall 2851 May 15 2009 init.ora
-rw-r--r-- 1 oracle oinstall 1127 Mar 10 11:49 initora11clone.ora
-rw-r--r-- 1 oracle oinstall 1070 Mar 10 11:17 initora11g.ora
目錄建立,依據前面定位的目錄資訊,手工建立檔案系統目錄。
[root@SimpleLinux ~]# mkdir -p /u01/app/admin/ora11cl/adump
[root@SimpleLinux ~]# mkdir -p /u01/app/fast_recovery_area/ORA11CL/controlfile/
[root@SimpleLinux ~]# mkdir -p /u01/app/oradata/ORA11CL/datafile
[root@SimpleLinux ~]# mkdir -p /u01/app/oradata/ORA11CL/onlinelog/
[root@SimpleLinux ~]# mkdir -p /u01/app/fast_recovery_area/ORA11CL/onlinelog/
[root@SimpleLinux ~]# cd /u01
[root@SimpleLinux u01]# chown -R oracle:oinstall /u01
3、複製過程
做好準備之後,就可以開始過程。首先,在cp檔案之前,一定要確保source資料庫是完全關閉,保證控制檔案、資料檔案和日誌檔案時間SCN一致。
[oracle@SimpleLinux dbs]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.3.0 Production on Mon Mar 10 11:56:43 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
作業系統層面進行cp複製。
[oracle@SimpleLinux ~]$ cp /u01/app/oradata/ORA11G/datafile/o1_mf_users_92t6zl83_.dbf /u01/app/oradata/ORA11CL/datafile/o1_mf_users_92t6zl83_.dbf
cp /u01/app/oradata/ORA11G/datafile/o1_mf_trcatbl_96mlzz0j_.dbf
(篇幅原因,有省略……)
[oracle@SimpleLinux ~]$ cp /u01/app/oradata/ORA11G/datafile/o1_mf_awp_9khloyod_.dbf /u01/app/oradata/ORA11CL/datafile/o1_mf_awp_9khloyod_.dbf
為新例項建立密碼檔案:
命令:orapwd file=orapwora11cl password=oracle
[oracle@SimpleLinux dbs]$ ls -l | grep orapw
-rw-r----- 1 oracle oinstall 1536 Feb 12 14:03 orapwAUX
-rw-r----- 1 oracle oinstall 1536 Mar 10 13:10 orapwora11cl
-rw-r----- 1 oracle oinstall 1536 Sep 9 09:02 orapwora11g
單獨啟動例項資料庫:
[oracle@SimpleLinux dbs]$ export ORACLE_SID=ora11cl
[oracle@SimpleLinux dbs]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.3.0 Production on Mon Mar 10 12:29:24 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup nomount pfile=initora11clone.ora
ORACLE instance started.
Total System Global Area 376635392 bytes
Fixed Size 1345072 bytes
Variable Size 297798096 bytes
Database Buffers 71303168 bytes
Redo Buffers 6189056 bytes
例項啟動成功,進入nomount狀態。之後執行create controlfile語句。
SQL> CREATE CONTROLFILE REUSE DATABASE "ORA11CL" RESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 1248
7 LOGFILE
8 GROUP 1 SIZE 50M BLOCKSIZE 512,
9 GROUP 2 SIZE 50M BLOCKSIZE 512,
10 GROUP 3 SIZE 50M BLOCKSIZE 512
11 -- STANDBY LOGFILE
(篇幅原因,有省略……)
20 '/u01/app/oradata/ORA11CL/datafile/o1_mf_awp_9khloyod_.dbf'
21 CHARACTER SET AL32UTF8
22 ;
CREATE CONTROLFILE REUSE DATABASE "ORA11CL" RESETLOGS ARCHIVELOG
*
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01161: database name ORA11G in file header does not match given name of
ORA11CL
ORA-01110: data file 1:
'/u01/app/oradata/ORA11CL/datafile/o1_mf_system_92t6zl2m_.dbf'
注意:Oracle此時報錯,認為定義名稱和資料檔案頭中記錄的名稱有差異。這也就說明,在資料檔案頭上,記錄著資料庫的名稱資訊。
解決方法就是修改create controlfile語句頭的名稱,從reuse更改為set。這樣可以讓語句強制性將資料檔案的頭資訊加以修改。
SQL> CREATE CONTROLFILE SET DATABASE "ORA11CL" RESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 1248
7 LOGFILE
8 GROUP 1 SIZE 50M BLOCKSIZE 512,
9 GROUP 2 SIZE 50M BLOCKSIZE 512,
(篇幅原因,有省略……)
'/u01/app/oradata/ORA11CL/datafile/o1_mf_awp_9khloyod_.dbf'
21 CHARACTER SET AL32UTF8
22 ;
Control file created.
此時控制檔案引數被設定上,而且是正確的。注意:10g一些版本中,duplicate過程是由一些bug的。
SQL> show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /u01/app/oradata/ORA11CL/contr
olfile/o1_mf_9ktloqho_.ctl, /u
01/app/fast_recovery_area/ORA1
1CL/controlfile/o1_mf_9ktloqol
_.ctl
control_management_pack_access string DIAGNOSTIC+TUNING
啟動open resetlogs資料庫,建立臨時表空間和檔案。
SQL> alter database open resetlogs;
Database altered.
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE SIZE 481296384 AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
ALTER TABLESPACE TEMPTEST ADD TEMPFILE SIZE 1024M AUTOEXTEND OFF;
ALTER TABLESPACE TEMPTEST ADD TEMPFILE SIZE 525328384 AUTOEXTEND OFF;
Tablespace altered.
SQL>
Tablespace altered.
SQL>
Tablespace altered.
Recovery Area和Archive模式檢查。
SQL> show parameter recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/fast_recovery_area
db_recovery_file_dest_size big integer 10G
recovery_parallelism integer 0
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 1
Next log sequence to archive 1
Current log sequence 1
此時並沒有結束,資料庫還是使用pfile進行啟動,要建立出spfile。此處筆者嘗試使用from memory進行建立。
SQL> create spfile from memory;
File created.
SQL> startup force;
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.
Total System Global Area 376635392 bytes
Fixed Size 1345072 bytes
Variable Size 301992400 bytes
Database Buffers 67108864 bytes
Redo Buffers 6189056 bytes
Database mounted.
Database opened.
資料庫啟動,但是過程中存在提示告警資訊。
4、告警資訊解決
啟動過程中告警資訊,不是什麼大的問題。從alert_log中可以定位問題,發現故障片段。
Deprecated system parameters with specified values:
background_dump_dest
user_dump_dest
End of deprecated system parameter listing
Oracle認為backgroup_dump_dest和user_dump_dest兩個引數已經過時了,不需要設定。我們from memory的過程中,過多的引數被加入了spfile。
修復方法也很簡單,就是轉換為pfile之後,將其遮蔽掉。
[oracle@SimpleLinux dbs]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.3.0 Production on Mon Mar 10 13:30:01 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> create pfile from spfile;
File created.
[oracle@SimpleLinux dbs]$ ls -l | grep init
-rw-r--r-- 1 oracle oinstall 2851 May 15 2009 init.ora
-rw-r--r-- 1 oracle oinstall 1233 Mar 10 13:28 initora11clone.ora
-rw-r--r-- 1 oracle oinstall 6558 Mar 10 13:30 initora11cl.ora
-rw-r--r-- 1 oracle oinstall 1070 Mar 10 11:17 initora11g.ora
手工將引數檔案中的過期引數用#遮蔽住。
*._unnest_subquery=TRUE
*._use_column_stats_for_function=TRUE
*.audit_file_dest='/u01/app/admin/ora11cl/adump'
*.audit_trail='DB'
#*.background_dump_dest='/u01/app/diag/rdbms/ora11cl/ora11cl/trace'#Deprecate parameter
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oradata/ORA11CL/controlfile/o1_mf_9ktloqho_.ctl','/u01/app/fast_recovery_area/ORA11CL/controlfile/o1_mf_9ktloqol_.ctl'# Oracle managed file
*.core_dump_dest='/u01/app/diag/rdbms/ora11cl/ora11cl/cdump'
(篇幅原因,有省略……)
*.undo_tablespace='UNDOTBS1'
*.use_large_pages='true'
#*.user_dump_dest='/u01/app/diag/rdbms/ora11cl/ora11cl/trace'#Deprecate parameter
啟動資料庫,重建spfile。
[oracle@SimpleLinux dbs]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.3.0 Production on Mon Mar 10 13:32:02 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup nomount pfile=initora11cl.ora
ORACLE instance started.
Total System Global Area 376635392 bytes
Fixed Size 1345072 bytes
Variable Size 301992400 bytes
Database Buffers 67108864 bytes
Redo Buffers 6189056 bytes
SQL> create spfile from pfile;
File created.
重啟測試,成功。
SQL> startup force;
ORACLE instance started.
Total System Global Area 376635392 bytes
Fixed Size 1345072 bytes
Variable Size 301992400 bytes
Database Buffers 67108864 bytes
Redo Buffers 6189056 bytes
Database mounted.
Database opened.
5、結論
如果是使用熱備份方法(begin backup\end backup)的方法,就意味著需要歸檔日誌進行輔助還原。
在SQL命令符下,需要使用set logsource進行歸檔路徑指定。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17203031/viewspace-1104611/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用RMAN Duplicate方法搭建異名資料庫實驗資料庫
- clone oracle資料庫的方法Oracle資料庫
- OCM實驗-手工建庫
- 使用RMAN進行同名資料庫異地環境搭建實驗資料庫
- 手工建立資料庫資料庫
- Rman 實現oracle11g資料庫cloneOracle資料庫
- C#取資料庫名稱與資料庫中表名的方法C#資料庫
- 實驗課程名稱:資料庫系統概論資料庫
- 手工命令建立資料庫資料庫
- Oracle 手工建立資料庫Oracle資料庫
- 手工建立oracle資料庫Oracle資料庫
- 【手工建庫】手工方式建立 ORACLE資料庫全程記錄Oracle資料庫
- 手工刪除oracle資料庫Oracle資料庫
- 手工建立oracle資料庫(轉)Oracle資料庫
- 資料庫實驗二資料庫
- 資料庫名、例項名、資料庫域名、全域性資料庫名、服務名概念區分資料庫
- 【原創】手工建立Oracle資料庫Oracle資料庫
- 4, 手工建立資料庫(筆記)資料庫筆記
- 資料庫實驗八 資料庫程式設計資料庫程式設計
- 資料庫實驗五:資料庫程式設計資料庫程式設計
- 實驗-閃回資料庫資料庫
- jquery validate 手工驗證方法jQuery
- 資料泵實現資料遷移到異地庫
- 單例項資料庫手工轉化多例項資料庫單例資料庫
- 使用NID修改Oracle資料庫名Oracle資料庫
- mssql資料庫異地進行異地備份的方法SQL資料庫
- 資料庫實驗五 資料庫的安全性資料庫
- 查詢當前資料庫名、使用者名稱、資料庫伺服器IP、埠、資料庫版本資訊。資料庫伺服器
- 2.4.10 Step 9:手工建立資料庫資料庫
- Oracle11g 手工建立資料庫Oracle資料庫
- 手工建立ORACLE 11g 資料庫Oracle資料庫
- 手工建立資料庫的完整步驟資料庫
- oracle10g手工建立資料庫Oracle資料庫
- Oracle 10g手工建立資料庫Oracle 10g資料庫
- 手工建立oracle資料庫的過程Oracle資料庫
- 資料庫別名已存在的解決方法資料庫
- java_clone方法使用詳解Java
- 資料庫遷移之資料泵實驗資料庫