對於oracle資料庫下的企業級應用開發,經常會使用到新建用戶,新建表空間以及數據的遷移工作。雖然目前互聯網存在很多單個問題的解決方案,但是比較零散,本博文結合研發兄弟們的實際現狀,提供一套完整初始研發資料庫環境的搭建手段,免得導出搜素。 登錄相關操作 預設有以下2個超級用戶: sys:超級管理員用 ...
對於oracle資料庫下的企業級應用開發,經常會使用到新建用戶,新建表空間以及數據的遷移工作。雖然目前互聯網存在很多單個問題的解決方案,但是比較零散,本博文結合研發兄弟們的實際現狀,提供一套完整初始研發資料庫環境的搭建手段,免得導出搜素。
登錄相關操作
預設有以下2個超級用戶:
sys:超級管理員用戶,具備所有操作的許可權,包括啟動,停止,修改資料庫模式等所有操作;一般我們進行特殊操作都會使用sys用戶;但是很多時候會執行:sqlplus / as sysdba,該命令是省略用戶名和密碼以sysdba角色進行登錄。為什麼能夠省略用戶名和密碼?這跟資料庫的授權機制有關,從本質上來講跟登錄操作系統的用戶有關,windows擦偶偶系統預設會自動安裝一個角色ora_dba,linux需要我們自己在安裝oracle的時候去配置一個dba角色,這個角色就具備操作免密登錄oracle的許可權。並且使用免密登錄必須只能是 as sysdba模式。
system:具備資料庫管理相關所有的操作,比如新建用戶,授權之類的,但是沒有啟停數據的許可權;
oracle用戶需要指定:用戶名,密碼,所使用預設表空間,臨時表空間,基本配置文件,許可權。
其中表空間用來進行表存儲,索引存儲等,臨時表空間用來進行order by,group by,索引rebuild操作。配置文件(profile)用來控制cpu使用,連接數,密碼過期時間等。
創建表空間:create tablespace hyb datafile 'F:\ORACLE\ADMINISTRATOR\ORADATA\ORCL\HYB01.DBF' size 100M autoextend on next 2M;
創建臨時表空間:create temporary tablespace hyb_temp tempfile 'F:\ORACLE\ADMINISTRATOR\ORADATA\ORCL\HYBTEMP.DBF' size 100M autoextend on next 2M;
創建用戶並指定表空間:create user hyb default tablespace hyb temporary tablespace hyb_temp profile default identified by hyb;
對用戶進行授權:grant connect,resource,dba to hyb;
數據遷移相關操作
服務端工具:該命令要在數據所在的oracle伺服器上執行;
expdp/impdp
expdp username/password 該命令會將導出的文件放到指定的目錄中,DATA_PUMP_DIR目錄中,該目錄可以通過後邊的數據字典查詢。
impdp username/password remap_schema=old_user:new_user remap_tablespace=old_ts:new_ts table_exists_action=replace,必須將待導入文件放到DATA_PUMP_DIR下邊,並且名稱必須為EXPDAT.DMP,且在oracle下大小寫敏感即必須大寫。
客戶端工具:該命令可以在任何安裝了oracle客戶端(實際安裝oracle就行)
exp/imp
exp username/password@遠程伺服器地址:1521/orcl file=本地路徑和名稱
imp username/password full=y
其中full=y表示導入所有的數據,可以指定fromuser=username touser=當前username方式將遠數據導入本地。
常用數據字典表
select FILE_NAME from dba_data_files; --dba_data_files 查看oracle的數據文件的基本信息 select * from tab; --tab 查看當前資料庫下有哪些表 SELECT * FROM ind; --查看當前資料庫下有哪些索引 SELECT * FROM dba_directories t WHERE t.directory_name='DATA_PUMP_DIR'; --查看數據泵導出數據預設保存的目錄
轉載自三徑就荒博客:https://blog.csdn.net/superhanyubo/article/details/96430064