天天看點

Oracl資料庫管理方面的資料(查詢sga,檢視oracle資料庫名稱sid,檢視oracle資料庫名稱,檢視表空間,修改表空間名稱,資料庫管理,sqlPlus資料顯示)

顯示oracle sga相關資訊:

sql> show sga

total system global area 105978600 bytes

fixed size 453352 bytes

variable size 50331648 bytes

database buffers 54525952 bytes

redo buffers 667648 bytes

sql>

fixed size:

oracle 的不同平台和不同版本下可能不一樣,但對于确定環境是一個固定的值,裡面存儲了sga 各部分元件的資訊,可以看作引導建立sga的區域。

variable size:

包含了shared_pool_size、java_pool_size、large_pool_size 等記憶體設定

database buffers:

指資料緩沖區,在8i 中包含db_block_buffer*db_block_size、buffer_pool_keep、buffer_pool_recycle 三部分記憶體。在9i 中包含db_cache_size、db_keep_cache_size、db_recycle_cache_size、 db_nk_cache_size。

redo buffers:

指日志緩沖區,log_buffer。在這裡要額外說明一點的是,對于v$parameter、v$sgastat、v$sga查詢值可能不一樣。v$parameter 裡面的值,是指使用者在初始化參數檔案裡面設定的值,v$sgastat是oracle 實際配置設定的日志緩沖區大小(因為緩沖區的配置設定值實際上是離散的,也不是以block 為最小機關進行配置設定的),v$sga 裡面查詢的值,是在oracle 配置設定了日志緩沖區後,為了保護日志緩沖區,設定了一些保護頁,通常我們會發現保護頁大小是8k(不同環境可能不一樣) .

=========================================================

1: 設定參數

sql> show parameters log_buffer

name type value

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

log_buffer integer 524288

2:日志記憶體大小

sql> select * from v$sgastat where name like '%log%';

pool name bytes

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

log_buffer 656384

3:為了保護日志記憶體,而增加了輔助的記憶體,也就是保護頁

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

對于資料庫來說,在不同 的平台下

log_buffer 是離散的 一組值,假設是集合 r,并且不是按照 os blockck 或者 db block 為步長增加的,(比如可能是 65k,128k,512k ,641k....這樣的值) 當設定參數為某個值的時候,資料庫選擇的實際大小是 大于等于 該值 的 min(r) ,根據這組值,比如你設定了 log_buffer = 600k ,則實際選擇的是641 k

然後,在實際配置設定記憶體的時候,為了 給 log buffer 做一些保護,還另外配置設定了一小部分空間,通常是 11 k 大小。

則有641+11 = 652 k

這才是 最後真正的 記憶體大小 ,也就是 show sga 時候顯示大小。

怎樣檢視oracle的資料庫名稱sid

用sysdba身份登入 比如sqlplus sys/123456 as sysdba;

執行 select name from v$database; 或是執行select * from v$database;

不過執行第二個顯示的内容太多了不好找自己想要的結果

你也可以先用desc v$database;語句檢視一下v$database都有什麼字段然後選擇自己想要的字段進行選擇

檢視執行個體名稱(sid):

select instance_name from v$instance;

一般預設情況下sid與你的資料庫的名稱是一樣的!

檢視使用者和預設表空間的關系:   

select username,default_tablespace from user_users;

修改表空間的名稱(這時候要以dba方式登入sqlplus sys/oracle as sysdba;)

alter tablespace tablespacename rename to misps;

增加資料檔案或者增大資料檔案尺寸都可以擴充表空間

例如修改資料檔案尺寸:

alter database datafile '資料檔案的路徑和名稱' resize 300m;

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

sqlplus資料顯示

<code>顯示目前的顯示條數(預設是14):</code>

<code>2</code>

<code>show pagesize;</code>

<code>3</code>

<code>設定顯示條數為100跳:</code>

<code>4</code>

<code>set</code> <code>pagesize 100;</code>

<code>5</code>

<code>顯示目前的顯示列數:</code>

<code>6</code>

<code>show linesize;</code>

<code>7</code>

<code>設定顯示列數為100:</code>

<code>8</code>

<code>set</code> <code>linesize 100;</code>

 資料庫管理:

 1.檢視目前使用者的表:

select table_name from user_tables;

2.檢視表結構:desc表名 

3.檢視所有使用者的表名:

select    table_name    from   all_tables;    

4.檢視所有表名(其中包括系統表)

select   table_name    from   all_tables;     

5.檢視所有的表:

select  *  from  tab/dba_tables/dba_objects/cat; 

下面介紹oracle查詢使用者表空間

 ◆oracle查詢使用者表空間:select * from user_all_tables

 ◆oracle查詢所有函數和儲存過程:select * from user_source

 ◆oracle查詢所有使用者:select * from all_users;  select * from dba_users

 ◆oracle檢視目前使用者連接配接:select * from v$session

 ◆oracle檢視目前使用者權限:select * from session_privs

◆oracle檢視使用者表空間使用情況: select a.file_id "fileno",a.tablespace_name     "tablespace_name",    a.bytes "bytes",a.bytes-sum(nvl(b.bytes,0)) "used",    sum(nvl(b.bytes,0)) "free",    sum(nvl(b.bytes,0))/a.bytes*100 "%free"    from dba_data_files a, dba_free_space

b    where  a.file_id  = b  .file_id(+)    group by a.tablespace_name ,    a.file_id,a.bytes order by a.tablespace_name;  

1.檢視所有使用者:   select * from dba_user;   select * from all_users;   select * from user_users;

2.檢視使用者系統權限:   select * from dba_sys_privs;   select * from all_sys_privs;   select * from user_sys_privs;

3.檢視使用者對象權限:   select * from dba_tab_privs;   select * from all_tab_privs;   select * from user_tab_privs;

4.檢視所有角色:   select * from dba_roles;

5.檢視使用者所擁有的角色:   select * from dba_role_privs;   select * from user_role_privs;  

6.檢視角色所擁有的權限:     select * from role_sys_privs;     select * from role_tab_privs;  

7.檢視所有系統權限     select * from system_privilege_map;   

8.檢視所有對象權限     select * from table_privilege_map;   以上是在oracle中檢視使用者權限 , 在db2中為:   select * from syscat.dbauth   或者   get authorizations  檢視sid select * from v$instance