從A機複製ORACLE資料庫到B機
前幾天有臺伺服器的oracle10g資料庫的一張系統表損壞了(可能是因為不正常shutdown所致),但在在BDUMP下的alert日誌裡卻不斷報ora-00600錯誤,並且在BDUMP資料夾內產生大量的trc跟蹤檔案,導致該分割槽下沒兩三天硬碟空間就不夠用了。因此決定重新建一個例項,並將舊例項的資料導進新例項中,再刪除舊的例項。參考了網上一些高手文章,終於順利完成。具體步驟如下:
首先先將舊資料庫啟動起來,sartup force;
再匯出使用者資料:exp FILE=/***.DMP LOG=***.LOG OWNER=USERNAME FEEDBACK=10000.
導完或再建庫。
建庫步驟:
1、手工建立相關目錄
/oraclepro/admin/dxora
/oraclepro/admin/dxora/adump
/oraclepro/admin/dxora/bdump
/oraclepro/admin/dxora/cdump
/oraclepro/admin/dxora/dpump
/oraclepro/admin/dxora/pfile
/oraclepro/admin/dxora/udump
2、手工建立初始化啟動引數檔案:/oraclepro/admin/dxora/pfile/initdSID.ora,內容:我是從舊例項的PFILE裡複製出來的的,再修改一下SID。
內容如下:
#########################################################
# SGA Memory
###########################################
sga_target=2146435072
###########################################
# Job Queues
###########################################
job_queue_processes=10
###########################################
# Shared Server
###########################################
dispatchers="(PROTOCOL=TCP) (SERVICE=dxptoraXDB)"
###########################################
# Miscellaneous
###########################################
compatible=10.2.0.1.0
###########################################
# Security and Auditing
###########################################
audit_file_dest=/oraclepro//admin/dxora/adump
remote_login_passwordfile=EXCLUSIVE
###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=839909376
###########################################
# Database Identification
###########################################
db_domain=""
db_name=dxora
###########################################
# File Configuration
###########################################
control_files=("/oracleapp/oradata/dxora/control01.ctl", "/oracleapp/oradata/dxora/control02.ctl", "/oracleapp/oradata/dxora/control03.ctl")
db_recovery_file_dest=/oracleapp/flash_recovery_area
db_recovery_file_dest_size=2147483648
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_management=AUTO
undo_tablespace=UNDOTBS1
###########################################
# Diagnostics and Statistics
###########################################
background_dump_dest=/oraclepro//admin/dxora/bdump
core_dump_dest=/oraclepro//admin/dxora/cdump
user_dump_dest=/oraclepro//admin/dxora/udump
###########################################
# Processes and Sessions
###########################################
processes=150
###########################################
# Cache and I/O
###########################################
db_block_size=8192
db_file_multiblock_read_count=16
############################################################
3、手工建立/oraclepro/product/10.2.0/db_1/dbs/initdxora.ora檔案,
內容為:IFILE='/oraclepro/admin/dxora/pfile/initdxora.ora'
4、使用orapwd.exe命令,建立/oraclepro/product/10.2.0/db_1/dbs/PWDdxora.ora
命令:orapwd file=/oraclepro/product/10.2.0/db_1/dbs/PWDdxora.ora password=dxpt123 entries=5
5、透過oradism.exe命令(在10G以下版本的是oradim.exe),在服務裡生成一個新的例項管理服務,啟動方式為手工
set ORACLE_SID=dxora
oradism -new -sid dxora -startmode manual -pfile "/oraclepro/admin/dxora/pfile/initdxora.ora"
6.修改ORACLE環境變數 vi /home/oracle/.bash_profile
將SID=舊例項名更改為SID=新例項名
7.退出遠端,用ORACLE重新登陸,可使用env命令檢視環境變數是否已經更改。更改後
8.sqlplus /nolog
conn / as sysdba (會提示已連線到一個空的例項)
9.startup nomount pfile="/oraclepro/admin/dxora/pfile/initdxora.ora"
10,建立資料庫
一、
create database dxora
MAXINSTANCES 2
MAXLOGHISTORY 32
MAXLOGFILES 32
MAXLOGMEMBERS 3
MAXDATAFILES 2048
character set ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/oracleapp/oradata/dxora/system01.dbf' size 500M autoextend on next 64K maxsize unlimited
sysaux DATAFILE '/oracleapp/oradata/dxora/sysaux01.dbf' size 500M autoextend on next 64K maxsize unlimited
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/oracleapp/oradata/dxora/temp01.dbf' size 50M autoextend on MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1024K
UNDO TABLESPACE UNDOTBS1 datafile '/oracleapp/oradata/dxora/undotbs01.dbf' SIZE 1024M autoextend on next 64K maxsize unlimited
LOGFILE
GROUP 1 ('/oracleapp/oradata/dxora/redo01.log') SIZE 50M REUSE,
GROUP 2 ('/oracleapp/oradata/dxora/redo02.log') SIZE 50M REUSE,
GROUP 3 ('/oracleapp/oradata/dxora/redo03.log') SIZE 50M REUSE;
二、建立使用者表空間
CREATE TABLESPACE USERS DATAFILE '/oracleapp/oradata/dxora/users01.dbf' SIZE 2048M REUSE
AUTOEXTEND ON NEXT 1280K
MINIMUM EXTENT 128K
DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
三、建立資料字典
@/oraclepro/product/10.2.0/db_1/rdbms/admin/catalog.sql;
@/oraclepro/product/10.2.0/db_1/rdbms/admin/catproc.sql;
@/oraclepro/product/10.2.0/db_1/rdbms/admin/catblock.sql;
@/oraclepro/product/10.2.0/db_1/rdbms/admin/catoctk.sql;
conn system/manager
@/oraclepro/product/10.2.0/db_1/sqlplus/admin/pupbld.sql;
11、建立spfile並重啟db
create spfile from pfile='/oraclepro/admin/dxora/pfile/initdxora.ora'
startup force
12.刪除舊的例項
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
wmsdev
SQL> shutdown immediate;
Database closed.
Database dismounted.
orACLE instance shut down.
SQL> startup mount exclusive
orACLE instance started.
Total System Global Area 939524096 bytes
Fixed Size 781984 bytes
Variable Size 245633376 bytes
Database Buffers 692060160 bytes
Redo Buffers 1048576 bytes
Database mounted.
SQL> alter system enable restricted session;
System altered.
SQL> drop database;
Database dropped.
建立使用者
create user USERNAME identified by PSW;
許可權:
Grant DBA,CONNECT ,RESOURCE TO USERNAME;
建立後有可能需要解鎖才能進行遠端連線。下面是解鎖命令,如果不需解鎖則可跳過
#####################################################################
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;
改完後再
alter user USERNAME account unlock;
#####################################################################
以上是因為遠端登陸報ora-2800使用者被鎖,須用以上方法解開。
下面就可以導進使用者資料。
imp FILE=/***.DMP LOG=/imp***.LOG FROMUSER=USERNAME,TOUSER=USERNAME.FEEDBACK=10000
由於我們那臺伺服器做了群集,因此在備機上也需要建立例項服務與引數。
須先shutdown normal 資料庫,再切換到備機上執行。
1、手工建立相關目錄
/oraclepro/admin/dxora
/oraclepro/admin/dxora/adump
/oraclepro/admin/dxora/bdump
/oraclepro/admin/dxora/cdump
/oraclepro/admin/dxora/dpump
/oraclepro/admin/dxora/pfile
/oraclepro/admin/dxora/udump
2.手工建立初始化啟動引數檔案:/oraclepro/admin/dxora/pfile/initdxora.ora
scp initdxora.ora node2:/oraclepro/admin/dxora/pfile/initdxora.ora
3、手工建立/oraclepro/product/10.2.0/db_1/dbs/initdxora.ora檔案,
內容為:IFILE='/oraclepro/admin/dxora/pfile/initdxora.ora'
4、使用orapwd.exe命令,建立/oraclepro/product/10.2.0/db_1/dbs/PWDdxora.ora
命令:orapwd file=/oraclepro/product/10.2.0/db_1/dbs/PWDdxora.ora password=dxpt123 entries=5
5、透過oradism.exe命令,在服務裡生成一個新的例項管理服務,啟動方式為手工
set ORACLE_SID=dxora
oradism -new -sid dxora -startmode manual -pfile "/oraclepro/admin/dxora/pfile/initdxora.ora"
6.修改ORACLE環境變數 vi .bash_profile
7.修改TNSNAME.ORA
8.startup nomount pfile="/oraclepro/admin/dxora/pfile/initdxora.ora"
9.conn / as sysdba;
建立spfile並重啟db
create spfile from pfile='/oraclepro/admin/dxora/pfile/initdxora.ora';
alter database mount;
alter database open;
(完)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21100044/viewspace-1018628/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 將資料庫從一臺機器複製到另一臺機器上資料庫
- RMAN 同機複製資料庫資料庫
- RMAN 異機複製資料庫資料庫
- oracle表機構和資料複製Oracle
- 資料庫主從複製資料庫
- Oracle跨主機複製資料庫背後的意義Oracle資料庫
- 在不同機器之間使用rman複製資料庫例項,從非asm到asm資料庫ASM
- Oracle活動資料庫複製Oracle資料庫
- oracle rman複製資料庫Oracle資料庫
- 【RMAN】使用RMAN duplicate複製同機資料庫資料庫
- Oracle 之 Duplicate 複製資料庫Oracle資料庫
- oracle實驗-資料庫複製Oracle資料庫
- 11g從活動資料庫複製資料庫資料庫
- MongoDB在不同主機間複製資料庫和集合MongoDB資料庫
- 在同一臺主機上建立複製資料庫資料庫
- Mysql(Mariadb)資料庫主從複製MySql資料庫
- mysql資料庫實現主從複製MySql資料庫
- MySQL-主從複製之搭建從資料庫MySql資料庫
- 使用 Bulk Copy 將大量資料複製到資料庫資料庫
- 資料庫複製資料庫
- 複製資料庫資料庫
- 直接複製資料檔案實現linux平臺資料庫複製到windows平臺資料庫Linux資料庫Windows
- mysql資料庫的主從複製和主主複製實踐MySql資料庫
- 同一個server內將資料從A資料庫導到B資料庫Server資料庫
- Redis系列(四):Redis的複製機制(主從複製)Redis
- 資料庫複製(一)–複製介紹資料庫
- mysql資料庫資料同步/主從複製的配置方法MySql資料庫
- 效能優化資料庫篇-從單機到叢集優化資料庫
- VM 虛擬機器linux從主機複製檔案到虛擬機器錯誤虛擬機Linux
- 【RMAN】使用RMAN duplicate複製同機資料庫遇到的問題資料庫
- 通過Linux虛擬機器拷貝方式複製Oracle資料庫伺服器Linux虛擬機Oracle資料庫伺服器
- SqlServer將資料庫中的表複製到另一個資料庫SQLServer資料庫
- MySQL 主從複製,雙機熱備MySql
- DM7資料複製之資料庫級複製資料庫
- ORACLE SQL Developer4資料庫複製案例OracleSQLDeveloper資料庫
- 在Oracle中實現資料庫的複製Oracle資料庫
- 主庫異常當機---從庫複製報fatal error 1236Error
- MySQL-主從複製之搭建主資料庫MySql資料庫