SYSTEM表空間滿,解決方法


SYSTEM表空間是Oracle創建數據庫時候自動創建的,每個Oracle數據庫都會有SYSTEM表空間,而且SYSTEM表空間總是要保持在聯機模式下,因為其包含了數據庫運行所要求的基本信息,如:數據字典、聯機求助機制、所有回退段、臨時段和自舉段、所有的用戶數據庫實體、其它ORACLE軟件產品要求的表等等。

設置方法

編輯
在建立數據庫的時候,SYSTEM表空間一般都寫在磁盤最開始的位置,這就埋下了問題的隱患。如:誤操作導致的格式化,ASM出現故障等等一系列的問題,他都會從 磁盤最開始的地方寫起,這樣就會導致SYSTEM表空間沒有辦法進行 數據恢復
但是,如果在建立數據庫的時候,把最開始的位置“讓”出來,這樣就會使得很多故障輕能而易舉的解決,也讓DBA在管理數據庫、恢復數據庫的時候能輕松一些。
 
查詢Oracle表空間剩余大小
---查詢Oracle表空間使用情況--
SELECT 
-- '表空間名稱'
a.tablespace_name as "表空間名稱", 
-- 表空間總大小(byte)
total as "表空間總大小(byte)", 
-- 表空間剩余大小(byte)
free as "表空間剩余大小(byte)", 
-- 表空間已使用大小(byte)
(total - free) as "表空間已使用大小(byte)", 
-- 表空間總大小(G)
total / (1024 * 1024 * 1024) as "表空間總大小(G)" , 
-- 表空間剩余大小(G)
free / (1024 * 1024 * 1024) as "表空間剩余大小(G)", 
-- 表空間已使用大小(G)
(total - free) / (1024 * 1024 * 1024) as "表空間已使用大小(G)" , 
round((total - free) / total, 4) * 100 as "Usage Rate(%)" 
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;

  

 

 這里的system使用率達到了99.27%,接下來登入數據庫服務器為system添加表空間

Linux系統下使用SQLPLUS命令登入Oracle

1. 輸入: su  oracle     // 必須使用oracle 用戶

說明:  直接進入的目錄是   /home/oraccle    

[root@crb-db1 ~]# su - oracle
Last login: Tue May 11 10:47:23 CST 2021 on pts/0
[oracle@crb-db1 ~]$ sqlplus as / sysdba

SQL*Plus: Release 11.2.0.4.0 Production

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

使用 SQL*Plus 執行 SQL, PL/SQL 和 SQL*Plus 語句。

用法 1: sqlplus -H | -V

    -H		   顯示 SQL*Plus 版本和
		   用法幫助。
    -V		   顯示 SQL*Plus 版本。

用法 2: sqlplus [ [<option>] [{logon | /nolog}] [<start>] ]

  <option> 為: [-C <version>] [-L] [-M "<options>"] [-R <level>] [-S]

    -C <version>   將受影響的命令的兼容性設置為
		   <version> 指定的版本。該版本具有
		   "x.y[.z]" 格式。例如, -C 10.2.0
    -L		   只嘗試登錄一次, 而不是
		   在出錯時再次提示。
    -M "<options>" 設置輸出的自動 HTML 標記。選項
		   的格式為:
		   HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text]
		   [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]
    -R <level>	   設置受限模式, 以禁用與文件系統交互的
		    SQL*Plus 命令。級別可以
		   是 1, 2 或 3。最高限制級別為 -R 3, 該級別
		   禁用與文件系統交互的
		   所有用戶命令。
    -S		   設置無提示模式, 該模式隱藏
		   命令的 SQL*Plus 標幟, 提示和回顯
		   的顯示。

  <logon> 為: {<username>[/<password>][@<connect_identifier>] | / }
	      [AS {SYSDBA | SYSOPER | SYSASM}] [EDITION=value]

    指定數據庫帳戶用戶名, 口令和數據庫連接
    的連接標識符。如果沒有連接
    標識符, SQL*Plus 將連接到默認數據庫。

    AS SYSDBA, AS SYSOPER 和 AS SYSASM 選項是數據庫
    管理權限。

    <connect_identifier> 的形式可以是 Net 服務名
    或輕松連接。

      @[<net_service_name> | [//]Host[:Port]/<service_name>]

	<net_service_name> 是服務的簡單名稱, 它解析
	為連接描述符。

	示例: 使用 Net 服務名連接到數據庫, 且
		 數據庫 Net 服務名為 ORCL。

	   sqlplus myusername/mypassword@ORCL

	Host 指定數據庫服務器計算機的主機名或 IP
	地址。

	Port 指定數據庫服務器上的監聽端口。

	<service_name> 指定要訪問的數據庫的
	服務名。

	示例: 使用輕松連接連接到數據庫, 且
		 服務名為 ORCL。

	   sqlplus myusername/mypassword@Host/ORCL

    /NOLOG 選項可啟動 SQL*Plus 而不連接到
    數據庫。

    EDITION 指定會話 Edition 的值。


  <start> 為: @<URL>|<filename>[.<ext>] [<parameter> ...]

    使用將分配給腳本中的替代變量的指定參數
    從 Web 服務器 (URL) 或本地文件系統 (filename.ext)
    運行指定的 SQL*Plus 腳本。

在啟動 SQL*Plus 並且執行 CONNECT 命令后, 將運行站點概要
文件 (例如, $ORACLE_HOME/sqlplus/admin/glogin.sql) 和用戶概要文件
(例如, 工作目錄中的 login.sql)。這些文件
包含 SQL*Plus 命令。

有關詳細信息, 請參閱 SQL*Plus 用戶指南和參考。
[oracle@crb-db1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on###################

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


連接到: 
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
--查看當前數據庫中表空間是否為自動擴展
SQL> select tablespace_name,file_name,autoextensible from dba_data_files;

TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
AUT
---
USERS
/data/oradata/orcl/users01.dbf
YES

UNDOTBS1
/data/oradata/orcl/undotbs01.dbf
YES

TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
AUT
---

SYSAUX
/data/oradata/orcl/sysaux01.dbf
YES

SYSTEM
/data/oradata/orcl/system01.dbf

TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
AUT
---
YES



已選擇24行。

--增加新的數據文件
SQL> alter tablespace SYSTEM add datafile '/data/oradata/orcl/system02.dbf' size 10G autoextend on;

表空間已更改。

SQL> 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM