資料庫收集使用 SQLPLUS#
資料庫目前模式#
select status from v$Instance;資料庫開啟#
startup;資料庫啟動到nomount模式#
startup nomount;資料庫啟動到mount模式#
startup mount;資料庫已經在啟動狀態 nomount、mount 狀態要調整#
Alter Database 狀態資料庫已經在啟動狀態 RESETLOGS#
ALTER DATABASE OPEN RESETLOGS;資料庫已經在啟動狀態 NORESETLOGS#
ALTER DATABASE OPEN NORESETLOGS;資料庫關閉(終止連線、釋放會話資源)#
shutdown immediate;資料庫關閉(直接關閉資料庫,正在訪問資料庫的會話會被突然終止)#
shutdown abort;
oracle幾種啟動方式說明#

1)startup nomount
非安裝啟動,這種方式啟動下可執行:重建控制檔案、重建資料庫
讀取init.ora檔案,啟動instance,即啟動SGA和後臺程式,這種啟動只需要init.ora檔案。
2)startup mount dbname
安裝啟動,這種方式啟動下可執行:
資料庫日誌歸檔、
資料庫介質恢復、
使資料檔案聯機或離線,
重新定位資料檔案、重做日誌檔案。
執行“nomount”,然後開啟控制檔案,確認資料檔案和聯機日誌檔案的位置,
但此時不對資料檔案和日誌檔案進行校驗檢查。
3)startup open dbname
先執行“nomount”,然後執行“mount”,再開啟包括Redo log檔案在內的所有資料庫檔案,
這種方式下可訪問資料庫中的資料。
4)startup,等於以下三個命令
startup nomount
alter database mount
alter database open
5)startup restrict
約束方式啟動
這種方式能夠啟動資料庫,但只允許具有一定特權的使用者訪問
非特權使用者訪問時,會出現以下提示:
ERROR:
ORA-01035: ORACLE 只允許具有 RESTRICTED SESSION 許可權的使用者使用
6)startup force
強制啟動方式
當不能關閉資料庫時,可以用startup force來完成資料庫的關閉
先關閉資料庫,再執行正常啟動資料庫命令
7)startup pfile=引數檔名
帶初始化引數檔案的啟動方式
先讀取引數檔案,再按引數檔案中的設定啟動資料庫
例:startup pfile=E:\Oracle\admin\oradb\pfile\init.ora
8)startup EXCLUSIVE
oracle幾種關閉方式說明
-----------------------------------------------------------------------------
有三種關閉方式:
1)shutdown normal
正常方式關閉資料庫。
2)shutdown immediate
立即方式關閉資料庫。
在SVRMGRL中執行shutdown immediate,資料庫並不立即關閉,
而是在Oracle執行某些清除工作後才關閉(終止會話、釋放會話資源),
當使用shutdown不能關閉資料庫時,shutdown immediate可以完成資料庫關閉的操作。
3)shutdown abort
直接關閉資料庫,正在訪問資料庫的會話會被突然終止,
如果資料庫中有大量操作正在執行,這時執行shutdown abort後,重新啟動資料庫需要很長時間。
oracle關閉過程和啟動相反,經歷了close、dismount、shutdown。可以分步關閉,也可以直接關閉。
分步關閉:
1)close資料庫:關閉資料檔案、日誌檔案等。
SQL> alter database close;
資料庫已更改。
2)dismount資料庫:關閉控制檔案。
SQL> alter database dismount;
資料庫已更改。
3)shutdown資料庫:關閉例項。
shutdown有4個引數:shutdown normal(預設)、shutdown immediate(推薦)、shutdown transactional、shutdown abort
SQL> shutdown
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
oracle這幾種啟動和關閉方式之間的區別以及它們各自不同的功能
-----------------------------------------------------------------------------
1)啟動和關閉Oracle資料庫
對於大多數Oracle DBA來說,啟動和關閉Oracle資料庫最常用的方式就是在命令列方式下的Server Manager。從Oracle 8i以後,系統將Server Manager的所有功能都集中到了SQL*Plus中,也就是說從8i以後對於資料庫
的啟動和關閉可以直接通過SQL*Plus來完成,而不再另外需要Server Manager,但系統為了保持向下相容,依舊保留了Server Manager工具。另外也可通過圖形使用者工具(GUI)的Oracle Enterprise Manager來完成系統
的啟動和關閉,圖形使用者介面Instance Manager非常簡單,這裡不再詳述。要啟動和關閉資料庫,必須要以具有Oracle 治理員許可權的使用者登陸,通常也就是以具有SYSDBA許可權的使用者登陸。一般我們常用INTERNAL使用者來啟動和
關閉資料庫(INTERNAL使用者實際上是SYS使用者以SYSDBA連線的同義詞)。Oracle資料庫的新版本將逐步淘汰INTERNAL這個內部使用者,所以我們最好還是設定DBA使用者具有SYSDBA許可權。
2)資料庫的啟動(STARTUP)
啟動一個資料庫需要三個步驟:
-> 建立一個Oracle例項(非安裝階段)
-> 由例項安裝資料庫(安裝階段)
-> 開啟資料庫(開啟階段)
在Startup命令中,可以通過不同的選項來控制資料庫的不同啟動步驟。
1)STARTUP NOMOUNT
NONOUNT選項僅僅建立一個Oracle例項。讀取init.ora初始化引數檔案、啟動後臺程式、初始化系統全域性區(SGA)。Init.ora 檔案定義了例項的配置,包括記憶體結構的大小和啟動後臺程式的數量和型別等。例項名根據
Oracle_SID設定,不一定要與開啟的資料庫名稱相同。當例項開啟後,系統將顯示一個SGA記憶體結構和大小的列表,如下所示:
SQL> startup nomount;
ORACLE 例程已經啟動。
Total System Global Area 35431692 bytes
Fixed Size 70924 bytes
Variable Size 18505728 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
2)STARTUP MOUNT
該命令建立例項並且安裝資料庫,但沒有開啟資料庫。Oracle系統讀取控制檔案中關於資料檔案和重作日誌檔案的內容,但並不開啟該檔案。這種開啟方式常在資料庫維護操作中使用,如對資料檔案的更名、改變重作日誌以及
開啟歸檔方式等。在這種開啟方式下,除了可以看到SGA系統列表以外,系統還會給出\"資料庫裝載完畢\"的提示。
3)STARTUP
該命令完成建立例項、安裝例項和開啟資料庫的所有三個步驟。此時資料庫使資料檔案和重作日誌檔案線上,通常還會請求一個或者是多個回滾段。這時系統除了可以看到前面Startup Mount方式下的所有提示外,還會給出一
個\"資料庫已經開啟\"的提示。此時,資料庫系統處於正常工作狀態,可以接受使用者請求。假如採用STARTUP NOMOUNT或者是STARTUP MOUNT的資料庫開啟命令方式,必須採用ALTER DATABASE命令來執行開啟資料庫的操作。
例如,假如你以STARTUP NOMOUNT方式開啟資料庫,也就是說例項已經建立,但是資料庫沒有安裝和開啟。這是必須執行下面的兩條命令,資料庫才能正確啟動。
SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE OPEN;
而假如以STARTUP MOUNT方式啟動資料庫,只需要執行下面一條命令即可以開啟資料庫:
SQL> ALTER DATABASE OPEN.
4)其他開啟方式
除了前面介紹的三種資料庫開啟方式選項外,還有另外其他的一些選項。
STARTUP RESTRICT
這種方式下,資料庫將被成功開啟,但僅僅答應一些特權使用者(具有DBA角色的使用者)才可以使用資料庫。這種方式常用來對資料庫進行維護,如資料的匯入/匯出操作時不希望有其他使用者連線到資料庫運算元據。
STARTUP FORCE
該命令其實是強行關閉資料庫(shutdown abort)和啟動資料庫(startup)兩條命令的一個綜合。該命令僅在關閉資料庫碰到問題不能關閉資料庫時採用。
ALTER DATABASE OPEN READ ONLY;
該命令在建立例項以及安裝資料庫後,以只讀方式開啟資料庫。對於那些僅僅提供查詢功能的產品資料庫可以採用這種方式開啟。
二、建立資料庫使用者
2.1 以DBA使用者登入資料庫(如system,sys)
SQL> conn system/oracle@orcl
注:如果在本地伺服器登入@orcl可以去掉
2.2 用create user語法建立使用者
SQL> CREATE USER user_name IDENTIFIED BY user_passwordDefaultTablespace tbs_users;
user_name為資料庫使用者的使用者名稱
user_password為資料庫使用者的密碼
tbs_users為使用者使用的表空間,預設是users表空間。
例如:
SQL> CREATE USER cmsuser IDENTIFIED BY passwordDefaultTablespace users;
2.3 賦表空間使用許可權
SQL> alter user user_name quota unlimited on user_tablespace quota unlimited on user_tablespace;
2.4 給使用者賦許可權
SQL> GRANT connect, resource TO cmsuser;
Connect使用者能登入資料庫的許可權
Resource使用者能建立一些資料庫對像的許可權,表、檢視,儲存過程,一般是授予開發人員的
2.5 刪除使用者
SQL> DropUser cmsuser Cascade;
使用cascade引數可以刪除該使用者的全部objects參考資料 (由於原網站被防毒軟體警告因此警將內容貼到上面一段)#
ArchiveLog模式#
archivelog 狀態如果有調整需要重開DB才會套用
查詢目前archivelog的模式及儲存路徑#
archive log list;——回應訊息如下為啟動——– –Database log mode Archive Mode –Automatic archival Enable –Archive destination /erptest/TEST/DB/product/11.2.0/dbs/arch –Oldest online log sequence 229 –Current log sequence 233
停用Archive log模式#
alter database noarchivelog;啟用Archive log 模式#
alter database archivelog;修改Archive Log#
--顯示目前資料庫log 放置路徑相關參數,須注意 Log_archive_dest 跟LOG_ARCHIVE_DEST_N 意義不一樣 ,並不能同時存在
show parameter log_archive
--修改Log_archive 放置位置
alter system set LOG_ARCHIVE_DEST_1='LOCATION=路徑' SCOPE=SPFILE;
--另一種方式
alter system set log_archive_dest ='E:\dbbackup\Archive';※ Log_archive_dest 跟LOG_ARCHIVE_DEST_N 意義不一樣 ,並不能同時存在 ,需視狀況修改上指令。 https://www.cnblogs.com/fengaix6/p/10044173.html ORA-16019(归档问题):过程超级详细 https://blog.csdn.net/weixin_44537669/article/details/105983144

ORACLE 部分參數說明#
查詢參數目前參數語法#
show parameter 參數關鍵字oracle DB是否是在備份狀態 查HOTBACKUP用#
---Hotbackup 還在跑的 會顯示ACTIVE
select distinct status from v$backup;查詢 contorl數量#
show parameter control查詢DB狀態#
select name,open_mode from v$database;安裝ORACLE 常修改的設定#
---修正空表無法會出問題
alter system set deferred_segment_creation=false;
---關閉大小寫敏感碼預設為TRUE
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON=FALSE;
---啟用密碼效期無限制
alter profile DEFAULT limit PASSWORD_LIFE_TIME unlimited;11g 以上版本限定 ,關閉密碼限制#
如開立PACS資料庫,預設會執行
ALTER PROFILE DEFAULT LIMIT
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_GRACE_TIME UNLIMITED;湊指令用#
---DBF 進入備份狀態
select 'ALTER TABLESPACE ' || tablespace_name || ' BEGIN BACKUP;'
FROM dba_tablespaces where tablespace_name !='TEMP'---DBF 結束備份狀態
select 'ALTER TABLESPACE ' || tablespace_name || ' END BACKUP;'
FROM dba_tablespaces where tablespace_name !='TEMP'SELECT 'copy ' || file_name || ' 目標目錄' FROM dba_data_files
WHERE tablespace_name != 'TEMP'顯示調整#
set linesize 120
show linesize參考資料 https://blog.csdn.net/zuixinnet/article/details/8755437
