日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

Oracle迁移数据库

發(fā)布時(shí)間:2023/12/31 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle迁移数据库 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

1.遷移方法概述:

使用Navicat Premium 分別與源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)建立連接,然后借助Navicat Premium自帶的數(shù)據(jù)傳輸功能,實(shí)現(xiàn)Oracle數(shù)據(jù)庫(kù)的遷移.其實(shí)跟從MySQL數(shù)據(jù)庫(kù)遷移到Oracle數(shù)據(jù)庫(kù)是一個(gè)套路.

O(∩_∩)O~ 聽起來,是不是很簡(jiǎn)單,其實(shí)就是很簡(jiǎn)單!下邊我就講一下具體實(shí)現(xiàn)的細(xì)節(jié)流程:

2.實(shí)現(xiàn)步驟:

第一步:在目標(biāo)數(shù)據(jù)庫(kù)中創(chuàng)建表空間和用戶

這點(diǎn)我再次向?qū)racle數(shù)據(jù)庫(kù)不熟悉的同學(xué)強(qiáng)調(diào)一下,對(duì)于Oracle數(shù)據(jù)庫(kù)不像MySQL中,一個(gè)用戶可以管理多個(gè)數(shù)據(jù)庫(kù),對(duì)Oracle來說,一個(gè)用戶只對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù),而新創(chuàng)建的用戶是沒有任何資源和權(quán)限的,所以需要管理員用戶為其分配資源權(quán)限.

在控制臺(tái)以管理員權(quán)限登錄建立連接:

sqlplus system/admin@192.168.10.112:1521/orcl conn /as sysdba;

?

如果你不小心忘記了密碼,可以參考我的另外一篇專門將創(chuàng)建表空間和用戶的博文:Oracle數(shù)據(jù)庫(kù)創(chuàng)建表空間和用戶及刪除數(shù)據(jù)庫(kù)(用戶)

創(chuàng)建表空間與用戶:

<!-- 創(chuàng)建表空間 datafile為你oracle安裝文件的路徑,其中casic_smart.dbf是自己隨便命名的 --> create tablespace casic_smart datafile 'E:\oracle\product\10.2.0\oradata\orcl\casic_smart.dbf' size 1000m; <!-- 創(chuàng)建用戶 并為其指定表空間 --> create user tianzhi_smart identified by tianzhi_smart default tablespace casic_smart quota 500m on users; <!-- 授予權(quán)限 --> grant all privileges to tianzhi_smart;

?

第二步:使用Navicat Premium 分別與源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)建立連接

使用Navicat Premium連接Oracle數(shù)據(jù)庫(kù)時(shí),可能會(huì)報(bào)出如下錯(cuò)誤:

具體解決方案,可參考我的另外一篇博文: Navicat 提示Cannot create oci environment 解決方案

數(shù)據(jù)庫(kù)連接成功后如下圖:

進(jìn)行數(shù)據(jù)輸出:



3.其他方法:

如果這種方法遷移不成功,那就來試試一個(gè)更簡(jiǎn)單的方法:使用Oracel數(shù)據(jù)庫(kù)的imp,exp語句.

?

?

?

1.從源數(shù)據(jù)庫(kù)導(dǎo)出數(shù)據(jù):

語法:

exp user1/pwd1@test1 file='E:test.dmp';

?

示例:

?

exp tianzhi_smart/tianzhi_smart@192.168.56.60:1521/orcl file='E:\tianzhi_smart.dmp';

?

應(yīng)用截圖:
本人愚鈍,初次使用時(shí),都不知道在哪里輸入這導(dǎo)出語句,所以專門貼出來,以備像我一樣的小伙伴,少走些彎路.

?

2.向目標(biāo)數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù):

語法:

imp user2/pwd@test2 file='E:test.dmp' full=y;

?

示例:

?

imp tianzhi_smart/tianzhi_smart@192.168.10.129:1521/orcl file='E:\tianzhi_smart.dmp' full=y;

?

應(yīng)用截圖:

?

?

?

?

?

前言

?

關(guān)于dmp文件我們用的還是比較多的,dmp文件它是作為oracle導(dǎo)入和導(dǎo)出表使用的文件格式,今天就將dmp文件導(dǎo)出和導(dǎo)入進(jìn)行學(xué)習(xí)。

?

dmp文件導(dǎo)出

?

dmp文件導(dǎo)出用的比較多的一般是三種,他們分別是:導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)實(shí)例下的所有數(shù)據(jù)、導(dǎo)出指定用戶的所有表、導(dǎo)出指定表。

?

這里已我的數(shù)據(jù)庫(kù)為例,進(jìn)行介紹,我的Oracle數(shù)據(jù)庫(kù)實(shí)例為"ORACLE",查看自己數(shù)據(jù)庫(kù)實(shí)例可以從"任務(wù)管理器-->服務(wù)"中進(jìn)行查看,如下圖

?

?

打開命令行:

1,將數(shù)據(jù)庫(kù)ORACLE完全導(dǎo)出,用戶名system密碼manager 導(dǎo)出到c:\daochu.dmp中

exp system/manager@ORACLE file=c:\daochu.dmp full=y

?

2,將數(shù)據(jù)庫(kù)中RFD用戶與,JYZGCX用戶的表導(dǎo)出

exp system/manager@ORACLE file=d:\daochu.dmpowner=(RFD,JYZGCX)

?

3,將數(shù)據(jù)庫(kù)中的表T_USER、T_ROLE導(dǎo)出

expJYZGCX/JYZGCX@ORACLEfile= d:\data\newsmgnt.dmp tables=(T_USER,T_ROLE)

?

上面的system為用戶名,manager為密碼,ORACLE為數(shù)據(jù)庫(kù)實(shí)例名,其實(shí)不一定非的用system用戶,只要是擁有管理員權(quán)限的用戶都可以。

?

dmp文件導(dǎo)入

?

1,打開“開始”-->輸入cmd—> sqlplus /nolog;

2,輸入 conn / as sysdba管理員賬戶登錄;

3,需要?jiǎng)?chuàng)建表空間,如果我們知道需要導(dǎo)入的數(shù)據(jù)庫(kù)的表空間直接創(chuàng)建就可以,如果不不知道,也沒有關(guān)系,我們可以用txt打開dmp文件,使用快捷鍵ctrl+F,查找tablespace,就可以找到這個(gè)dmp文件所對(duì)應(yīng)數(shù)據(jù)庫(kù)的表空間,然后創(chuàng)建我們找到的表空間就可以;

步,不創(chuàng)建的表空間,創(chuàng)建用戶,并分配權(quán)限;

5,打開“開始”-->輸入cmd(注意:這里是cmd窗口,不是sqlplus窗口!!!),輸入以下語句:“imp kang/123456@localhost/ORACLEfile="C:\daochu.dmp"full=y ignore=y”

上述語句說明如下:

kang是創(chuàng)建的登錄數(shù)據(jù)庫(kù)用戶名;

123456是登錄數(shù)據(jù)庫(kù)的密碼;

localhost:代表當(dāng)前數(shù)據(jù)庫(kù)的地址是本機(jī),如果是遠(yuǎn)程導(dǎo)入,替換成對(duì)應(yīng)的ip地址就行

ORACLE:是實(shí)例名稱)

file:后面的是你當(dāng)前dmp文件存放的路徑

full=y,這個(gè)貌似是全部

ignore=y,忽略一些錯(cuò)誤

?

備注:關(guān)于數(shù)據(jù)庫(kù)實(shí)例、表空間、用戶等基本概念和創(chuàng)建的語句可參考前面的文章“Oracle學(xué)習(xí)——掃盲篇”

?

小結(jié)

?

本篇文章主要講述了,oracle數(shù)據(jù)導(dǎo)出和導(dǎo)入的具體步驟,其中導(dǎo)入dmp文件的時(shí)候即便不知道表空間、用戶名和密碼也可以進(jìn)行導(dǎo)入。Oracle的學(xué)習(xí)確實(shí)是路漫漫其修遠(yuǎn)兮啊!

?

1.創(chuàng)建Oracle表空間與用戶

Oracle數(shù)據(jù)庫(kù)不像MySQL數(shù)據(jù)庫(kù),一個(gè)用戶可以管理多個(gè)數(shù)據(jù)庫(kù),對(duì)Oracle來說,一個(gè)用戶只對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù),而新創(chuàng)建的用戶是沒有任何資源和權(quán)限的,所以需要管理員用戶為其分配資源權(quán)限.而創(chuàng)建用戶時(shí),需要為用戶指定表空間.

(1) 由于scott權(quán)限不夠,不能創(chuàng)建用戶,另外因?yàn)槠渌^高權(quán)限的賬號(hào)密碼忘記了,所以這里補(bǔ)充一下Oracle更改密碼的方法:

A.在控制臺(tái)輸入`sqlplus scott/tiger@192.168.56.6:1521/orcl `連接Oracle; B.輸入`conn /as sysdba`以DBA角色登錄;

C.連接成功后,輸入“select username from all_users”查看用戶列表。 D.若修改某一個(gè)用戶密碼, 修改用戶口令 格式為:alter user 用戶名 identified by 新密碼;

(2) 使用用戶system登錄PL/SQL Developer,創(chuàng)建表空間和用戶

create tablespace casic_smart datafile 'C:\oracle\product\10.2.0\oradata\orcl\casic_smart.dbf' size 1000m; create user tianzhi_smart identified by tianzhi_smart default tablespace casic_smart quota 500m on users; grant all privileges to tianzhi_smart;
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

2.刪除Oracle數(shù)據(jù)庫(kù)(用戶)

刪除oracle數(shù)據(jù)庫(kù)其實(shí)也就是刪除oracle用戶,因?yàn)樵趏racle中數(shù)據(jù)庫(kù)與用戶是一一對(duì)應(yīng)的.而刪除數(shù)據(jù)庫(kù)(用戶)之后,再創(chuàng)建用戶,就相當(dāng)于清空了數(shù)據(jù)庫(kù)里面的數(shù)據(jù).

<!-- 以管理員用戶登錄 --> sqlplus /nolog conn /as sysdba; <!-- 刪除數(shù)據(jù)庫(kù)(用戶) --> drop user test1 cascade; <!-- 創(chuàng)建表空間 --> create tablespace casic_smart datafile 'C:\oracle\product\10.2.0\oradata\orcl\casic_smart.dbf' size 1000m; <!-- 創(chuàng)建用戶,并指定表空間 --> <!-- 有些是沒有指定表空間的,不知是否可行,未嘗試,保險(xiǎn)起見還是按下面方式來 --> create user test1 identified by pwd1 default tablespace casic_smart quota 500m on users; <!-- 授予權(quán)限 --> grant all privileges to test1 ;

轉(zhuǎn)載于:https://my.oschina.net/u/2822116/blog/887755

總結(jié)

以上是生活随笔為你收集整理的Oracle迁移数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。