Oracle日常巡檢維護中常用的一些STUFF

查看oracle版本

select banner from sys.v_$version;

-------------------------------------

查看不同用戶的連接數

select username,count(username) from v$session where username is not null group by username;

-------------------------------------

查詢oracle的併發連接數
select count(*) from v$session where status='ACTIVE';

--------------------------------------

Oracle數據庫中表的導入導出操作:

以Windows下的數據庫爲例(用cmd方式):

導出表:

1.導出整個數據庫

exp 導表的用戶名/密碼@實例名 file='E:\xxx.dmp' full=y

2.導出單表或多表

exp 導表的用戶名/密碼@實例名 file='E:\xxx.dmp' tables=t1[(t1,t2,t3)]

3.導出數據庫中一個或多個用戶下的表

exp 導表的用戶名/密碼@實例名 file='E:\xxx.dmp' owner=(system,sys)

4.將數據庫中的表table1中的字段filed1以"00"打頭的數據導出

exp 導表的用戶名/密碼@實例名 file='E:\xxx.dmp' tables=(table1) query=\" where filed1 like '00%'\"

------------------------------------------

導入表:

將E:\xxx.dmp 中的數據導入某數據庫中。

imp 導表的用戶名/密碼@實例名 file=e:\xxx.dmp

imp 導表的用戶名/密碼@實例名 full=y file=e:\xxx.dmp ignore=y

在後面加上 ignore=y 忽略導入的報錯,直接導入。

2 將e:\xxx.dmp中的表table1 導入

imp 導表的用戶名/密碼@實例名 file=e:\xxx.dmp tables=(table1)

----------------------------

Linux的話直接exp,imp根據提示操作,效果也是一樣的。如果通過語句,可以現在emedit上寫好直接複製黏貼即可。

---------------------------

數據庫中查看版本:

select * from v$version;

Linux下查看ORACLE版本信息:

file $ORACLE_HOME/bin/oracle

-------------------------

數據庫服務器查看字符集:

select * from nls_database_parameters;

其中NLS_CHARACTERSET下面的就是該數據庫服務器的字符集

-------------------------

查看錶空間xxx使用情況:(需sysdba權限):

select /*+ ordered use_merge(a,b) */

      a.tablespace_name               表空間名,

      total/(1024*1024)               表空間大小,

      (total-free)/(1024*1024)        表空間使用大小,

      free/(1024*1024)                表空間剩餘大小,

      round((total-free)/total,4)*100 "使用率%"

from   (select  tablespace_name,sum(bytes) free from dba_free_space

       group   by tablespace_name) a,

      (select  tablespace_name,sum(bytes) total from dba_data_files

       group   by tablespace_name) b

where  a.tablespace_name = b.tablespace_name

and    a.tablespace_name = 'xxx';

-------------------------

查看當前用戶下的表空間:(非sysdba)

select

 a.bytes/1024/1024 "used(MB)",

b.bytes/1024/1024 "free(MB)",

a.bytes/1024/1024+b.bytes/1024/1024 "total(MB)"

 from user_ts_quotas a,user_free_space b 

where a.TABLESPACE_NAME=b.TABLESPACE_NAME and a.TABLESPACE_NAME='XXX';

-------------------------

查看當前角色XXX所具有的權限:

select * from dba_sys_privs where grantee='XXX';

-------------------------

查看當前用戶所具有的角色:

select * from user_role_privs;

select * from session_privs;

-------------------------

查看當前用戶的系統權限和表級權限 
select * from user_sys_privs; 
select * from user_tab_privs;

-------------------------

查看哪些用戶具有sysdba或sysooper權限:

select * from V$PWFILE_USERS;

-------------------------

查看用戶爲XXX的表空間配額。(-1爲不受限制)

select tablespace_name,username,max_bytes from  DBA_TS_QUOTAS where username='XXX';

-------------------------

設定用戶mc的表空間配額限爲100M:

alter user mc quota 100M on tablespacname;

-------------------------

設定用戶mc的表空間配額爲無限制:

alter user mc quota unlimited on tablespacname;

-------------------------

賦予用戶mc配置表空間無限額的權限:

grant unlimited tablespace to mc;

-------------------------

查看當前數據庫的實例名:

select instance_name from v$instance;

-------------------------

修改用戶表空間和臨時表空間:

ALTER USER SCOTT DEFAULT TABLESPACE USERS;

ALTER USER SCOTT TEMPORARY TABLESPACE TEMP;

-------------------------

查看當前用戶缺省的表空間:

select username,default_tablespace from user_users;

--------------------------------

查看歸檔是否開啓;開啓/關閉歸檔:

--------------

查看歸檔:

sqlplus>archive log list;

開啓歸檔

sqlplus>shutdown immediate;(啓動歸檔前先要停止數據庫)

sqlplus>startup mount;(數據庫以mount方式啓動)

sqlplus>alter database archivelog;(啓動數據庫歸檔)

sqlplus>alter system set log_archive_dest_1="/arch"(改變路徑,使用盤符)

sqlplus>alter database open;(打開數據庫)

sqlplus>archive log list;(查看歸檔是否已經打開)

關閉歸檔

alter database noarchivelog;

--------------

查看歸檔日誌使用情況:

select * from v$flash_recovery_area_usage;

-----------------------

查看用戶賬戶狀態:

select username,account_status from dba_users where username in ('DBSNMP','SYSMAN');

----------------------------

查看REDO日誌位置、狀態,以及添加、刪除REDO日誌組方法:

位置:

select * form v$logfile;

狀態:

select group#,thread#,bytes/1024/1024,status from v$log;

:添加

alter database add logfile group 1|2|3|4('/u01/oracle/oradata/mcocp/redo01|02|03|04') size 100m;

刪除:

alter database drop logfile group 1|2|3|4;

注:oracle11g默認的redo logsize爲50M

----------------------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章