各种Oracle常见操作2
1 dbms_output基本使用
set serveroutput on;
开启控制台显示;
dbms_output.put,写入buffer但不输出;
dbms_output.put_line,输出字符;
dbms_output.new_line,作为一行的结束;
set serveroutput on;
BEGIN
dbms_output.put('AAA,,,'); --写入buffer但不输出
dbms_output.put('BBB'); --写入buffer但不输出
dbms_output.new_line; --回车(换行),输出
END ;
2 Oracle top 写法
Oracle不支持select top 语句,
在Oracle中是用order by 跟rownum的组合来实现select top n的查询。
select 列名1 ...列名n from
(
select 列名1 ...列名n
from 表名 order by 列名1
)
where rownum <=N(抽出记录数)
order by rownum asc
按ename排序,取emp表前5行;
select ename,sal from (select ename,sal from emp order by ename) where rownum<=5 order by ename asc
3 基本表管理
Oracle三种数据类型:标量,集合,关系。
ROWID由Oracle服务器使用并管理。
段是oracle的一个逻辑结构,表段是最常用的一类段。向表中插入数据、删除数据、修改数据,都会造成段空间的变化。
在oracle 9i 之后,开始使用自动段空间管理即ASSM。
对于表段使用术语高水位线来标记,使用过的数据块的边界。
对于新建的表,高水位线位于第一个块。表中存入数据,高水位线会移动。
4 oracle查看表和列和直方图
SELECT b.comments as 注释,
a.column_name as 列名,
a.data_type || '(' || a.data_length || ')' as 数据类型,
a.nullable as 是否为空
FROM user_tab_columns a, user_col_comments b
WHERE a.TABLE_NAME = 'EMP'
and b.table_name = 'EMP'
and a.column_name = b.column_name
select * from user_tab_histograms;
select table_name,num_rows, blocks, empty_blocks, avg_space, chain_cnt, avg_row_len,last_analyzed from user_tables;
SELECT table_name,column_name, num_distinct,low_value, high_value, density, num_nulls, num_buckets, histogram from user_tab_columns;
查看列的信息:
NUM_DISTINCT, --唯一值的个数
LOW_VALUE, --列上的最小值
HIGH_VALUE, --列上的最大值
DENSITY, --选择率因子(密度)
NUM_NULLS, --空值的个数
NUM_BUCKETS, --直方图的BUCKET个数
HISTOGRAM --直方图的类型
直方图是一种列的特殊的统计信息,主要用来描述列上的数据分布情况,
直方图意义:在oracle数据库中,CBO会默认认为目标列的数据量在其最小值和最大值之间是均匀分布的;
目标列的数据是均匀分布的,按照这个原则选择执行计划是正确的;
如果目标数据列分布不均匀,甚至是严重倾斜,分布极度不均匀,那么按照这个原则选择执行计划就不合适,甚至是错误的;
直方图实际存储在数据字典sys.histgrm$中,可以通过数据字典dba_tab_historgrams,dba_part_histograms和dba_subpart_histograms来分别查看表,分区表的分区和分区表的子分区的直方图信息。
5 查看版本、外键、当前时间
select * from v$version;
select * from user_constraints where constraint_type='R'
select TO_CHAR(SYSDATE - 1, 'yyyy-mm-dd hh24:mi:ss') FROM DUAL;
6 创建表空间
Oracle中表空间分为临时表空间和普通表空间;
创建表空间;查看表空间对应的文件;
create tablespace spacetest1 datafile 'testfile1.dbf' size 10m;
create temporary tablespace tempspacetest1 tempfile 'testtempfile1.dbf' size 10m;
select tablespace_name, file_name from dba_data_files where tablespace_name='SPACETEST1';
select tablespace_name, file_name from dba_temp_files where tablespace_name='TEMPSPACETEST1';
7 存储过程插入50万记录
begin
for i in 1..500000 loop
insert into testi1 values(i);
end loop;
end;
8 高水位线
oracle 高水位线
高水位线,High Water Mark。
所有的oracle段,segments,都有一个在段内容纳数据的上限,我们把这个上限称为"high water mark"或HWM。
这个HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个segment。
HWM通常增长的幅度为一次5个数据块。
如果我们在表上使用了truncate命令,则该表的HWM会被重新置为0。
对于表段使用术语“高水位线”来标记,使用过的数据块的边界。
对于新建的表,高水位线位于第一个块。随着表段存入数据,高水位线会随之移动。
ANALYZE TABLE employees ESTIMATE STATISTICS;
SELECT blocks, empty_blocks, num_rows
FROM user_tables
WHERE table_name = 'employees';
insert into TEST10 select sysdate,rownum from dual connect by level <= 100000;
插入测试记录;
如何知道一个表的HWM?
a) 首先对表进行分析:
ANALYZE TABLE <tablename> ESTIMATE/COMPUTE STATISTICS;
b) SELECT blocks, empty_blocks, num_rows
FROM user_tables
WHERE table_name = <tablename>;
BLOCKS 列代表该表中曾经使用过得数据库块的数目,即水线。
EMPTY_BLOCKS 代表分配给该表,但是在水线以上的数据库块,即从来没有使用的数据块。
9 控制文件基础
Oracle 控制文件是非常小的二进制文件。
控制文件在数据库启动的MOUNT阶段被读取。
一个控制文件只能与一个数据库相关联。
使用v$parameter视图查看控制文件位置;
当前数据库有2个控制文件;
也可以使用show parameter 查看控制文件位置;
该语句默认输出3列;
控制文件无法通过文本编辑器查看。该文件自动维护,管理员无法干预。
使用v$controlfile_record_section数据字典视图查看控制文件内容的记录信息;
很多动态数据字典视图从控制文件中获得数据;
shutdown immediate
关闭数据库;
startup
启动数据库;
Oracle建议用户使用多重控制文件;并将控制文件的副本存储在不同的磁盘上;
控制台操作实例文本如下:
SQL*Plus: Release 11.2.0.1.0 Production on 星期日 2月 16 00:58:39 2020
Copyright (c) 1982, 2010, Oracle. All rights reserved.
请输入用户名: sys as sysdba
输入口令:
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select value from v$parameter where name='control_files';
VALUE
--------------------------------------------------------------------------------
G:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL, G:\APP\ADMINISTRATOR\FLASH_RECO
VERY_AREA\ORCL\CONTROL02.CTL
SQL> show parameter control_files;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string G:\APP\ADMINISTRATOR\ORADATA\O
RCL\CONTROL01.CTL, G:\APP\ADMI
NISTRATOR\FLASH_RECOVERY_AREA\
ORCL\CONTROL02.CTL
SQL> select type,record_size,records_total,records_used from v$controlfile_record_section;
TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED
---------------------------- ----------- ------------- ------------
DATABASE 316 1 1
CKPT PROGRESS 8180 11 0
REDO THREAD 256 8 1
REDO LOG 72 16 3
DATAFILE 520 100 6
FILENAME 524 2298 11
TABLESPACE 68 100 8
TEMPORARY FILENAME 56 100 2
RMAN CONFIGURATION 1108 50 0
LOG HISTORY 56 292 292
OFFLINE RANGE 200 163 0
TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED
---------------------------- ----------- ------------- ------------
ARCHIVED LOG 584 28 0
BACKUP SET 40 409 0
BACKUP PIECE 736 200 0
BACKUP DATAFILE 200 245 0
BACKUP REDOLOG 76 215 0
DATAFILE COPY 736 200 1
BACKUP CORRUPTION 44 371 0
COPY CORRUPTION 40 409 0
DELETED OBJECT 20 818 1
PROXY COPY 928 246 0
BACKUP SPFILE 124 131 0
TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED
---------------------------- ----------- ------------- ------------
DATABASE INCARNATION 56 292 2
FLASHBACK LOG 84 2048 0
RECOVERY DESTINATION 180 1 1
INSTANCE SPACE RESERVATION 28 1055 1
REMOVABLE RECOVERY FILES 32 1000 0
RMAN STATUS 116 141 0
THREAD INSTANCE NAME MAPPING 80 8 8
MTTR 100 8 1
DATAFILE HISTORY 568 57 0
STANDBY DATABASE MATRIX 400 31 31
GUARANTEED RESTORE POINT 212 2048 0
TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED
---------------------------- ----------- ------------- ------------
RESTORE POINT 212 2083 0
DATABASE BLOCK CORRUPTION 80 8384 0
ACM OPERATION 104 64 6
FOREIGN ARCHIVED LOG 604 1002 0
已选择37行。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 1071333376 bytes
Fixed Size 1375792 bytes
Variable Size 662700496 bytes
Database Buffers 402653184 bytes
Redo Buffers 4603904 bytes
数据库装载完毕。
数据库已经打开。
SQL>
10 内存结构基础
Oracle内存结构由两大部分组成:SGA,PGA。
PGA,程序全局区。
SGA,系统全局区。
系统全局区包含:
数据库高速缓存,Database buffer cache;
重做日志缓存,Redo log buffer cache;
共享池,Shared pool;
大池,Large pool;
Java池,Java pool;
缓冲区顾问参数,Buffer Cache Advisory Parameter,用于启动或关闭统计信息,作为管理员的参考。
只在共享服务器环境配置大池;
查询PGA中排序区的大小;
show parameter sort_area_size;
查看SGA的大小;
show parameter sga_max_size;
控制台操作实例文本如下;
SQL*Plus: Release 11.2.0.1.0 Production on 星期日 2月 16 12:38:25 2020
Copyright (c) 1982, 2010, Oracle. All rights reserved.
请输入用户名: sys as sysdba
输入口令:
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> alert system set shared_pool_size=16M;
SP2-0734: 未知的命令开头 "alert syst..." - 忽略了剩余的行。
SQL> alter system set shared_pool_size=16M;
系统已更改。
SQL> show parameter shared_pool_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
shared_pool_size big integer 16M
SQL> show parameter db_block_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 8192
SQL> show parameter db_cache_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_size big integer 0
SQL> show sga;
Total System Global Area 1071333376 bytes
Fixed Size 1375792 bytes
Variable Size 662700496 bytes
Database Buffers 402653184 bytes
Redo Buffers 4603904 bytes
SQL> alter system set db_cache_size=200M;
系统已更改。
SQL> show parameter db_cache_advice;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_advice string ON
SQL> alter system set db_cache_advice=off;
系统已更改。
SQL> show parameter log_buffer;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_buffer integer 4431872
SQL> show parameter java_pool_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_pool_size big integer 0
SQL> show parameter sort_area_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sort_area_size integer 65536
SQL> show parameter sga_max_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_max_size big integer 1G
SQL>
11 闪回和归档基础
oracle闪回
闪回是一种数据恢复技术。恢复时间快,不使用备份文件。仅对逻辑恢复有效。
没有闪回之前,数据库的逻辑错误恢复都是采用基于时间点的恢复,通过备份恢复数据库到过去指定的时间点。
两种闪回级别:表级,数据库级。
闪回数据库
使用闪回日志来恢复用户的逻辑错误。
闪回日志由oracle自动创建,并存储在闪回恢复区中。
默认不启用闪回数据库。
需要启动闪回数据库特性,必须将数据库设置为归档模式,并启用闪回恢复区。
archive log list;
检查当前数据库的归档状态;
归档模式的好处是保证数据库发生介质故障时可以完全恢复数据库。
show parameter db_recovery_file_dest;
查询默认归档目录;
设置归档模式
以sysdba登录;
正常关闭数据库;shutdown immediate;
启动数据库到MOUNT状态; startup mount;
使用alter database archivelog指令将数据库设置为归档模式;
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 2月 20 20:34:59 2020
Copyright (c) 1982, 2010, Oracle. All rights reserved.
请输入用户名: sys as sysdba
输入口令:
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> archive log list;
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 758
当前日志序列 760
SQL> show parameter db_recovery_file_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string G:\app\Administrator\flash_rec
overy_area
db_recovery_file_dest_size big integer 3852M
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 1071333376 bytes
Fixed Size 1375792 bytes
Variable Size 662700496 bytes
Database Buffers 402653184 bytes
Redo Buffers 4603904 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 758
下一个存档日志序列 760
当前日志序列 760
SQL>
12 数据字典视图基础
Oracle 数据字典视图分三类:
DBA_***;ALL_***;USER_***;
desc 查看表或视图结构;
col owner for a20;
设置列宽为20;
查看scott拥有的对象名称和创建日期;
查看 all_objects 视图中有几个所有者;
查看当前用户拥有对象的对象名、对象类型、创建日期、状态;
select * from user_catalog;
查询SCOTT的所有表名和类型;
查看当前所有用户名和创建日期;
查询和日志文件相关的信息;
查看日志组状态信息;
控制台操作文本;
SQL*Plus: Release 11.2.0.1.0 Production on 星期六 2月 15 22:53:30 2020
Copyright (c) 1982, 2010, Oracle. All rights reserved.
请输入用户名: sys as sysdba
输入口令:
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> desc dba_objects;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
OWNER VARCHAR2(30)
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
NAMESPACE NUMBER
EDITION_NAME VARCHAR2(30)
SQL> col owner for a20
SQL> col object_name for a40
SQL> select owner, object_name, created from dba_objects where owner='SCOTT';
OWNER OBJECT_NAME CREATED
-------------------- ---------------------------------------- --------------
SCOTT PK_DEPT 02-4月 -10
SCOTT DEPT 02-4月 -10
SCOTT EMP 02-4月 -10
SCOTT PK_EMP 02-4月 -10
SCOTT BONUS 02-4月 -10
SCOTT SALGRADE 02-4月 -10
SCOTT AAA 25-8月 -19
SCOTT PRINTLN 29-1月 -20
SCOTT TESTTABLE1 13-2月 -20
SCOTT GET_SALARY 13-2月 -20
SCOTT CHANGESALES 13-2月 -20
OWNER OBJECT_NAME CREATED
-------------------- ---------------------------------------- --------------
SCOTT CHANGESALES2 13-2月 -20
SCOTT FUNCTION1 13-2月 -20
SCOTT EMP2 09-2月 -20
SCOTT EMP3 09-2月 -20
SCOTT SYS_C0016426 10-2月 -20
SCOTT HH 10-2月 -20
SCOTT HH2 10-2月 -20
SCOTT SYS_C0016427 10-2月 -20
SCOTT RET_EMP_SAL 10-2月 -20
SCOTT GET_SAL 10-2月 -20
SCOTT FUNCTION_TEST 10-2月 -20
已选择22行。
SQL> desc all_objects;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
OWNER NOT NULL VARCHAR2(30)
OBJECT_NAME NOT NULL VARCHAR2(30)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NOT NULL NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED NOT NULL DATE
LAST_DDL_TIME NOT NULL DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
NAMESPACE NOT NULL NUMBER
EDITION_NAME VARCHAR2(30)
SQL> conn scott/123456;
已连接。
SQL> select distinct(owner) from all_objects;
OWNER
--------------------
MDSYS
PUBLIC
CTXSYS
OLAPSYS
SYSTEM
EXFSYS
APEX_030200
SCOTT
ORDSYS
ORDPLUGINS
DBSNMP
OWNER
--------------------
XDB
ORDDATA
SYS
WMSYS
已选择15行。
SQL> select * from dba_objects;
select * from dba_objects
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> desc user_objects;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
NAMESPACE NUMBER
EDITION_NAME VARCHAR2(30)
SQL> col object_name for a25
SQL> select object_name, object_type,created, status from user_objects;
OBJECT_NAME OBJECT_TYPE CREATED STATUS
------------------------- ------------------- -------------- -------
PK_DEPT INDEX 02-4月 -10 VALID
DEPT TABLE 02-4月 -10 VALID
EMP TABLE 02-4月 -10 VALID
PK_EMP INDEX 02-4月 -10 VALID
BONUS TABLE 02-4月 -10 VALID
SALGRADE TABLE 02-4月 -10 VALID
AAA SEQUENCE 25-8月 -19 VALID
PRINTLN PROCEDURE 29-1月 -20 VALID
TESTTABLE1 TABLE 13-2月 -20 VALID
GET_SALARY FUNCTION 13-2月 -20 INVALID
CHANGESALES FUNCTION 13-2月 -20 INVALID
OBJECT_NAME OBJECT_TYPE CREATED STATUS
------------------------- ------------------- -------------- -------
CHANGESALES2 FUNCTION 13-2月 -20 INVALID
FUNCTION1 FUNCTION 13-2月 -20 VALID
EMP2 TABLE 09-2月 -20 VALID
EMP3 TABLE 09-2月 -20 VALID
SYS_C0016426 INDEX 10-2月 -20 VALID
HH TABLE 10-2月 -20 VALID
HH2 TABLE 10-2月 -20 VALID
SYS_C0016427 INDEX 10-2月 -20 VALID
RET_EMP_SAL FUNCTION 10-2月 -20 VALID
GET_SAL FUNCTION 10-2月 -20 INVALID
FUNCTION_TEST FUNCTION 10-2月 -20 INVALID
已选择22行。
SQL> select * from user_catalog;
TABLE_NAME TABLE_TYPE
------------------------------ -----------
AAA SEQUENCE
BONUS TABLE
DEPT TABLE
EMP TABLE
EMP2 TABLE
EMP3 TABLE
HH TABLE
HH2 TABLE
SALGRADE TABLE
TESTTABLE1 TABLE
已选择10行。
SQL> select username, created from dba_users;
select username, created from dba_users
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> conn sys/kc123Ab;
ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
警告: 您不再连接到 ORACLE。
SQL> conn sys/kc123Ab as sysdba;
已连接。
SQL> select username, created from dba_users;
USERNAME CREATED
------------------------------ --------------
MGMT_VIEW 02-4月 -10
SYS 02-4月 -10
SYSTEM 02-4月 -10
SCOTT 02-4月 -10
HR 28-2月 -19
DBSNMP 02-4月 -10
SYSMAN 02-4月 -10
OUTLN 02-4月 -10
FLOWS_FILES 02-4月 -10
MDSYS 02-4月 -10
ORDSYS 02-4月 -10
USERNAME CREATED
------------------------------ --------------
EXFSYS 02-4月 -10
WMSYS 02-4月 -10
APPQOSSYS 02-4月 -10
APEX_030200 02-4月 -10
OWBSYS_AUDIT 02-4月 -10
ORDDATA 02-4月 -10
CTXSYS 02-4月 -10
ANONYMOUS 02-4月 -10
XDB 02-4月 -10
ORDPLUGINS 02-4月 -10
OWBSYS 02-4月 -10
USERNAME CREATED
------------------------------ --------------
SI_INFORMTN_SCHEMA 02-4月 -10
OLAPSYS 02-4月 -10
ORACLE_OCM 02-4月 -10
XS$NULL 02-4月 -10
BI 28-2月 -19
PM 28-2月 -19
MDDATA 02-4月 -10
IX 28-2月 -19
SH 28-2月 -19
DIP 02-4月 -10
OE 28-2月 -19
USERNAME CREATED
------------------------------ --------------
APEX_PUBLIC_USER 02-4月 -10
SPATIAL_CSW_ADMIN_USR 02-4月 -10
SPATIAL_WFS_ADMIN_USR 02-4月 -10
已选择36行。
SQL> select * from v$fixed_table where name like 'V$LOG%';
NAME OBJECT_ID TYPE TABLE_NUM
------------------------------ ---------- ----- ----------
V$LOGFILE 4294950935 VIEW 65537
V$LOG 4294951049 VIEW 65537
V$LOGHIST 4294951051 VIEW 65537
V$LOG_HISTORY 4294951077 VIEW 65537
V$LOGMNR_CONTENTS 4294951541 VIEW 65537
V$LOGMNR_LOGS 4294951543 VIEW 65537
V$LOGMNR_DICTIONARY 4294951545 VIEW 65537
V$LOGMNR_PARAMETERS 4294951547 VIEW 65537
V$LOGMNR_LOGFILE 4294951643 VIEW 65537
V$LOGMNR_PROCESS 4294951646 VIEW 65537
V$LOGMNR_TRANSACTION 4294951649 VIEW 65537
NAME OBJECT_ID TYPE TABLE_NUM
------------------------------ ---------- ----- ----------
V$LOGMNR_REGION 4294951633 VIEW 65537
V$LOGMNR_CALLBACK 4294951636 VIEW 65537
V$LOGMNR_SESSION 4294951640 VIEW 65537
V$LOGMNR_LATCH 4294952585 VIEW 65537
V$LOGMNR_DICTIONARY_LOAD 4294952588 VIEW 65537
V$LOGMNR_SYS_OBJECTS 4294952762 VIEW 65537
V$LOGMNR_SYS_DBA_SEGS 4294952764 VIEW 65537
V$LOGMNR_EXTENTS 4294952766 VIEW 65537
V$LOGMNR_DBA_OBJECTS 4294952768 VIEW 65537
V$LOGMNR_OBJECT_SEGMENTS 4294952770 VIEW 65537
V$LOGSTDBY 4294951711 VIEW 65537
NAME OBJECT_ID TYPE TABLE_NUM
------------------------------ ---------- ----- ----------
V$LOGSTDBY_STATS 4294951714 VIEW 65537
V$LOGSTDBY_TRANSACTION 4294952181 VIEW 65537
V$LOGSTDBY_PROCESS 4294952179 VIEW 65537
V$LOGSTDBY_PROGRESS 4294952174 VIEW 65537
V$LOGSTDBY_STATE 4294952177 VIEW 65537
V$LOGMNR_STATS 4294951834 VIEW 65537
已选择28行。
SQL> select group#, members, archived, status from v$log;
GROUP# MEMBERS ARC STATUS
---------- ---------- --- ----------------
1 1 NO INACTIVE
2 1 NO INACTIVE
3 1 NO CURRENT
SQL>
13 通过已经存在的表创建新表
不添加原来的数据;
create table emp2 as select * from scott.emp where 1 = 2;
添加原来的数据;
create table emp3 as select * from emp
14 网络配置管理基础
oracle网络服务组件包括:
oracle Net;
oracle Net Listeners;
oracle Connection Listeners;
oracle Net Configuration Assistant;
oracle Net Manager;
数据库服务器端必须启动监听程序。
监听程序由一个oracle文件管理,listener.ora。
show parameter service_name;
查看当前数据库的服务名;
15 在指定表空间创建表
create table HH(tid number primary key);
select * from tabs;
create table HH2(tid number primary key) tablespace SPACETEST1;
创建表时如果不指定表空间,创建的表默认位于USERS表空间;
16 SQLPLUS基本操作
Microsoft Windows [版本 10.0.17763.557]
(c) 2018 Microsoft Corporation。保留所有权利。
C:\Users\Administrator>sqlplus sys/kc123Ab as sysdba;
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 2月 3 19:33:19 2020
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show user
USER 为 "SYS"
SQL> conn scott/123456
已连接。
SQL> set linesize 300;
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BONUS TABLE
DEPT TABLE
EMP TABLE
SALGRADE TABLE
SQL> col ename for a8
SQL> col mgr for 9999
SQL> col sal for 9999
SQL> select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------- --------- ----- -------------- ----- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------- --------- ----- -------------- ----- ---------- ----------
7900 JAMES CLERK 7698 03-12月-81 950 30
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
已选择14行。
SQL> desc emp;
名称 是否为空? 类型
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
SQL>
Microsoft Windows [版本 10.0.17763.557]
(c) 2018 Microsoft Corporation。保留所有权利。
C:\Users\Administrator>sqlplus scott/123456
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 2月 3 19:33:53 2020
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show user
USER 为 "SCOTT"
SQL> conn sys/kc123Ab as sysdba;
已连接。
SQL> select * from emp;
select * from emp
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> select * from scott.emp
2 ;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
----------
7369 SMITH CLERK 7902 17-12月-80 800
20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300
30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
----------
7566 JONES MANAGER 7839 02-4月 -81 2975
20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400
30
7698 BLAKE MANAGER 7839 01-5月 -81 2850
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
----------
7782 CLARK MANAGER 7839 09-6月 -81 2450
10
7788 SCOTT ANALYST 7566 19-4月 -87 3000
20
7839 KING PRESIDENT 17-11月-81 5000
10
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0
30
7876 ADAMS CLERK 7788 23-5月 -87 1100
20
7900 JAMES CLERK 7698 03-12月-81 950
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-12月-81 3000
20
7934 MILLER CLERK 7782 23-1月 -82 1300
10
已选择14行。
SQL>