Oracle 常用命令笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 常用命令笔记相关的知识,希望对你有一定的参考价值。
命令
说明
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。
以上是关于Oracle 常用命令笔记的主要内容,如果未能解决你的问题,请参考以下文章