Oracle數據庫命令整理--持續更新

 Oracle  命令整理

Oracle數據庫可以創建多個實例,每一個實例可以創建多個表空間,每個表空間可以創建多個用戶和數據庫文件,每個用戶可以創建多個表.

 

1、 刪除oracle用戶

drop user 用戶名 cascade

如果提示:ORA-01940: cannot drop a user that is currentlyconnected

原因是有程序在連接我們需要刪除的用戶,我們刪除用戶之前一定要先把連接斷掉;

1.1查找帳號下哪些連接在運行:

SQL>SELECT SID,SERIAL# FROMV$SESSION WHERE USERNAME='用戶名'

  1.2刪除用戶進程;

    SQL>ALTER SYSTEM KILL SESSION'137,41813';

  1.3之後再刪除用戶執行第一步

 

2、 數據庫的導入導出


######################空表什麼的都導出導入比較全

  1. 備份數據庫

select * from dba_directories;

 

set linesize 200;

col owner format a30;

col directory_name format a40;

col directory_path format a70; 

 

create directory czdir as '/home/oracle/guo/cz2018012';

 

grant read,writeon directory czdir to czbank;

 

導出:

Expdpuserid=czbank/czbank2017 schemas=czbank dumpfile=czbank20180112.dmpdirectory=czdir;

 

導入另一個機器

select * fromdba_directories;

 

set linesize200;

col owner formata30;

coldirectory_name format a40;

coldirectory_path format a70; 

create directoryczdii as '/home/oracle/guo/cz2018012';

grant read,writeon directory czdii to czbankzzz;

grant dba to czbankzzz;

 

impdp userid=czbankzzz/czbankzzzdirectory=czdii remap_schema=czbank:czbankzzz dumpfile=czbank20180112.dmp

 

#############################




2.1 全庫導出:

  進入到oracle用戶

  expuserid=czbank/czbank2017@bossdb    file=czbankfull20171128.dmp compress=n statistics=none

 

COMPRESS參數將在導出的同時合併碎塊,儘量把數據壓縮到initialEXTENT裏,默認是N,一般建議使用。DIRECT參數將告訴EXP直接讀取數據,而不像傳統的EXP那樣,使用SELECT來讀取表中的數據,這樣就減少了SQL語句處理過程。一般也建議使用。不過有些情況下DIRECT參數是無法使用的

2.2 在另一臺機器上導入:

  進入到oracle用戶把czbankfull20171128.dmp導入到本地文件夾內

  impuserid=czbank/czbank2017  file=czbankfull20171128.dmp statistics=none full=y

注意:導入的用戶必須有dba權限!

 

3、 查看oracle數據庫所有的表空間名稱

selecttablespace_name from dba_tablespaces;

 

4、 去除某個用戶的dba權限

SQL>revoke dba from 用戶名;

 

5、 查看數據庫版本:select * from v$version;

 

6、 查詢dmp文件的字符集

SQL> selectnls_charset_name(to_number('0354','xxxx')) from dual;

 

7、 數據庫服務器字符集

select * from nls_database_parameters;

 

8、 查看錶空間的數據文件路徑:select name from v$datafile;

 

9、 創建用戶之前,先創建表空間:

createtablespace test datafile '/datafile路徑/test.dbf' size512M extent management local uniform size 128K; 數據表空間 大小爲 521M 每次擴展大小爲 128k

 

CREATE TABLESPACE qrCodeDATAFILE'/opt/oracle/oradata/sws/qrCode01.dbf' SIZE 2048M AUTOEXTEND ON NEXT100M MAXSIZE UNLIMITED LOGGING PERMANENT EXTENT MANAGEMENT LOCAL AUTOALLOCATEBLOCKSIZE 8K SEGMENT SPACE MANAGEMENT AUTO FLASHBACK ON;

 

10、顯示當前用戶 SQL> show user;

 

11、對於普通用戶授予 connect resource 權限 對於管理用戶授予 dba權限用戶授權:

    grant connectresourcedba to 用戶;

 

12、查看數據庫名:selectname from v$database;

 

13、查看實例名字:selectinstance_name from v$instance;

 

14、查看錶結構:desc;

 

15、更改用戶的密碼:alteruser 用戶名 identified by新密碼;

 

16、啓動數據庫實例:startup;

 

17、停止數據庫: shutdown immediate;

 

18、不登錄任何用戶進入SQL環境:Oracle $  sqlplus /nolog

 

19、創建用戶並指定表空間:createuser用戶名 identified by密碼default tablespace;

 

20、解鎖用戶:alter user用戶名 account unlock;

 

21、查看oracle中用戶:select username from all_users;

 

22、查看已用表空間大下:selecttablespace_name,sum(bytes/1024/1024) from dba_segments group bytablespace_name;

    查看剩餘表空間大小:   select tablespace_name,sum(blocks*8192/1000000)from dba_free_space group by tablespace_name;

23、查詢數據庫允許的最大連接數:selectvalue from v$parameter where name = 'processes';

 

24、修改數據庫允許的最大連接數:altersystem set processes = 1500 scope = spfile;

25、查詢oracle的連接數 select count(*) fromv$session;

 

26、刪除表的數據 delete from;

27、增加表空間大小

alter tablespace 表空間名字 add datafile'/home/data/mpay/info_data_24.dbf' size 512M;

 

28、查看oracle日誌是否爲歸檔日誌archive log list;

29、截取一個時間段的日誌信息

sed -n '/2018-01-03 13:30:/,/2018-01-0314:42:/p' catalina.out > catalina.out20180103.log


發佈了52 篇原創文章 · 獲贊 12 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章