一、表空間自動擴展的好處
1.數據文件自動擴展的好處
1)不會出現因為沒有剩余空間可以利用到數據無法寫入
2)盡量減少人為的維護
二、設置表空間自動擴展的方法
1、查看表空間情況
SQL>select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = '表空間名稱';
2、修改表空間數據文件,使其達到表空間自動擴展
SQL>alter database datafile '/u01/app/oracle/oradata/orcl/user01.dbf' autoextend on;
3、對修改結果進行驗證
SQL>select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = '表空間名稱';
三、語法總結
開啟自動擴展功能語法:
alter database datafile '對應的數據文件路徑信息' autoextend on;
關閉自動擴展功能語法:
alter database datafile '對應的數據文件路徑信息' autoextend off;
四、創建臨時表空間
create temporary tablespace ***_temp tempfile '***/TEMPFILE/***_temp.dbf' size 1024m autoextend on next 500m maxsize unlimited extent management local;
五、創建表空間
create tablespace ***_tablespace logging datafile '***/DATAFILE/***_tablespace.dbf' size 30720m autoextend on next 500m maxsize unlimited extent management local;
六、創建用戶及
create user ****** identified by ***** default tablespace ***_tablespace temporary tablespace ***_temp;
七、授權
grant connect,resource,dba to *****;
--數據文件位置
select file_name FROM dba_data_files
--數據文件位置2
select * from v$datafile
--查看控制文件
select * from v$controlfile
--查看歸檔日志文件
select * from v$archived_log
--查看閃回文件位置
select * from v$flashback_database_logfile
--臨時表空間
select name from v$tempfile;
--查看分區和段空間管理方式
select tablespace_name, segment_space_management from dba_tablespaces;
--查詢用戶
select username,t.CREATED from all_users t order by t.CREATED desc;
-- 查詢表空間是否設置了自增
SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files where TABLESPACE_NAME='****';
--查詢表空間
SELECT TABLESPACE_NAME "表空間",
To_char(Round(BYTES / 1024, 2), '99990.00') || '' "實有",
--To_char(Round(FREE / 1024, 2), '99990.00') || 'G' "現有",
To_char(Round((BYTES - FREE) / 1024, 2), '99990.00') || 'G' "使用",
To_char(Round(10000 * USED / BYTES) / 100, '99990.00') || '%' "比例"
FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME,
Floor(A.BYTES / (1024 * 1024)) BYTES,
Floor(B.FREE / (1024 * 1024)) FREE,
Floor((A.BYTES - B.FREE) / (1024 * 1024)) USED
FROM (SELECT TABLESPACE_NAME TABLESPACE_NAME, Sum(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME TABLESPACE_NAME, Sum(BYTES) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME)
WHERE TABLESPACE_NAME ='xxxx' --這一句用於指定表空間名稱
ORDER BY Floor(10000 * USED / BYTES) DESC;
--以oracle用戶登錄linux操作系統
--執行命令:su - oracle
注意:“-” 兩邊都有空格
--進入oracle控制台
執行命令: sqlplus /nolog
--以dba身份登錄oracle數據庫
執行命令:conn /as sysdba;
--查看數據庫登錄用戶賬號信息
執行命令:select username from dba_users;
--修改數據庫賬號密碼
執行命令:alter user username identified by password;
--解鎖數據庫賬號密碼:
執行命令:alter user username account unlock;
--測試新密碼
執行命令:conn username/password