首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 資料庫自動化導入導出實戰:批處理腳本與用戶權限全流程

     編輯:Oracle 資料庫相關知識

系統交付、環境遷移、測試數據重置等場景,常需實現「一鍵式」數據導入。本文提供生產可用的批處理方案,覆蓋用戶創建、權限授予、數據導入全鏈路。

核心腳本:impInitialData.bat

@echo off
sqlplus system/manager @createuser
imp system/manager file=initial.dmp fromuser=initialuser touser=initialuser ignore=y

配套 SQL:createuser.sql

CREATE USER initialuser IDENTIFIED BY test;
GRANT DBA, RESOURCE, CONNECT TO initialuser;
EXIT;

關鍵參數解析

參數含義
@echo off隱藏命令回顯
system/manager默認 DBA 帳號(若鎖定/改密需替換)
@createuser執行同目錄下 SQL 腳本
file=initial.dmp導入文件路徑
fromuser/touser源/目標 Schema 映射
ignore=y忽略創建對象錯誤(如已存在)

常用擴展操作

刪除用戶(含級聯對象)

DROP USER powercc CASCADE;

權限管理進階

-- 對象級授權
GRANT SELECT ON scott.dept TO news;

-- 連帶授權 (WITH GRANT OPTION)
GRANT SELECT ON scott.dept TO news WITH GRANT OPTION;

-- 全量授權
GRANT ALL ON scott.dept TO news;

-- 撤銷權限
REVOKE SELECT ON scott.dept FROM news;

角色化管理(推薦生產環境)

CREATE ROLE myrole;
GRANT UNLIMITED TABLESPACE, DBA TO myrole;
GRANT myrole TO news;

表空間指定建表

-- 默認用戶表空間
CREATE TABLE tt(t VARCHAR2(10));

-- 指定表空間
CREATE TABLE tt(t VARCHAR2(10)) TABLESPACE othertabs;

遠程協作場景:同步 Schema 數據

  1. 源端導出:EXP scott/tiger FILE=e:\oracle_new_scott\scott.dmp
  2. 目標端建用戶+表空間+授權
  3. 導入:IMP user2/user2@db2 FILE=scott.dmp FROMUSER=scott TOUSER=user2

關鍵點:導入時首次輸入 user2@db2(目標用戶@全局DB名),第二次輸入 scott(源 Schema)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved