在現在流行的各種數據庫中,爲什麼oracle可以排列最前,並且從一開始oracle的誕生,給整個數據庫的使用帶來了一場風暴,oracle到底存在什麼樣的功能及優勢呢?
Oracle中的功能模塊優勢?
一、Oracle的穩定性比Sql Server要好。
二、Oracle在導數據工具Sqlload.exe功能要比SqlServer中的Bcp功能要好,oracle可以按照條件把文本數據導入。
三、Oracle的安全機制較SqlServer完善。
四、在進行大數據處理的模塊Oracle有強大的運行機制。
五、處理數據速度方面速度較快。
各項開發工具的使用
一、PL/SQL Developer
比較使用開發人員,界面簡單易用,功能也有不少。
二、Tod
較爲專業型的使用,使用DBA使用,功能強大,也是很容易上手,因爲時間問題,在實際的使用上,已經在慢慢減少。
sqlplus登錄幾種登錄方式
sqlplus有幾種登陸方式 比如:
1.C: > sqlplus / as sysdba; –以操作系統權限認證的oracle sys管理員登陸
2.C: > sqlplus / nolog –不在cmd或者terminal當中暴露密碼的登陸方式
SQL> conn / as sysdba
或者
SQL> conn sys/password as sysdba
3.C: > sqlplus scott/tiger –非管理員用戶登陸
4.C: > sqlplus scott/tiger@orcl –非管理員用戶使用tns別名登陸
5.C: > sqlplus sys/password@orcl as sysdba –管理員用戶使用tns別名登陸
6.C: > sqlplus –不顯露密碼的登陸方式
Enter user-name:sys
Enter password:password as sysdba –以sys用戶登陸的話 必須要加上 as sysdba 子句
備註:
在作爲oracle學習的過程中,建議使用的登錄賬號名及密碼的使用爲
Scott/tiger
System/manager
sys/change_on_install
hr/hr
等等其中幾個用戶。
常用數字字典
均在 Oracle 11g R1 上,通過 Oracle Sql Developer 進行過測試的,全部通過。其中很多的數據字典都必須以 system 或者是 sysdba 用戶登錄才能夠使用的。
---數據庫實例的基本信息
desc v$instance;
select * from v$instance;
--數據文件的基本信息
desc v$datafile;
select * from v$datafile;
desc dba_data_files;
select file_name,file_id,tablespace_name,bytes,blocks,
status,online_status
from dba_data_files;
--臨時文件的基本信息
desc dba_temp_files;
select file_name,file_id,tablespace_name,status,
bytes/1024/1024 大小MB
from dba_temp_files;
--控制文件的基本信息
desc v$controlfile;
select name,status,is_recovery_dest_file,
block_size,file_size_blks
from v$controlfile;
--日誌文件的基本信息
desc v$logfile;
select group#,status,type,member,is_recovery_dest_file
from v$logfile;
--數據庫的基本信息
desc v$database;
select * from v$database;
select dbid,name,created,resetlogs_time,log_mode,
open_mode,checkpoint_change#,archive_change#,
controlfile_created,controlfile_type,
controlfile_sequence#,controlfile_change#,
controlfile_time,protection_mode,database_role
from v$database;
--日誌文件參數信息
show parameter log_archive_dest;
--訪問參數文件
desc v$parameter;
select num,name,type,value,display_value,
isdefault,isses_modifiable,
issys_modifiable,isinstance_modifiable
from v$parameter;
select * from v$parameter;
select name,value,description from v$parameter;
--後臺進程信息
desc v$bgprocess;
select paddr,pserial#,name,description,error from v$bgprocess;
--DBA 用戶的所有的表的基本信息
desc dba_tables;
desc dba_tab_columns;
select owner,table_name,column_name,data_type,data_length,
global_stats,data_upgraded,histogram
from dba_tab_columns;
--DBA 用戶的所有的視圖的基本信息
desc dba_views;
select owner,view_name,read_only from dba_views;
--DBA 用戶的所有的同義詞的基本信息
desc dba_synonyms;
select owner,synonym_name,table_owner,
table_name,db_link
from dba_synonyms;
--DBA 用戶的所有的序列的信息
desc dba_sequences;
select sequence_owner,sequence_name,min_value,max_value,
cycle_flag
from dba_sequences;
--DBA 用戶的所有的約束的信息
desc dba_constraints;
select owner,constraint_name,constraint_type,
table_name,status
from dba_constraints;
--DBA 用戶的所有的索引的基本信息
desc dba_indexes;
select owner,index_name,index_type,table_owner,table_name,
table_type,uniqueness,compression,logging,status
from dba_indexes;
--DBA 用戶的所有的觸發器的基本信息
desc dba_triggers;
select owner,trigger_name,trigger_type,
table_owner,table_name,column_name
from dba_triggers;
--DBA 用戶的所有的存儲過程的基本信息
desc dba_source;
select owner,name,type,line,text from dba_source;
--DBA 用戶的所有的段的基本信息
desc dba_segments;
select owner,segment_name,segment_type,
tablespace_name,blocks,extents
from dba_segments;
--DBA 用戶的所有的區的基本信息
desc dba_extents
select owner,segment_name,segment_type,
tablespace_name,extent_id,file_id,blocks
from dba_extents;
--DBA 用戶的所有的對象的基本信息
desc dba_objects;
select owner,object_name,subobject_name,
object_id,data_object_id,object_type,
created,status,namespace
from dba_objects;
--當前用戶可以訪問的所有的基表
desc cat;
select table_name from cat;
--當前用戶可以訪問的所有的基表,視圖,同義詞
desc system.tab;
select tname,tabtype,clusterid from system.tab;
--構成數據字典的所有的表信息
desc dict;
select table_name,comments from dict;
-- 查詢關於表空間的一些基本的數據字典
desc dba_tablespaces;
select tablespace_name,block_size,status,
logging,extent_management
from dba_tablespaces;
desc dba_free_space;
select tablespace_name,file_id,block_id,
bytes/1024/1024 大小MB,blocks,relative_fno
from dba_free_space;
--歸檔狀態的一些基本信息
desc v$archived_log;
select name,dest_id,blocks,block_size,
archived,status,backup_count
from v$archived_log;
--關於內存結構的一些信息
desc v$sga;
select name,value/1024/1024 大小MB from v$sga;
desc v$sgastat;
select pool,name,bytes from v$sgastat;
desc v$db_object_cache;
select owner,name,db_link,type,namespace,locks from v$db_object_cache;
desc v$sql;
select sql_text,sql_id,cpu_time from v$sql;
Oracle中的各種數據文件
一、數據文件(Datafile)
Oracle數據中的每一個表空間(Tablespace)都是由一個或多個物理數據文件(datafile)構成的。
二、控制文件(Controlfile)
控制文件(control file)是一個二進制文件,供數據庫啓動及正常工作時使用。
在數據庫運行過程中,控制文件會頻繁地被Oracle修改,因此數據庫處於開啓(open)狀態時控制文件必須可寫。如果控制文件因故不能訪問,數據庫 也將無法正常工作。
每當添加,重命名,或移除數據庫中的數據文件(datafile)及重做日誌文件(redo log file)時,控制文件(control file)就會被更新以反映這些數據庫物理結構變化。
三、重做日誌文件
Oracle引入重做日誌的目的:數據庫的恢復。
Oracle相關進程:重做日誌寫進程(LGWR)。
重做日誌性質:聯機日誌文件,oracle服務器運行需要管理它們。
相關數字字典:v
操作者權限:具有sys用戶或system用戶權限。
四、歸檔日誌文件
歸檔日誌(Archive Log)是非活動的重做日誌備份.通過使用歸檔日誌,可以保留所有重做歷史記錄,當數據庫處於ARCHIVELOG模式並進行日誌切換式,後臺進程ARCH會將重做日誌的內容保存到歸檔日誌中.當數據庫出現介質失敗時,使用數據文件備份,歸檔日誌和重做日誌可以完全恢復數據庫.