各种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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值