- 浏览: 127760 次
- 来自: henan china
文章分类
最新评论
-
totti19841106:
即使是64bit处理器,目前情况下也是在32bit应用下性能更 ...
CPU 64位技术 -
wangqichn:
这个东西,估计也只能留在自己的博客里面了。太不整齐啦 !
java定时器 -
lonelyblue:
命名空间
System.Reflection. 这是C#中反 ...
java反射技术 -
jamesby:
LZ,这个明明是C#的啊!
java反射技术 -
laojiang:
java反射技术?没看明白,很多包名好象是.net的
java反射技术
杀掉oracle进程:alter system kill session 'sid,serial#';
--从数据库段中获得段名为TB_DW_SC_USER_CUR的所有的分区名以及他们的容量大小
select partition_name,bytes/1024/1024 from dba_segments where segment_name='TB_DW_SC_USER_CUR'
order by 1;
select * from v$open_cursor where sid = :sid;
select value from v$sesstat
where sid = :sid
order by statistic#;
select l.*, o.owner object_owner, o.object_Name
from sys.all_objects o, v$lock l
where l.sid = :sid and l.type = 'TM' and o.object_id = l.id1
alter session set current_schema=rene;
##################################
##会话相关,从会话找到对应的unix进程号及正在执行的sql语句
##################################
Select sid,serial#,program ,logon_time,username,osuser
From v$session
Where 1=1
-- and program Like 'sql%'
-- and username = 'HW_QUERY'
-- And logon_time<sysdate-5/60
and osuser ='hwuser'
order by 3,4
;
Select paddr,sql_address From v$session
Where sid =932;
paddr='07000001371FC968'
SELECT spid
FROM v$process
WHERE (addr = '07000003F52BFF68');
SELECT hash_value,sql_text
FROM v$sqltext_with_newlines
WHERE hash_value = TO_NUMBER (:HASH)
ORDER BY piece
select SQL_FULLTEXT from v$sqlarea_plan_hash t Where t.ADDRESS='07000003E1DD6818'
v$sqlarea
Select p.spid,s.sid,s.serial#,s.username,s.program ,s.logon_time From v$session s,v$process p
Where s.paddr =p.addr
order by 4,5;
##################################
##会话相关,spid====>sqltext
##################################
--人v$process找到session的地址
SELECT addr,spid
FROM v$process
WHERE (spid= 296118);
--找当前执行的sql及前一sql的地址
Select sql_address,prev_sql_addr,sid,serial#,paddr From v$session Where
paddr='07000004EC287A80';
--从sql_address找语句
select sql_fulltext from v$sqlarea_plan_hash t Where t.ADDRESS='07000004DB478478';
select sid,serial#,paddr,sql_address,program,logon_time from v$session
where program like 'sqlpl%'
and sql_address <>'00';
##################################
#被锁定的对象
##################################
select o.owner,
o.object_name,
s.sid,
s.serial#,
-- lo.xidusn,
-- lo.xidslot,
-- lo.xidsqn,
-- lo.session_id,
--lo.oracle_username,
-- lo.os_user_name,
--lo.process,
--lo.locked_mode,
--s.machine,
--s.status,
--s.server,
s.program
from all_objects o,
v$locked_object lo,
sys.gv_$session s
where ( o.object_id = lo.object_id )
and ( lo.process = s.process )
-- and s.sid=1013
order by object_name
;
--EXPLAIN PLAN
EXPLAIN PLAN
SET STATEMENT_ID = 'pxs'
INTO plan_table
FOR
;
column OPERATION format a48
column options format a32
SELECT LPAD(' ',2*(LEVEL-1))||operation operation, options,
object_name, position
FROM plan_table
START WITH id = 0 AND statement_id = 'pxs'
CONNECT BY PRIOR id = parent_id AND
statement_id = 'pxs';
222120
--查看数据分区情况
select partition_name,bytes/1024/1024 from dba_segments where segment_name = upper('tb_mk_user_last_call_day')
$ORACLE_HOME/sqlplus/admin/glogin.sql
##################################
--周处理
to_char(start_date,'ww')--年内周
to_char(start_date,'w') --月内周
##################################
#空间相关
##################################
--查看空间占用
select tablespace_name,round(sum(bytes)/1024/1024/1024) as "free(G)"
from dba_free_space
group by tablespace_name
order by 1;
--查看表空间的名称及大小
column db_name format a10
select sys_context ('USERENV', 'db_name') db_name,t.tablespace_name,round(sum(bytes/(1024*1024*1024)),0) "ts_size(G)"
from sys.dba_tablespaces t, sys.dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name
order by 2;
--dba_segments 数据块字典
select segment_name,tablespace_name,bytes/1024/1024
from dba_segments t1 ,
('TB_MK_CL_DOWNLOAD_WEEK','TB_MK_NS_SERVICE_WEEK','TB_MK_SC_OPP_USER_WEEK','TB_MK_SC_USER_CELL_WEEK_TEN','TB_MK_SC_USER_PLUS_WEEK','TB_MK_SC_USER_WEEK')
;
##################################
#权限角色相关
##################################
#数据库中定义的角色
SELect * from dba_role_privs where GRANTED_ROLE='DBA' order by 1,2;
#角色具有的权限
SELect * from dba_sys_privs where grantee ='BIM' order by 1,2;
#表空间使用份额
select * from dba_ts_quotas;
#分区配置表的关键参数,bim用户下对dw/mk/kr的tb_sys_tab_partitions 做了个union all的视图
select table_name,partition_name,tablespace_name,partition_count,PARTITION_TYPE_ID,deal_cycle,TABLESPACE_TYPE_ID,partition_count
--select *
from tb_sys_tab_partitions
where table_name in('TB_DW_CL_SHDPAY_CUR','TB_DW_CL_GROUP_PERSON_CUR_H','TB_DW_CL_SHDPAY_CUR');
update dgdm_dw.tb_sys_tab_partitions set PARTITION_TYPE_ID='L' where table_name ='TB_DW_CL_GROUP_PERSON_CUR_H';
##################################
#分区相关
##################################
#新增没有配置的分区表
select owner,segment_name from dba_segments
where segment_type='TABLE PARTITION' and owner like 'DGDM%' and owner not like '%ODS'
MINUS
select owner,table_name from tb_sys_tab_partitions;
#分区表数据字典,查找分区类型
select table_name,partitioning_type,partitioning_type
from dba_part_tables
where table_name in('TB_DW_CL_SHDPAY_CUR','TB_DW_CL_GROUP_PERSON_CUR_H','TB_DW_CL_SHDPAY_CUR');
#分区字段字典.
select * from dba_part_key_columns;
--表分区字典
--select table_name,partition_name,compression from dba_tab_partitions where table_name like 'TB_MK%' and rownum<5;
select table_owner,table_name,partition_name,compression from dba_tab_partitions
where table_name like 'TB\_%' escape '\'
and compression<>'ENABLED'
and table_owner in ('DGDM_DW','DGDM_MK','DGDM_KR');
# 分区表的默认表空间,前段困扰我们的masa表空间不足的罪魁祸首
Select table_name, def_tablespace_name From all_part_tables Where (substr(def_tablespace_name,-1) <>'0') And TABLE_NAME Like 'TB_DW%';
Select 'alter table dgdm_dw.'||table_name|| ' modify default attributes tablespace tbs_data_0;' def_tablespace_name From all_part_tables
Where 0=0
--and (substr(def_tablespace_name,-1) <>'0')
And TABLE_NAME Like 'TB_DW%'
and def_tablespace_name ='TBS_DW_CUST_DATA_0';
#更改分区表的默认表空间
alter table test_part modify default attributes tablespace test03;
##################################
#用sql语句生成脚本然后拷贝到sqlplus中执行是一种很常用的技巧.
##################################
select 'alter table '||table_owner||'.'||table_name ||' move partition '||partition_name||' compress;'
from dba_tab_partitions
where table_name like 'TB_MK%'
and compression <>'ENABLED'
and table_name like 'TB_MK%';
select 'alter table '||table_owner||'.'||table_name||' move partition '||partition_name||' compress;'
select sys_context ('USERENV', 'db_name') db_name,table_owner,table_name,partition_name,compression
from dba_tab_partitions
where 1=1
and table_name like 'TB____%'
and compression ='DISABLED'
and table_owner like 'DGDM%'
;
##################################
#日志
##################################
column table_name format a32
column task_name format a32
column task_log format a60
column task_pos format a60
column task_sign format a60
select task_sign,start_time,end_time,task_name,table_name ,task_log
from --dgdm_dw.tb_dw_sys_log
(
select * from gddm_cb.tb_cb_sys_log
union all
select * from dgdm_ods.tb_in_sys_log
union all
select * from dgdm_dw.tb_dw_sys_log
union all
select * from dgdm_mk.tb_mk_sys_log
union all
select * from dgdm_kr.tb_kr_sys_log
)
where 1=1
and start_time>sysdate-1
and table_name like 'tb_kr_data_service_mon'
-- and instr( task_log ,'ORA-')>0
order by 1 ;
#表空间中的对象
select segment_name from dba_segments where partition_name like '%200706%' and tablespace_name='TBS_MK_FACT_DATA_5';
#分区大小
select owner,segment_name,partition_name,tablespace_name,bytes/1024/1024
from dba_segments
where 1=1
--and segment_name='TB_DW_PD_USR_MARKPLAN'
and tablespace_name='TBS_DATA_H6'
order by 1,2,3;
#周表月份核对
--周表
select tablespace_name,owner,segment_name,partition_name,segment_type,bytes/1024/1024
,(select to_char(end_date,'m') from gddm_cb.tb_dic_week t2 where t2.STATIS_WEEK= substr(partition_name,instr(partition_name,'_',-1)+5,2)),substr(tablespace_name,-1) wm,
(select tablespace_name from tb_sys_tab_partitions tt where tt.table_name=t1.segment_name) ts
,
from dba_segments t1
where SEGMENT_TYPE='TABLE PARTITION'
and segment_name like '%WEEK%'
and length(substr(partition_name,instr(partition_name,'_',-1)+1))=6
and owner like 'DGDM%' and owner not like '%ODS'
ORDER BY segment_name,partition_name;
--普通表
select tablespace_name,owner,segment_name,partition_name,segment_type,bytes/1024/1024
,substr(partition_name,instr(partition_name,'_',-1)+5,2),substr(tablespace_name,-1),
(select tablespace_name from tb_sys_tab_partitions ta where ta.table_name= t1.segment_name)||'_'
from dba_segments t1
where SEGMENT_TYPE='TABLE PARTITION'
--and substr(partition_name,instr(partition_name,'_',-1)+5,2) - substr(tablespace_name,-1) not in (0,6)
and segment_name not like '%WEEK'
and owner ='DGDM_MK'
ORDER BY segment_name,partition_name;
##################################
#表空间整理
##################################
select T1.owner,T1.segment_name,T1.partition_name,T1.bytes/1024/1024 MB,t1.tablespace_name
,t1.segment_type
,(SELECT TABLESPACE_NAME FROM TB_SYS_TAB_PARTITIONS T2 WHERE T1.SEGMENT_NAME= T2.TABLE_NAME)
,substr(partition_name,instr(partition_name,'_',-1)+5,2)
,SYS_CONTEXT ('USERENV', 'db_name') db_name
from dba_segments T1
where 1=1
and tablespace_name LIKE'TBS_KR_DATA_1%'
--and partition_name like '%200708%'
-- and segment_type='TABLE PARTITION'
-- and segment_name in (
-- 'TB_KR_SC_USER_DAY'
-- )
-- and segment_name not like 'TB_MK_LS%'
--and segment_name in (select table_name from tb_sys_tab_partitions where table_name like '%MK%MID')
and segment_name not in ('TB_MK_CL_DOWNLOAD_WEEK','TB_MK_NS_SERVICE_WEEK','TB_MK_SC_OPP_USER_WEEK','TB_MK_SC_USER_CELL_WEEK_TEN','TB_MK_SC_USER_PLUS_WEEK','TB_MK_SC_USER_WEEK')
--and owner like 'DGDM%'
--and T1.bytes/1024/1024 between 1 and 32
order by 1,2,3;
update dgdm_mk.tb_sys_tab_partitions set tablespace_name='TBS_MK_FACT_DATA'
where tablespace_name in('TBS_DW_RES_DATA'
-- ,'TBS_DW_DATA_FUNC'
-- ,'TBS_DW_CUST_DATA_H'
-- ,'TBS_DW_CUST_DATA'
);
update dgdm_dw.tb_sys_tab_partitions set tablespace_name='TBS_DW_AC_DATA'
where tablespace_name in('TBS_DW_RES_DATA'
-- ,'TBS_DW_DATA_FUNC'
-- ,'TBS_DW_CUST_DATA_H'
--,'TBS_DW_CUST_DATA'
);
update dgdm_mk.tb_sys_tab_partitions set tablespace_name='TBS_MK_FACT_DATA' where table_name
IN(
'TB_MK_SC_USER_CELL_WEEK_TEN'
,'TB_MK_SC_USER_DAY'
,'TB_MK_SC_USER_DTAL'
);
select segment_name,partition_name,bytes/1024/1024 from dba_segments where segment_name in (select table_name from tb_sys_tab_partitions where tablespace_name ='TBS_DATA_H') order by 1,2;
select T1.owner,T1.segment_name,T1.partition_name,T1.bytes/1024/1024 MB,t1.tablespace_name
,t1.segment_type
,(SELECT TABLESPACE_NAME FROM TB_SYS_TAB_PARTITIONS T2 WHERE T1.SEGMENT_NAME= T2.TABLE_NAME)
from dba_segments t1 ,tb_sys_tab_partitions t2
where t1.segment_name= t2.table_name
and t1.partition_name like '%200707%'
and t1.tablespace_name not like t2.tablespace_name||'%'
and segment_name not in ('TB_MK_CL_DOWNLOAD_WEEK','TB_MK_NS_SERVICE_WEEK','TB_MK_SC_OPP_USER_WEEK','TB_MK_SC_USER_CELL_WEEK_TEN','TB_MK_SC_USER_PLUS_WEEK','TB_MK_SC_USER_WEEK');
select SYS_CONTEXT ('USERENV', 'db_name') db_name,'JUN',t2.tablespace_name,round(sum(t1.bytes)/1024/1024/1024 )
from dba_segments t1,tb_sys_tab_partitions t2
where 1=1
and t1.segment_name= t2.table_name
and t1.partition_name like '%200706%'
and t2.owner<>'DGDM_ODS'
group by t2.tablespace_name
order by 1,2,3;
alter table dgdm_mk.TB_DIC_TEL_PHONE_SEGMENT move tablespace tbs_etl_data storage( initial 8k);
ALTER TABLE DGDM_MK.TB_MK_CL_USER_MON DROP PARTITION CL_USER_MON_200701;
#表空间与数据文件
select tablespace_name,file_name from dba_data_files where tablespace_name in(
'TBS_DW_CUST_DATA_0'
,'TBS_DW_CUST_DATA_1'
,'TBS_DW_CUST_DATA_2'
,'TBS_DW_CUST_DATA_3'
,'TBS_DW_CUST_DATA_4'
,'TBS_DW_CUST_DATA_5'
,'TBS_DW_CUST_DATA_6'
,'TBS_DW_CUST_DATA_H1'
,'TBS_DW_CUST_DATA_H10'
,'TBS_DW_CUST_DATA_H11'
,'TBS_DW_CUST_DATA_H12'
,'TBS_DW_CUST_DATA_H2'
,'TBS_DW_CUST_DATA_H3'
,'TBS_DW_CUST_DATA_H4'
,'TBS_DW_CUST_DATA_H5'
,'TBS_DW_CUST_DATA_H6'
,'TBS_DW_CUST_DATA_H7'
,'TBS_DW_CUST_DATA_H8'
,'TBS_DW_CUST_DATA_H9'
)
order by 1,2;
##################################
---LOB
##################################
ALTER TABLE foo MOVE
TABLESPACE new_tbsp STORAGE(new_storage)
LOB (lobcol) STORE AS lobsegment
(TABLESPACE new_tbsp STORAGE (new_storage));
##################################
---月空间占用情况
##################################
select SYS_CONTEXT ('USERENV', 'db_name') db_name,'JUN',t2.tablespace_name,round(sum(t1.bytes)/1024/1024/1024 ) as GB
from dba_segments t1,tb_sys_tab_partitions t2
where 1=1
and t1.segment_name= t2.table_name
and t1.partition_name like '%200706%'
and t2.tablespace_name not like '%0'
and t1.segment_type='TABLE PARTITION'
and t2.owner<>'DGDM_ODS'
group by t2.tablespace_name
order by 1,2,3;
select sys_context ('USERENV', 'db_name') db_name,t.tablespace_name,round(sum(bytes/(1024*1024*1024)),0) "ts_size(G)"
from sys.dba_tablespaces t, sys.dba_data_files d
where t.tablespace_name = d.tablespace_name
and t.tablespace_name like '%3'
and t.tablespace_name <>'TBS_ODS_DATA_3'
group by t.tablespace_name
order by 1,2;
select segment_name,sum(bytes)/1024/1024 MB
from dba_segments
where segment_name in
(select TAble_name from tb_sys_tab_partitions
where tablespace_name like 'TBS_MK_LIST_DATA'
--and table_name like 'TB_MK%'
)
and partition_name like '%200707%'
group by segment_name order by 1;
select segment_name,sum(bytes)/1024/1024 MB
from dba_segments
where segment_name in
(select TAble_name from tb_sys_tab_partitions where 1=1
-- and tablespace_name like 'TBS_MK_LIST_DATA'
and table_name like 'TB_MK_LS%'
)
and partition_name like '%200707%'
group by segment_name order by 1;
update dgdm_mk.tb_sys_tab_partitions set tablespace_name='TBS_MK_FACT_DATA' where table_name
IN(
'TB_MK_CL_FX_BILL'
,'TB_MK_SC_CELL_DAY_MID'
,'TB_MK_SC_USER_CELL_WEEK_TEN'
,'TB_MK_SC_USER_DAY'
,'TB_MK_SC_USER_DTAL'
,'TB_MK_SC_USER_PLUS_DAY'
);
TB_MK_CL_FX_BILL | 16
TB_MK_SC_CELL_DAY_MID | 5432
TB_MK_SC_USER_CELL_WEEK_TEN | 1
TB_MK_SC_USER_DAY | 6428
TB_MK_SC_USER_DTAL | 7224
TB_MK_SC_USER_PLUS_DAY | 4814
--Using the GROUPING SETS Clause: Example
SELECT channel_desc, calendar_month_desc, co.country_id,
TO_CHAR(sum(amount_sold) , '9,999,999,999') SALES$
FROM sales, customers, times, channels, countries co
WHERE sales.time_id=times.time_id
AND sales.cust_id=customers.cust_id
AND sales.channel_id= channels.channel_id
AND customers.country_id = co.country_id
AND channels.channel_desc IN ('Direct Sales', 'Internet')
AND times.calendar_month_desc IN ('2000-09', '2000-10')
AND co.country_id IN ('UK', 'US')
GROUP BY GROUPING SETS(
(channel_desc, calendar_month_desc, co.country_id),
(channel_desc, co.country_id),
( calendar_month_desc, co.country_id) );
CHANNEL_DESC CALENDAR CO SALES$
-------------------- -------- -- --------------
Direct Sales 2000-09 UK 1,378,126
Direct Sales 2000-10 UK 1,388,051
Direct Sales 2000-09 US 2,835,557
Direct Sales 2000-10 US 2,908,706
Internet 2000-09 UK 911,739
Internet 2000-10 UK 876,571
Internet 2000-09 US 1,732,240
Internet 2000-10 US 1,893,753
Direct Sales UK 2,766,177
Direct Sales US 5,744,263
Internet UK 1,788,310
Internet US 3,625,993
2000-09 UK 2,289,865
2000-09 US 4,567,797
2000-10 UK 2,264,622
2000-10 US 4,802,459
发表评论
-
常用oracle操作(二)
2007-10-08 16:43 2783------------------------------- ... -
Java数据库连接池技术
2007-09-12 17:35 2082Java数据库连接池技术 ... -
mysql双机热备份
2007-06-29 14:34 1664mysql从3.23.15版本以后提供数据库复制功能。利用该功 ... -
oracel 常用操作(一)
2007-06-29 10:29 1116查看存储过程内容:select text from user_ ... -
关于分布式事务
2006-10-09 11:49 1621分布式事务 分布式事务 ...
相关推荐
工作中常用oracle操作,一些基本操作,存储过程等等工作中常用oracle操作,一些基本操作,存储过程等等
### Linux下Oracle常用操作知识点详解 #### 一、概述 在Linux环境下管理Oracle数据库时,掌握一系列常用的命令是非常重要的。这些命令可以帮助我们有效地监控、维护和优化数据库性能。本文将详细介绍Linux下Oracle...
本篇文章将深入探讨Oracle的一些常用操作,帮助用户更好地理解和掌握Oracle数据库的日常管理。 1. 数据库安装与配置 Oracle的安装通常涉及多个步骤,包括选择安装类型(如客户端、服务器或开发环境)、配置全局...
自己常用的Oracle 操作类,写写小程序很好用。简单实用。
Oracle dba常用操作,很基础很详细。
根据提供的标题、描述以及部分内文,我们可以整理出关于Oracle数据库的一些常用操作及查询语句。这些内容对于初学者来说非常实用,可以帮助他们快速掌握如何管理和查询Oracle数据库中的信息。 ### Oracle的一些常用...
oracle数据库常用操作语句,实现对用户的管理和权限管理。
oracle常用操作技巧,包括oracle安装步骤、网络配制、EM、备份、RMAN的备份与恢复、逻辑备份、闪回、ASM(管理存储软件)、数据迁移、安全控制、oracle安装及常规操作、SQL语句、函数、SQL语句、权限、体系结构、空间...
这条语句可以捕捉 Oracle 数据库中运行时间很久的 SQL 语句,结果显示用户名、会话 ID、操作名称、进度、剩余时间和 SQL 语句文本。 11. 查看数据表的参数信息 SELECT partition_name, high_value, high_value_...
oracle表空间常用操作,包括表空间剩余使用大小、名称及大小、物理文件的名称及大小 、回滚段名称及大小 、控制文件 、日志文件 、数据库的创建日期和归档方式 、创建表空间、修改表空间等操作,供大家参考。
#### 三、有效利用Oracle数据字典 Oracle的数据字典由一系列表和视图组成,存储了关于数据库的所有元数据信息,如用户信息、权限、对象定义等。这些信息对于数据库管理员来说至关重要。 - **常用数据字典查询:** ...
针对Oracle数据库,常用的操作指令可以分为数据控制语句(DML)、数据定义语句(DDL)以及查询语句(SELECT)三个部分。 首先,数据控制语句(DML)部分包括插入(INSERT)、删除(DELETE)和更新(UPDATE)等基本...
本文主要涵盖了在Oracle数据库中进行的一些常用操作,包括DOS下的命令、用户管理、系统参数查看与修改,以及在Linux环境下数据库的进程和内存查看,以及如何配置数据库自动启动。 首先,我们来看DOS下的Oracle常用...
### Oracle DBA常用运维命令详解 #### 一、SQLPLUS工具使用 **1. 运行SQLPLUS工具** - **命令**: `sqlplus` - **描述**: SQL*Plus 是 Oracle 提供的一个强大的命令行工具,用于执行 SQL 命令、脚本文件等。 - **...
`ConnForOracle` 类通过封装常用的数据库操作,极大地简化了 C# 应用程序与 Oracle 数据库之间的交互过程。它不仅提供了基础的连接管理和 SQL 执行功能,还包含了高级特性如数据分页和哈希表自动插入数据库等,为...
以下是一些常用的Oracle数据库操作命令和相关知识点: 1. **SQL*Plus**:这是Oracle提供的一个命令行工具,用于执行SQL查询和数据库管理命令。你可以通过它连接到数据库,执行DDL(数据定义语言)、DML(数据操纵...
Oracle存储过程常用技巧 Oracle存储过程是一种强大的数据库对象,它可以帮助开发者简化复杂的业务逻辑,并提高数据库的安全性和性能。在 Oracle 中,存储过程是一种特殊的 PL/SQL 程序,它可以接受输入参数,执行...
### Oracle 常用命令与操作指南 #### 一、Oracle 安装与卸载注意事项 **1.1 Oracle 的安装** - **安装步骤:** 对于 Oracle 的安装,网络上有很多详细的指导教程。在安装过程中,需要注意的是,管理口令部分确保...
根据提供的文件信息,我们可以整理出一系列关于Oracle数据库管理和操作的重要知识点。下面将详细解析这些知识点,并尽可能地提供更多的背景信息和实用建议。 ### 1. 启动与停止Oracle服务 - **启动Oracle服务**: ...
下面我们将详细介绍 Oracle 常用的 CMD 命令,帮助新手快速了解相关的操作。 一、连接数据库 在使用 Oracle 之前,需要连接到数据库。我们可以使用 sqlplus 命令连接到数据库。sqlplus 是 Oracle 的命令行工具,...