Oracle 12c + Pl/Sql windows系統下表空間創建、遷移,dmp備份導入,數據庫字符集更改

一、開發環境

操作系統:win11
Oracle版本:12c
Oracle 數據庫字符集:AL32UTF8
Pl/Sql版本:14

二、表空間創建

表空間是 Oracle 數據庫中一種重要的邏輯結構,它是數據庫中數據文件的邏輯集合,用于存儲數據庫對象,如數據表、索引等。表空間與數據文件緊密相關,dbf數據文件是實際存儲數據的物理文件,一個表空間可以包含一個或多個dbf數據文件 。

1.查看表空間對應的文件路徑,在Pl/Sql中輸入下述命令:

SELECT file_name,tablespace_name,bytes/1024/1024 AS size_mb
FROM dba_data_files

在這里插入圖片描述
可以看到咱電腦有這么些默認的表空間,知道了這些默認表空間的存儲路徑,我們就可以根據他們的路徑來新建表空間了。

2.創建表空間

CREATE bigfile 
TABLESPACE users03DATAFILE '你的表空間文件存儲路徑\數據文件名字可以DIY.DBF'SIZE 40G  -- 初始分配AUTOEXTEND ONNEXT 2G   -- 每次擴展2GBMAXSIZE UNLIMITED;   -- 最大限制

在這里插入圖片描述

空間分配邏輯,例如我們現在有20GB的DMP備份文件,70GB可用磁盤空間:

  • DMP解壓空間: 20GB × 2 = 40GB 壓縮數據解壓膨脹系數
  • 總計分配: 20GB x 2.5 = 50GB 最大限制值
  • 保留空間: 20GB 系統運行必需空間

當然我上邊的代碼里沒有設置最大限制值,因為我這邊的存儲硬件資源比較寬裕,大家可以參考一下這個空間分配邏輯。

3.創建公共用戶

CREATE USER c##shuaige777   --用戶名
IDENTIFIED BY shuaige777   -- 用戶密碼
DEFAULT TABLESPACE  USERS03   --表空間名稱
TEMPORARY TABLESPACE temp;--授權
GRANT DBA TO c##shuaige777;

為什么要在用戶名前加 c##

  • Oracle 12c 及以上版本使用多租戶架構(CDB 包含多個 PDB)。
  • 在根容器 (CDB$ROOT) 中創建用戶時,用戶名必須以 C## 或 c## 開頭(公共用戶)。
  • 如果未使用 C## 前綴,或未切換到 PDB 容器執行命令,會觸發此錯誤。

三、導入DMP備份數據

1.登入Sql/Plus
打開Sql*Plus,輸入下述命令,提示輸入密碼按回車鍵即可。

sqlplus / as sysdba

2.創建目錄對象并授權

# 創
CREATE DIRECTORY dump_dir AS 'F:\OracleDumpDir';
# 授
GRANT READ, WRITE ON DIRECTORY dump_dir TO taibao666;

這是在Sql/Plus創建數據庫目錄對象,指向服務器文件系統路徑;也要在本地這個路徑下創建一個文件夾。

注意事項:Sql/Plus中創建的目錄對象名稱、路徑和本地創建的文件名稱、路徑要一致;目錄對象一旦創建,不能直接修改名稱,只能刪除再重新創建。

3.導入DMP備份數據文件

導入dmp是不能在Sql/Plus環境下導的,只能在cmd環境下導,所以以下的命令都是要在cmd環境中輸入。

impdp username/password DIRECTORY=dump_dir DUMPFILE=export.dmp LOGFILE=import.log remap_schema=old:new remap_tablespace=old:new

參數解析

  • username/password:就是上邊我們創建的用戶和密碼c##shuaige777/shuaige777
  • DIRECTORY=dump_dir:就是我們創建的目錄對象dump_dir
  • DUMPFILE=export.dmp:就是我們的dmp備份數據文件名稱
  • LOGFILE=import.log:就是導入日志,你導入會有報錯或者成功的信息,就會存到這文件里邊
  • remap_schema=old:new:就是你導出的源數據庫的用戶名稱和我們現在被導入的用戶名稱
  • remap_tablespace=old:new:就是你導出的源數據庫的表空間名稱和被導入的表空間名稱

了解導入參數的含義后,我們可以自定義SQL導入代碼:

impdp c##shuaige777/shuaige777 DIRECTORY=dump_dir DUMPFILE=BH_01.DMP,BH_02.DMP,BH_03.DMP,BH_04.DMP,BH_05.DMP,BH_06.DMP LOGFILE=BH_import.log JOB_NAME=BH_IMPORT_JOB remap_schema=c##shuiage666:c##shuaige777 remap_tablespace=KFCV50:USERS03

四、表空間數據文件遷移

假如你的表空間USERS03現在由于業務量越來越大,原來存放的存儲空間開始不夠用,準備爆了,領導叫你馬上找辦法解決,在找不到其它辦法解決的情況下,將表空間遷移至擁有更大的地方是最好的選擇。

1.進入我們的Sql/Plus

sqlplus / as sysdba

2.關閉數據庫

shutdown immediate;

3.進入mount模式,因為遷移數據文件只能在mount模式下進行

startup mount;

4.修改dbf文件存放的路徑

alter database rename file 'D:\ORCALE12C\ORADATA\ORCL\USERS03.DBF' to 'F:\OracleDbfDir\USERS03.DBF';

5.恢復介質

recover datafile 'F:\OracleDbfDir\USERS03.DBF';

6.打開數據庫

alter database open;

7.刪除原路徑下文件

HOST del "D:\ORCALE12C\ORADATA\ORCL\USERS03.DBF"

五、數據庫字符集更改

在導入DMP備份文件時,若源數據庫與目標數據庫字符集不一致,可能導致導入失敗。這時候我們就得修改我們的數據庫字符集與源數據庫一致,才能導進來,Oracle的字符集格式最常用的就倆個:AL32UTF8、ZHS16GBK。

注:不建議修改自己的數據庫的字符集,最好是導出的時候對數據進行字符集的格式設定,貿然在生產環境修改數據庫的字符集會導致數據丟失,到時候只能跑路了,救不了。

Oracle的默認字符一般為:AL32UTF8,除非你在Oracle安裝時另外選了。

在這里插入圖片描述
1.進入Sql/Plus,關閉數據庫

SHUTDOWN IMMEDIATE;

2.以限制模式啟動數據庫

STARTUP RESTRICT;

3.更改字符集

ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;

4.重啟數據庫

SHUTDOWN IMMEDIATE;STARTUP;

5.驗證更改

SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER LIKE '%CHARACTERSET';

六、總結

這篇文章主要介紹Oracle數據庫的基礎操作和配置方法,希望能為大家提供實用的學習參考,給大伙敬酒了。

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918134.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918134.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918134.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

GUI:QT簡介

一、什么是QT?Qt是一套跨平臺的 C 圖形用戶界面(GUI)應用程序開發框架,由挪威 Trolltech(奇趣科技)于 1991 年創建,2008 年被諾基亞收購,2012 年后由 Qt Company 負責維護。它廣泛應…

oceanbase執行execute immediate create table提示無權限

問題:OB庫4.2.5.4版本,執行到這一句的時候,報沒有權限:[rootlnob ~]# obclient -h192.168.207.28 -P2881 -ugistarlnzyob -pxxxxxx -A Welcome to the OceanBase. Commands end with ; or \g. Your OceanBase connection id is 3…

滴滴招java開發

滴滴集團 北京(崗位信息已經過jobleap.cn授權,可在csdn發布)收錄時間: 2025年08月01日職位描述 負責滴滴海外業務準入審核及反作弊相關系統的后端開發及系統維護; 職位要求 1、統招本科及以上學歷,計算機科…

深入解析基于Zookeeper分布式鎖在高并發場景下的性能優化實踐指南

深入解析基于Zookeeper分布式鎖在高并發場景下的性能優化實踐指南 在大規模分布式系統中,如何保證多個節點對同一資源的有序訪問,是提高系統穩定性與一致性的核心需求之一。Zookeeper 提供的分布式鎖機制,以其簡潔的原理和高可靠性&#xff0…

騰訊云CodeBuddy AI IDE+CloudBase AI ToolKit打造理財小助手網頁

CodeBuddy 騰訊云CodeBuddy AI IDECloudBase AI ToolKit打造理財小助手網頁 在線體驗地址:理財小助手 在線倉庫:https://cnb.cool/pickstars-2025/ai-financial-assistant 🌟 Hello,我是摘星! 🌈 在彩虹般…

2025-08-08 李沐深度學習11——深度學習計算

文章目錄1 模型構造1.1 自定義 MLP(多層感知機)1.1.1 __init__ (構造函數)1.1.2 forward (前向傳播)1.2 使用自定義 MLP1.3 自定義 Sequential 類1.4 前向傳播1.5 模塊的嵌套使用2 參數管理2.1 參數訪問2.2 嵌套模型2.3 參數初始化2.4 參數共享3 自定義層…

匯編語言和高級語言的差異

匯編語言與高級語言在以下幾個方面存在重要的區別:缺少結構化流程控制。匯編語言不提供if/else、switch/case、for、while等高級控制結構,依賴于底層的無條件跳轉和條件跳轉指令來實現流程控制。這種基于標簽和跳轉的方式雖然極其靈活,但缺乏…

文件管理從基礎到高級:文件描述符、超大文件切片重組與快速刪除實戰

文件管理從基礎到高級:文件描述符、超大文件切片重組與快速刪除實戰目標讀者:Linux/macOS 用戶、后端/運維/數據工程師 環境默認:Linux(GNU 工具鏈),macOS 類似;Windows 可使用 WSL1&#xff09…

RPC 解析

RPC(Remote Procedure Call,遠程過程調用)是一種讓分布式系統中的服務能夠像調用本地函數一樣調用遠程服務的通信機制。以下是其核心原理、技術實現及組件的詳細解析:🔧 一、RPC 核心工作原理(10 步全流程&…

wstool的一個完整的工作流解析

moveit的倉庫源碼編譯的時候使用的是wstool來拉取倉庫的所有內容文件,其命令流程如下: wstool init src wstool merge -t src https://raw.githubusercontent.com/moveit/moveit/master/moveit.rosinstall wstool update -t src rosdep install -y --from-paths src…

對數函數分段定點實現

目錄 一、原理介紹 二、代碼實現 三、結果顯示 四、移植到C語言中的應用 4.1. 定義定點數配置和參數 4.2. 實現分段查找函數 4.3. 實現 log10 近似計算函數 4.4. (可選)定點數轉浮點數 一、原理介紹 之前的博文對數函數分段線性實…

qt系統--事件

文章目錄qt系統事件處理鼠標事件鼠標移動事件處理鍵盤事件定時器事件窗口移動和大小改變事件結語很高興和大家見面,給生活加點impetus!!開啟今天的編程之路!! 作者:?( ‘ω’ )?260 我的專欄&#xff1a…

Linux機器可直接使用的自動化編譯文件

還在為了Linux機器上一遍遍輸入編譯指令苦惱嗎?你需要make指令以及自己的makefile文件!在makefile中寫入自己的個性化指令,讓編譯速度飛起,支持多文件編譯一下文件為個人應用,可以直接cp到相應項目的目錄,每…

Linux學習-數據結構(哈希表)

1.哈希表1.哈希算法將數據通過哈希算法映射成一個關鍵值,存放都在同一位置實現數據的高效存儲和查找,將時間復雜度盡可能降低至O(1)2.哈希碰撞多個數據通過哈希算法得到的鍵值相同,稱為產生哈希碰撞3.哈希表構建哈希表…

Google Chrome <139.0.7236.0 UAF漏洞

【高危】Google Chrome <139.0.7236.0 UAF漏洞 漏洞描述 Google Chrome 是美國谷歌&#xff08;Google&#xff09;公司的一款Web瀏覽器。 受影響版本中&#xff0c;OpenscreenSessionHost::ReportAndLogError 方法的參數使用了 std::string_view 類型來接收錯誤消息。當一…

CentOS8 Stream 網卡配置及重啟

在 CentOS 8 Stream 中&#xff0c;網卡配置已由 NetworkManager 管理&#xff0c;傳統的 ifcfg-eth0 文件仍然支持&#xff0c;但推薦使用 nmcli 或 nmtui 工具進行網絡配置和管理。以下是網卡配置及重啟的詳細步驟&#xff1a;1. 查看當前網卡狀態列出所有網卡bash復制nmcli …

SpringMvc的原理深度剖析及源碼解讀

一、springmvc啟動加載流程1、引入spring-web.jar包時&#xff0c;在這個包的META-INF/services/javax.servlet.ServletContainerInitializer文件中定義的加載類SpringServletContainerInitializer,提供給springmvc實現初始化的操作。2、在SpringServletContainerInitializer類…

【ESP32-menuconfig(1) -- Build Type及Bootloader config】

Build Type Bootloader configmenuconfig介紹Build typeCONFIG_APP_BUILD_TYPECONFIG_APP_BUILD_TYPE_PURE_RAM_APPCONFIG_APP_REPRODUCIBLE_BUILDCONFIG_APP_NO_BLOBSCONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERSCONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERSBootloader config…

C++信息學奧賽一本通-第一部分-基礎一-第3章-第1節

C信息學奧賽一本通-第一部分-基礎一-第3章-第1節 2051 偶數 #include <iostream>using namespace std;int main() {int number; cin >> number;if (number % 2 0) {cout << "yes";} }2052 范圍判斷 #include <iostream>using namespace std…

自由學習記錄(79)

PBRBRDF原理&Unity實現深入淺出_嗶哩嗶哩_bilibili 進行改進 一個像素點對應一個范圍內的 一個微表面--一個由無數個起起伏伏的結構組成的物理結構 屏幕上的每一個像素點&#xff0c;在渲染時通常會被視為一個“微表面”的代表 比如在這個圖中&#xff0c;只關心紅色的區…