1. 程式人生 > >Oracle運維基本操作,倒庫、備份、恢復與優化。

Oracle運維基本操作,倒庫、備份、恢復與優化。

Oracle Linux Centos 系統 運維

Oracle基本操作
創建表空間
CREATE TABLESPACE test //這裏我們創建的表空間名稱叫做test,名字可以自定義

LOGGING

DATAFILE ‘/data/ora01/app/oracle/oradata/cms/test.dbf‘ //這個是表空間數據文件存放地方,建議放在Oracle安裝目錄的oradata下面

SIZE 128M //表空間初始大小

AUTOEXTEND ON //表空間自動增長 ON開

NEXT 128M MAXSIZE 30G //表空間每次增長128M,最多增長到30G,Oracle單個表空間最大支持到32G

EXTENT MANAGEMENT LOCAL

SEGMENT SPACEMANAGEMENT AUTO;

創建用戶並指向表空間、授權
create user test identified by 123456 default tablespace test; //創建一個用戶test,密碼為123456,表空間為test

grant dba to test; //賦予test用戶dba的權限

查看數據備份目錄

select * from dba_directories;

導出數據
expdp test/123456 directory=DATA_PUMP_DIR SCHEMAS=test dumpfile=test20180606.DMPDP

//按用戶導出數據,導出test用戶的所有數據,這裏用戶是test,test的存數據的表空間是test,導入數據的時候要用的到

導入數據
//下面語句表示把從test用戶導出的數據倒入到用戶best,

Impdp best/123456 directory=DATA_PUMP_DIR dumpfile=G6A0220180308.DMPDP REMAP_SCHEMA=test:best REMAP_TABLESPACE=test:best transform=OID:N

導入參數解釋:
directory:後面跟一個數據庫路徑,一般以變量的形式表現 用sql可以查看:select * from dba_directories;

DATA_PUMP_DIR:是oracle數據庫的默認變量,代表一個路徑,在oracle安裝目錄下ORACLE_HOME/admin/orcl/dpdump/下,數據泵導出的數據文件和要導入的數據文件一般都放在這個目錄下

dumpfile:要導入的數據文件名稱

REMAP_SCHEMA:定義源用戶和要導入到的目標用戶,數據文件是test用戶導出,源用戶是test用戶,導入到目標用戶best

REMAP_TABLESPACE:定義源用戶表空間和要導入到目標用戶的表空間,數據文件是test用戶導出,test的表空間是test,導入到目標用戶best的表空間best,在別的環境只要對應上就可以,不然導入時會報錯。

transform=OID:N :這個參數是忽略type報錯。

exp導入導出
exp導入導出就不詳細解釋和數據泵差不多,好處是可以遠程導入導出,壞處是導入導出都特別慢

exp G6A02/[email protected]:1521/nsdev file=/G6A0220180120.dmpowner=G6A02

imp G6A02/Ninestar123@orcl file=‘/u01/software/expdat.dmp‘ log=‘/software/NSTCSA27335dmp.log‘ commit=y fromuser=G6A02 touser=G6A02

解決type報錯:transform=OID:N 導入時用

解決版本問題:version=10.2.0.1.0 導出時用,比如說從oracle12c導出的數據導入到oracle11g就得加上version參數,不然會提示版本不兼容,但是從11g導出的數據導入到12c就不用加這個參數 oracle數據庫高版本兼容低版本

解鎖用戶:ALTER USER cib_bank_sc ACCOUNT UNLOCK;

查詢缺省表空間:select username,default_tablespace from dba_users;

修改oracle用戶密碼:alter user sys identified by Ninestar123;

oracle故障,錯誤文件刪除:alter database datafile ‘/u01/app/oracle/oradata/G6.ora‘ offlinedrop; alter database datafile ‘/u01/app/oracle/oradata/G6A02.ora‘ offline drop;

查詢數據庫是否有鎖表:select * from fw_lockresource r where r.isfree = 0;

刪除oracle用戶:drop user ees2 cascade;

刪除表空間:drop tablespace ees2 including contents and datafiles cascade constraint;

修改用戶缺省表空間:alter user ees2 default tablespace ees2;

數據庫優化:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

       ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;

       ALTER SYSTEM SET PROCESSES=1000 SCOPE=SPFILE;修改最大連接數

       ALTER SYSTEM SETOPEN_CURSORS=1000 SCOPE=BOTH;

       ALTER SYSTEM SETDB_FILES=300 SCOPE=SPFILE;

查詢數據庫當前的連接數:select count(*) from v$session;

查詢數據庫並發連接數:Select count(*) from v$session where status=‘ACTIVE‘;

數據庫允許的最大連接數:select value from v$parameter where name = ‘processes‘;

查詢最大連接:show parameter processes;

查看不同用戶的連接數:select username,count(username) from v$session where username is not null group by username;

如果對此有興趣,請掃下面二維碼免費獲取更多詳情
技術分享圖片

Oracle運維基本操作,倒庫、備份、恢復與優化。