Oracle資料庫滿了修改的過程20171123

2021-08-11 06:25:37 字數 2746 閱讀 8520

 檢視表空間的使用情況

select upper(f.tablespace_name)         "表空間名",

d.tot_grootte_mb "表空間大小(m)",

d.tot_grootte_mb - f.total_bytes "已使用空間(m)",

to_char(round(( d.tot_grootte_mb - f.total_bytes ) / d.tot_grootte_mb * 100, 2), '990.99')

|| '%'

"使用比",

f.total_bytes "空閒空間(m)",

f.max_bytes "最大塊(m)"

from (select tablespace_name,

round(sum(bytes) / ( 1024 * 1024 ), 2) total_bytes,

round(max(bytes) / ( 1024 * 1024 ), 2) max_bytes

from sys.dba_free_space

group

by tablespace_name) f,

(select dd.tablespace_name,

round(sum(dd.bytes) / ( 1024 * 1024 ), 2) tot_grootte_mb

from sys.dba_data_files dd

group

by dd.tablespace_name) d

where d.tablespace_name = f.tablespace_name

orderby1

 檢視各個表空間的資料檔案

select t1.name, t2.name,round(t2.bytes / ( 1024 * 1024 ), 2) "大小(m)"

from v$tablespace t1, v$datafile t2

where t1.ts# = t2.ts#

order

by1,3

 檢視sysaux表空間使用情況

select *

from (select bytes, segment_name, segment_type, owner

from dba_segments

where tablespace_name = 'sysaux'

order

by bytes desc)

where rownum < 10```

執行以下語句 修改表資料檔案大小

sql> select dbms_stats.get_stats_history_retention from dual;

get_stats_history_retention

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

31```

sql> exec dbms_stats.alter_stats_history_retention(15);

```pl/sql procedure

successfully

completed

```sql> select

min(snap_id),max

(snap_id)

from

dba_hist_snapshot;

```min(snap_id) max(snap_id)

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

35044

35248

```sql> exec dbms_workload_repository.drop_snapshot_range(low_snap_id =>35044,high_snap_id => 35044+24);

```pl/sql procedure

successfully

completed

修改表資料檔案大小

```sql> alter

database

database altered

\administrator

\oradata

\xuejiayue

\xuejiayue01.dbf' resize 2048m;

sql>

database altered

\administrator

\oradata

\xuejiayue

\undotbs01.dbf' resize 2048m;

看看效率比較低的語句(

select executions , disk_reads, buffer_gets, round((buffer_gets-disk_reads)/buffer_gets,2) hit_radio, round(disk_reads/executions,2) reads_per_run, 

sql_text from v$sqlarea where executions>0

and buffer_gets > 0

and (buffer_gets-disk_reads)/buffer_gets < 0.8

orderby4

desc;

然後

優化相關的**

修改oracle資料庫的名字

最近閒來無事,決定修改一下資料庫的名字,記得曾經學過通過重建控制檔案來修改資料庫的名字,網上找了下也可以通過oracle自帶的nid修改資料庫的名字,不過這個方法有些麻煩,並且修改的資料庫名字不能帶 1,通過重建控制檔案修改資料庫名字。為了方便查詢trace檔案我們在進行備份控制檔案的時候我們可以標...

修改Oracle資料庫的大小

在簡歷資料庫的時候,不注意把資料庫設定大了,磁碟空間不夠,這時候就需要修改db檔案大小了 首先在plsql裡面用下面sql進行檢視 select file name as 資料檔案,tablespace name as 表空間名稱,autoextensible as 自動擴充套件,status as...

Oracle資料庫修改主鍵

一 資料表有主鍵但無主鍵約束名 先刪除之前的主鍵,後新增主鍵 a.alter table 表名 drop primary key b.alter table 表名 add primary key 想要更改的欄位名稱 二 資料表有主鍵也有主鍵約束名 1 刪除已有的主鍵約束名 a.若已知主鍵約束名 al...