# 定义 editor
define _editor=vi
# 查看缓冲区中内容
list
# 编辑缓冲区的内容
edit
# 设置查询结果中的列分隔符
set colsep ','
# 查看实例状态
select instance_name,status from v$instance;
# 查看控制文件
select name from v$controlfile;
# 查看数据文件
select name from v$datafile;
# 查看临时文件(用于临时表空间)
select name from v$tempfile;
# 查看日志文件
select member from v$logfile;
# 查询数据库、是否归档和是否启用闪回 (mount)
select name,log_mode,flashback_on from v$database;
# 查看归档区(mount)
archive log list;
# 查看闪回区(nomount)
show parameter db_recovery_file_dest;
# 启用/禁用归档(mount)
alter database archivelog/noarchivelog;
alter system set log_archive_dest='dir_path';
# 启用/禁用闪回(mount)
alter database flashback on | off;
alter database set db_recovery_file_dest='dir_path';
# 切换日志组 (日志组切换会产生检查点,检查点会触发存盘操作)
alter system switch logfile;
# 强制产生检查点触发存盘操作
alter system checkpoint;
# 查看表所在的表空间(open)
select tablespace_name from dba_tables where owner='SCOTT' and table_name='T1';
# 查找表空间及对应的数据文件(open)
select tablespace_name,file_name from dba_data_files order by 1;
# 删除表空间及数据文件
drop tablespace ts1 including contents and datafiles;
# 修改当前会话的语言环境
alter session set nls_language='english';
# oracle 常用数据字典
user_tables user_tab_columns user_constraints user_indexes
all_tables all_tab_columns all_constraints all_indexes
dba_tables dba_tab_columns dba_constraints dba_indexes
user_views user_tablespaces user_triggers user_source
all_views all_triggers all_source
dba_views dba_tablespaces dba_triggers dba_source
user_users user_sequences
all_users all_sequences
dba_users dba_sequences
v$instance v$database v$controlfile
v$tablespace v$datafile v$tempfile v$logfile
dba_data_files dba_roles
########################## sql 基础 ##########################################
# rownum 和 order by
当 rownum 和 order by 放在一起时,是先按行号过滤然后才排序的,所以会显示如下结果
select id,name,rownum rn from test_tmp where rownum<5 order by id;
ID NAME RN
---- ---- ----
8 hh 4
9 ii 3
10 jj 2
11 kk 1
正确的做法应该是先排序然后按行号过滤
select b.*,rownum rn from (select a.* from test_tmp a order by a.id) b where rownum<5;
ID NAME RN
---- ---- ----
5 ee 1
6 ff 2
7 gg 3
8 hh 4