Oracle 經常使用命令筆記(1)

命令
說明
crsctl start has    

啓動數據庫HAS服務。
crsctl stat res -t    

檢查ASM中的各服務(DG、監聽、ASM實例等)狀態。
srvctl status asm    

查看ASM實例狀態,正常狀況下主備機的ASM實例都應該處於啓動狀態。
srvctl start asm    

啓動ASM實例。

srvctl stop asm    

中止ASM實例。

srvctl status diskgroup -g dgname    
查看數據庫DG狀態。

例如:srvctl status diskgroup -g dg_ora
srvctl stop diskgroup -g dgname    
中止數據庫DG。
srvctl start diskgroup -g dgname    
啓動數據庫DG。
srvctl enable diskgroup -g dgname    
激活數據庫。
srvctl disable diskgroup -g dgname    
去激活數據庫。
SQL> alter diskgroup dgname mount;    
掛載數據庫DG。
SQL> alter diskgroup dgname unmount;    
卸載數據庫DG。
SQL> select name,state,type,total_mb,free_mb from v$asm_diskgroup;    

查詢數據庫DG名稱、類型、狀態、總空間和剩餘空間。

SQL> select name,group_number,path,mode_status,state from v$asm_disk;    

查詢數據庫DG的名稱、路徑、狀態。
ASMCMD工具    

在grid用戶下執行asmcmd進入工具界面,ASMCMD工具提供了cd、cp、du、find、ls、pwd、rm、mkdir等經常使用命令,能夠經過「help+命令」的方式查看命令的詳細解釋。
SQL> select instance_name from v$instance;    

查詢ASM實例名稱。

查詢實例和數據庫狀態。

SQL> select status from v$instance;
「STATUS」的值應爲「OPEN」。

SQL> select open_mode from v$database;

「open_mode」的值應爲「READ WRITE」。查詢數據庫實例。

SQL> select INSTANCE_NAME from v$instance;

操做步驟

    以Oracle用戶登陸主機。
    鏈接數據庫。

    % sqlplus "/as sysdba"

    查看數據庫字符集。

    SQL> select userenv('language') from dual;

    顯示以下信息。

    AMERICAN_AMERICA.WE8ISO8859P1

    查看數據庫使用字符集。

    SQL> select value  from nls_database_parameters  Where PARAMETER= 'NLS_CHARACTERSET';

    修改數據庫字符集。
        關閉數據庫。

        SQL>  shutdown immediate;

        啓動數據庫。

        SQL> startup mount;

        修改字符集。

        SQL> ALTER SESSION SET SQL_TRACE=TRUE;

        SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;

        SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

        SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

        SQL> ALTER DATABASE OPEN;

        SQL> set linesize 120;
        SQL> alter database character set AL32UTF8;

        ORA-12712: new character set must be a superset of old character set
        ERROR at line 1:                                
        可忽略上述錯誤
        SQL> ALTER DATABASE character set INTERNAL_USE AL32UTF8;

        SQL> ALTER SESSION SET SQL_TRACE=FALSE;

        重啓數據庫

        SQL> shutdown immediate;

        SQL> STARTUP;

    查看字符集。

    SQL> select userenv('language') from dual;

    顯示以下信息代表修改字符集成功。

    USERENV('LANGUAGE')
    ----------------------------------------------------
    AMERICAN_AMERICA.AL32UTF8

    SQL> select value from nls_database_parameters Where PARAMETER= 'NLS_CHARACTERSET';

    顯示以下信息代表修改字符集成功。

    VALUE
    -------------
    AL32UTF8
    
檢查數據庫表空間是否建立         

select TABLESPACE_NAME, STATUS from dba_tablespaces;

數據庫歸檔模式
select log_mode from v$database;

開啓數據庫歸檔模式:

    關閉數據庫

    SQL> shutdown immediate;

    SQL> exit

    重啓數據庫開啓歸檔模式。

    sqlplus "/as sysdba"

    SQL> startup mount;

    SQL> alter database archivelog;

    SQL> alter database open;
檢查Oracle數據庫時區
SQL> SELECT dbtimezone FROM DUAL;
修改Oracle數據庫時區,需重啓數據庫
SQL> ALTER DATABASE SET TIME_ZONE = 'Asia/Shanghai';

SQL> select * from V$TIMEZONE_NAMES;

顯示修改後時間
SQL> select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss ') from dual;

查看數據庫用戶。

SQL>select username from all_users;

SQL> drop user username cascade;

    修改oracle自動定時任務的默認時區。

    SQL> exec DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE('default_timezone','Asia/Shanghai');
    修改Oracle的日期格式。

    SQL> alter system set NLS_DATE_FORMAT='MM/DD/YYYY HH24:MI:SS' scope=spfile;

修改日誌相關參數。

    修改歸檔日誌文件路徑。

    SQL> alter system set db_recovery_file_dest='' scope=spfile;

    SQL> alter system set log_archive_dest_1='LOCATION=+DG_BACKUP' scope=spfile;
    修改強制日誌切換設置。

    SQL> alter system set ARCHIVE_LAG_TARGET = 7200 scope = both;
    修改log_buffer的值(單位是byte)。

    SQL> alter system set log_buffer = 3145728 scope = spfile;

    「log_buffer」的範圍在3M至128M。
修改數據庫鏈接相關參數。

    修改數據庫鏈接方式。

    SQL> alter system set SHARED_SERVERS = 0 scope=both;
    修改open_link鏈接數。

    SQL> alter system set open_links=10 scope=spfile;

    SQL> alter system set open_links_per_instance=10 scope=spfile;

關閉數據庫回收站。

SQL> alter system set recyclebin=off scope=spfile;

修改其餘參數。

    修改「sec_case_sensitive_logon」參數,關閉區分口令大小寫功能。

    SQL> alter system set sec_case_sensitive_logon = false scope=spfile;
    修改數據庫鑑權參數。

    SQL> alter system set remote_login_passwordfile = EXCLUSIVE scope=spfile;

    SQL> alter system set remote_listener='';
    修改workarea_size_policy。

    SQL> alter system set workarea_size_policy=AUTO scope = spfile;
    修改pre_page_sga。

    SQL> alter system set pre_page_sga = false scope = spfile;

關閉數據庫。

SQL> shutdown immediate;

SQL> exit;

已實現自動配置的數據庫參數。

    以oracle用戶登陸。
    編輯「sqlnet.ora」文件。
        新建或修改「sqlnet.ora」文件。

        % vi $ORACLE_HOME/network/admin/sqlnet.ora
        在文件中添加以下內容:

        DIAG_ADR_ENABLED=OFF
    修改「deferred_segment_creation」參數,空表和非空表都分配segment。

    SQL> alter system set DEFERRED_SEGMENT_CREATION=false scope=spfile;
    修改「optimizer_use_invisible_indexes」參數,使優化器忽略「invisible index」。

    SQL> alter system set optimizer_use_invisible_indexes = false scope=spfile;
    修改「audit_trail」參數,關閉數據庫審計功能。

    SQL> alter system set audit_trail=none scope=spfile;
    修改「parallel_force_local」參數。

    SQL> alter system set parallel_force_local=true scope= spfile;
    修改「_gc_policy_time」參數,關閉DRM(Dynamic Resource mastering)功能。

    SQL> alter system set "_gc_policy_time"=0 scope= spfile;
    修改「cursor_sharing」相關參數,關閉ACS(Adaptive Cursor Sharing)功能。

    SQL> alter system set "_optimizer_extended_cursor_sharing_rel"=none scope= spfile;

    SQL> alter system set "_optimizer_extended_cursor_sharing"=none scope = spfile;

    SQL> alter system set "_optimizer_adaptive_cursor_sharing"=false scope=spfile;
    修改open_cursors。

    SQL> alter system set open_cursors = 480 scope = spfile;

    「open_cursors」的值須要大於等於350。sql

相關文章
相關標籤/搜索