当前位置:文档之家› oracle 常用命令

oracle 常用命令

--关闭数据库Oracle自动搜集功能
alter system set "_optimizer_autostats_job"=false scope=spfile
--修改表的默认表空间
alter table 表名 move tablespace 表空间名;
--修改索引表空间
ALTER INDEX 索引名 REBUILD tablespace 表空间名;
--修改LOB类型默认表空间
ALTER TABLE SIGNATUREWORD MOVE LOB(IMAGE) STORE AS (TABLESPACE CZDJ);
--创建数据表空间(表空间名称CZDJ,表空间文件大小1024M,数据文件满后自动扩展增量100MB,文件大小无限制)
create tablespace CZDJ(表空间名)
datafile 'd:\oracle\product\10.2.0\oradata\orcl\ CZDJ.dbf'(存放路径)
size 1024m AUTOEXTEND ON
NEXT 100m maxsize unlimited;
--创建临时表空间
create temporary tablespace dzdj31cz_temp (表空间名)
tempfile 'd:\oracle\product\10.2.0\oradata\orcl\dzdj31cz_temp01.dbf'
size 32M
autoextend on
next 32M maxsize 2048M
extent management local;
本地管理表空间:extent management local
字典管理表空间:extent management dictionary
--修改表空间
alter database datafile 'D:\oracle\product\10.2.0\oradata\orclzhaowei\test.dbf' resize 10m;
alter database datafile 'D:\oracle\product\10.2.0\oradata\orclzhaowei\test.dbf' autoextend on next 50m maxsize unlimited;
--创建用户并指定表空间
create user 用户名 identified by 密码
default tablespace 默认表空间
temporary tablespace 临时表空间;
--修改用户密码
alter user 用户名 identified by 密码;
--给表空间增加数据文件
ALTER TABLESPACE sde
ADD DATAFILE 'D:\oracle\product\10.2.0\oradata\orcl\sde01.dbf' size 20480M autoextend on next 50M maxsize unlimited;
--给用户授予权限
grant connect,dba,resource to 用户名
--给用户解锁
alter user username account unlock;
--OraOLEDB.Oracle.1没有注册解决方法:
regsvr32 D:\oracle\product\10.2.0\db_1\BIN\OraOLEDB10.dll
--查询表空间状态
select tablespace_name,status from dba_tablespaces;
--表空间离线在线:离线的表空间无法访问,用于数据维护。
操作命令:
SQL> alter tablespace users offline;
Tablespace altered.
SQL> alter tablespace users online;
Tablespace altered.
--将表空间置为只读模式和读写模式:
SQL> alter tablespace users read only;
Tablespace altered.
SQL> alter tablespace users read write;
Tablespace altered.
--删除表空间:
SQL> drop tablespace 表空间名 including contents and datafiles;
Tablespace dropped.
--重新指定数据库中所有用户临时表空间
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP;
--重新指定用户的临时表空间
alter user 用户名 temporary tablespace temp;
--创建表
create table RY_TAB
(
RYID INTEGER,
RYBH NVARCHAR2(64),
DLMC NVARCHAR2(64),
DLMM NVARCHAR2(64),
RYXM NVARCHAR2(64),
RYXB NVARCHAR2(2),
LSBM NVARCHAR2(128),
RYZW NVARCHAR2(64),
RYDH NVARCHAR2(64),
RYLX NVARCHAR2(64),
RYTX

BLOB,
DZYX NVARCHAR2(255),
RYSJ NVARCHAR2(64),
DZQM BLOB,
SFHF INTEGER,
BZ1 NVARCHAR2(255),
BZ2 NVARCHAR2(255),
BZ3 NVARCHAR2(255),
BZ4 NVARCHAR2(255),
SGZGZSH NVARCHAR2(32),
LSDW NVARCHAR2(128)
)
tablespace FYCZDJ
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 128
minextents 1
maxextents unlimited
);
-- 创建主键
create unique index PK_RYID on RY_TAB (RYID)
tablespace FYCZDJ
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 128K
minextents 1
maxextents unlimited
);
--创建索引
create index PK_RY_RYBH on RY_TAB (RYBH)
tablespace FYCZDJ
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 128K
minextents 1
maxextents unlimited
);
--修改表结构
增加字段:alter talbe 表名 add 字段名 类型(宽度[,小数位] )
修改字段:alter table 表名 alter column 字段名 类型(宽度[,小数位] )
重命名字段:alter table 表名 rename column 字段名 TO 新字段名
删除字段:alter table 表名 drop column 字段名

--简单的基本的sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ‘%value1%’
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1

--插入数据
insert into 表名(字段1、字段2....)
Values(值1、值2....)

--查询并插入数据
insert into 目标表 select * from 源表名(用于两个表结构完成相同)
insert into 目标表 (字段1、字段2....) select 字段1、字段2.... from 源表名(用于两个表结构不相同)
--查询
a)select landinfo.sjdbh,tt_sjd.sjdbh from landinfo,tt_sjd where landinfo.sjdbh=tt_sjd.sjdbh
select * from landinfo,tt_sjd where landinfo.sjdbh=tt_sjd.sjdbh
b)select landinfo.sjdbh,tt_sjd.sjdbh from landinfo inner join tt_sjd on landinfo.sjdbh=tt_sjd.sjdbh
select * from landinfo inner join tt_sjd on landinfo.sjdbh=tt_sjd.sjdbh
c)select * from landinfo where landinfo.sjdbh in (select tt_sjd.sjdbh from tt_sjd where tt_sjd.sjdbh=landinfo.sjdbh)
left join 左连接 返回左表中的值(如:a表、b表,则返a表的值与b表中对应的一一对应,不对应的则显示空)
right join 右连接 返回右表中的值(如:a表、b表,则返b表的值与a表中对应的一一对应,不对应的则显示空)
d)四表联查问题
select * from a left join b on a.a=b.b left join c on a.a=c.c left join d on a.a=d.d
e)获取前10条记录
se

lect * from landinfo where rownum<=10
--关于查询中的+号,左连接
用(+)来实现,这个+号可以这样来理解:+ 表示补充,即哪个表有加号,这个表就是匹配表。
所以加号写在右表,左表就是全部显示,故是左连接。
SQL> Select * from dave a,bl b where a.id=b.id(+); -- 注意: 用(+) 就要用关键字where
ID NAME ID NAME
---------- ---------- ---------- ----------
1 bl 1 dave
1 dave 1 dave
2 dave 2 bl
2 bl 2 bl
3 dba 3 big bird
4 sf-express 4 exc
5 dmm
8 安庆
--关于查询中的+号,右连接
用(+)来实现, 这个+号可以这样来理解: + 表示补充,即哪个表有加号,这个表就是匹配表。
所以加号写在左表,右表就是全部显示,故是右连接。
SQL> Select * from dave a,bl b where a.id=b.id(+); -- 注意: 用(+) 就要用关键字where
ID NAME ID NAME
---------- ---------- ---------- ----------
1 bl 1 dave
1 dave 1 dave
2 dave 2 bl
2 bl 2 bl
3 dba 3 big bird
4 sf-express 4 exc
5 dmm
8 安庆

--更新
a)根据条件更新(多表、连接、截取)
update tt_idea t set t.jbyj='该户为持证抵押贷款,房地产最高抵押金额为'|| substr((select j.je
from tt_txqz j where j.sjdbh like 'TX%' and j.sjdbh=t.sjdbh and length(j.je)=6 ),1,2)|| substr((select j.je
from tt_txqz j where j.sjdbh like 'TX%' and j.sjdbh=t.sjdbh and length(j.je)=5 ),1,1)||substr((select j.je
from tt_txqz j where j.sjdbh like 'TX%' and j.sjdbh=t.sjdbh and length(j.je)=7 ),1,3)||substr((select j.je
from tt_txqz j where j.sjdbh like 'TX%' and j.sjdbh=t.sjdbh and length(j.je)=8 ),1,4)||'万元。抵押期限为'
||to_char((select j.qsrq from tt_txqz j where j.sjdbh like 'TX%' and j.sjdbh=t.sjdbh),'yyyy') ||
'年' || to_char((select j.qsrq from tt_txqz j where j.sjdbh like 'TX%' and j.sjdbh=t.sjdbh),'MM') ||
'月'|| to_char((select j.qsrq from tt_txqz j where j.sjdbh like 'TX%' and j.sjdbh=t.sjdbh),'dd') ||'日至'
||to_char((select j.zzrq from tt_txqz j where j.sjdbh like 'TX%' and j.sjdbh=t.sjdbh),'yyyy')||'年'
||to_char((select j.zzrq from tt_txqz j where j.sjdbh like 'TX%' and j.sjdbh=t.sjdbh),'MM') ||'月'
||to_char((select j.zzrq from tt_txqz j where j.sjdbh like 'TX%' and j.sjdbh=t.sjdbh),'dd') ||'止。'
where t.sjdbh='TX01201000269' or t.sjdbh='TX01201000266'
or t.sjdbh='TX01201000268' or t.sjdbh='TX01201000270' or t.sjdbh='TX01201000271'
or t.sjdbh='TX01201000257' or t.sjdbh='TX01201000256' or t.sjdbh='TX01201000258'
or t.sjdbh='TX01201000259' or t.sjdbh='TX01201000262' or t.sjdbh='TX01201000264'
or t.sjdbh='TX01201000265' and t.jbyj is null
b)简单更新
update landinfo set landinfo.qlrdm='3411821990

12014419' where landinfo.sjdbh=(select tt_sjd.sjdbh from tt_sjd where tt_sjd.sjdbh=landinfo.sjdbh)
--筛选重复的数据
select distinct(tt_idea.sjdbh) from tt_idea
--查询重复的数据
select * from tt_idea where tt_idea.sjdbh in (select tt_idea.sjdbh from tt_idea group by tt_idea.sjdbh having count(*)>1)
--删除的数据
delete from tt_idea where tt_idea.sjdbh in (select tt_idea.sjdbh from tt_idea group by tt_idea.sjdbh having count(*)>1)
--删除的数据保留ID最大的一条数据
delete from tt_idea where tt_idea.sjdbh in (select tt_idea.sjdbh from tt_idea group by tt_idea.sjdbh having count(*)>1) and
tt_idea.ideaid not in (select max(tt_idea.ideaid) from tt_idea group by tt_idea.sjdbh having count(tt_idea.sjdbh)>1)
--查询数据库的字符集
select userenv('language') from dual;
--修改字符集方法:
在开始-运行中输入sqlplusw /nolog ;
Conn / as sysdba
shutdown immediate
startup mount
alter system enable restricted session;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open;
alter database character set internal_use ZHS16GBK;
shutdown immediate
startup

--备份数据库:
使用Oracle中的exp命令,以用户方式备份所有相关数据。
exp czdj(用户名)/密码@czdj(数据库名) file=d:\czdj%DATE%.dmp log=d:\czdj%DATE%.log owner=(czdj) consistent=y;
注:在*.bat文件里面不可以添加log=d:\czdj%DATE%.log,进行写导出日志。在开始—运行中可以添加。
有的时候使用%DATE%写出来的日期是/分开年月日的,操作系统不支持,这时候需要把/转换成-来分开年月日。
exp bzdj/bzdj@orcl file=d:\bzdj%DATE:-=0%.dmp owner=(bzdj) consistent=y

--恢复数据库:
使用Oracle中的imp命令,以用户方式还原所有相关数据。
imp czdj(用户名)/密码@czdj(数据库名) file=d:\原文件.dmp log=d:\czdj%DATE%.log full=y ignore=y statistics=none buffer=10000000;

--创建存储过程
CREATE OR REPLACE PROCEDURE "PRO_CREATEEDITZDHIS" (
BZYJ In String ,--修改意见
TPARID IN INT, --现趋宗地ID
DJH In String, --地籍号 用于新增宗地
strsjdbh In String --收件单编号
)

as
begin
declare
v_djh VARCHAR2(30);
v_gyzbh VARCHAR2(10);
v_cxbz INTEGER;
v_qlrmc VARCHAR2(100);
v_qlryb VARCHAR2(8);
v_qlrdm VARCHAR2(36);
v_qlrxz VARCHAR2(36);
v_zgbm VARCHAR2(50);
v_frxm VARCHAR2(50);
v_frdm VARCHAR2(20);
v_frdh VARCHAR2(18);
v_dlrxm VARCHAR2(10);
v_dlrdm VARCHAR2(20);
v_dlrdh VARCHAR2(18);
v_txdz VARCHAR2(100);
v_qsxz INTEGER;
v_zzrq DATE;
v_tddj VARCHAR2(10);
v_spdj NUMBER(20,2);
v_syqmj NUMBER(30,2);
v_ftmj

NUMBER(30,2);
v_syqlx VARCHAR2(32);
v_dzsymj NUMBER(30,2);
v_gymj NUMBER(30,2);
v_tdsyqx VARCHAR2(20);
v_sjdbh VARCHAR2(128);
v_spbbh VARCHAR2(50);
v_ghkbh VARCHAR2(50);
v_zsbh VARCHAR2(50);
v_bddj NUMBER(20,2);
v_sbdj NUMBER(30,2);
v_jzrjl VARCHAR2(24);
v_jzmd VARCHAR2(24);
v_jzzmj NUMBER(30,2);
v_jzxg VARCHAR2(10);
v_jzzdmj NUMBER(30,2);
v_jzwlx VARCHAR2(40);
v_sbjzwqs VARCHAR2(128);
v_qslywj VARCHAR2(256);
v_cfbz INTEGER ;
--v_gyqqk VARCHAR2(128);
v_dybz INTEGER;
v_djbz INTEGER;
v_dylx INTEGER;
v_isvalid INTEGER;
v_czbz INTEGER;
v_doing INTEGER;
v_zdh VARCHAR2(10);
v_zqdm VARCHAR2(6);
v_szzqdm VARCHAR2(6);
v_jddm VARCHAR2(6);
v_szxzcdm VARCHAR2(6);
v_jfdm VARCHAR2(16);
v_zdzl VARCHAR2(100);
v_zdmj NUMBER(30,2);
v_zdsz VARCHAR2(128);
v_zddl VARCHAR2(16);
v_lzddl VARCHAR2(50);
v_gddl VARCHAR2(16);
v_pzytdm VARCHAR2(10);
v_pzyt VARCHAR2(22);
v_sjytdm VARCHAR2(10);
v_sjyt VARCHAR2(22);
v_zdly VARCHAR2(300);
v_tfbh VARCHAR2(150);
--v_dcyxm VARCHAR2(20);
-- v_dcrq DATE;
v_ydcmj NUMBER(30,2);
--v_kzyxm VARCHAR2(20);
--v_kzrq DATE;
--v_shrxm VARCHAR2(20);
--v_shrq DATE;
v_dcbbh VARCHAR2(32);
v_xzbz INTEGER;
v_zdlx INTEGER;
v_createdate DATE;
--v_qsdcjs VARCHAR2(400);
--v_djkzjs VARCHAR2(400);
--v_shyj VARCHAR2(100);
v_qsms VARCHAR2(200);
--v_zyjzdwsm VARCHAR2(400);
-- v_qsjxsm VARCHAR2(400);
v_ybdjh VARCHAR2(20);
v_qsrq DATE;
v_zsfw VARCHAR2(10);
v_zslx VARCHAR2(10);
v_zsnf NUMBER;
v_zsxh VARCHAR2(50);
v_zxbz INTEGER;
v_zslb INTEGER;
v_fzbz INTEGER;
v_zxrq DATE;
v_qdjg VARCHAR2(32);
v_zzdate DATE;
v_zsbz VARCHAR2(400);
v_fzjg VARCHAR2(128);
v_changedate date;
v_houseno varchar2(20);
v_dybh varchar2(50);
v_roomno varchar2(20);
v_blrq Date;
v_jzmj number(30,2);
v_sbzj NUMBER(30,2);
v_bdbz VARCHAR2(20);
v_sbdjbz VARCHAR2(20);
v_sbzjbz VARCHAR2(20);
v_FGZ varchar2(32);
v_FGNH varchar2(8);
v_FGNUM varchar2(16);
v_FGZH varchar2(56);
v_hisid Varchar2(128);
LFHISID Integer;
v_dcdmj NUMBER(20,2);
v_gzwzdmj NUMBER(20,2);
v_xmztze NUMBER(20,2);
v_jzwxs NUMBER(10,2);

--新增属性字段变量
v_ZJZL VARCHAR2(20);
v_QLSLQK VARCHAR2(20);
v_TJTDQLZSH VARCHAR2(50);
v_ZGDYJE VARCHAR2(50);
v_ISYG INTEGER;
v_ISYCFBS INTEGER;
v_ISYY INTEGER;

v_QLRDH VARCHAR2(20);
v_DLRZJZL VARCHAR2(20);
v_FRZJZL VARCHAR2(20);
v_ISDIYI INTEGER;
begin
-- Select sysdate into v_changedate From dual;


----------------------
Select djh, gyzbh, cxbz, qlrmc, qlryb, qlrdm, qlrxz, zgbm,
frxm, frdm, frdh, dlrxm, dlrdm, dlrdh, txdz, qsxz,
zzrq, tddj, spdj, syqmj, ftmj, syqlx, dzsymj, gymj,
tdsyqx, sjdbh, spbbh, ghkbh, zsbh, bddj, sbdj, jzrjl,
jzmd, jzzmj, jzxg, jzzdmj, jzwlx, sbjzwqs, qslywj, cfbz,
--gyqqk,
dybz, djbz, dylx, isvalid, czbz, doing, zdh, zqdm,
szzqdm, jddm, szxzcdm, jfdm, zdzl, zdmj, zdsz, zddl,
gddl, pzytdm, pzyt, sjytdm, sjyt, zdly, tfbh,
-- dcyxm, dcrq,
ydcmj,
-- kzyxm, kzrq, shrxm, shrq,
dcbbh, xzbz, zdlx, createdate,
--qsdcjs, djkzjs, shyj,
qsms,
--zyjzdwsm, qsjxsm,
ybdjh,qsrq,
zsfw, zslx, zsnf, zsxh, zxbz, zslb, fzbz, zxrq, qdjg, zzdate, zsbz, fzjg,
houseno,dybh,roomno,blrq,jzmj,sbzj,bdbz,sbdjbz,sbzjbz,FGZ,FGNH,FGNUM,FGZH,
DCDMJ ,GZWZDMJ ,XMZTZE ,JZWXS,
--新增属性字段
ZJZL,TJTDQLZSH,QLSLQK,ZGDYJE,ISYG,ISYCFBS,ISYY,qlrdh,dlrzjzl,frzjzl,isdiyi
Into v_djh, v_gyzbh, v_cxbz, v_qlrmc, v_qlryb, v_qlrdm, v_qlrxz, v_zgbm,
v_frxm, v_frdm, v_frdh, v_dlrxm, v_dlrdm, v_dlrdh, v_txdz, v_qsxz,
v_zzrq, v_tddj, v_spdj, v_syqmj, v_ftmj, v_syqlx, v_dzsymj, v_gymj,
v_tdsyqx, v_sjdbh, v_spbbh, v_ghkbh, v_zsbh, v_bddj, v_sbdj, v_jzrjl,
v_jzmd, v_jzzmj, v_jzxg, v_jzzdmj, v_jzwlx, v_sbjzwqs, v_qslywj, v_cfbz,
-- v_gyqqk,
v_dybz, v_djbz, v_dylx, v_isvalid, v_czbz, v_doing, v_zdh, v_zqdm,
v_szzqdm, v_jddm, v_szxzcdm, v_jfdm, v_zdzl, v_zdmj, v_zdsz, v_zddl,
v_gddl, v_pzytdm, v_pzyt, v_sjytdm, v_sjyt, v_zdly, v_tfbh,
--v_dcyxm, v_dcrq,
v_ydcmj,
--v_kzyxm, v_kzrq, v_shrxm, v_shrq,
v_dcbbh, v_xzbz, v_zdlx, v_createdate,
-- v_qsdcjs, v_djkzjs, v_shyj,
v_qsms,
-- v_zyjzdwsm, v_qsjxsm,
v_ybdjh, v_qsrq,
v_zsfw, v_zslx, v_zsnf, v_zsxh, v_zxbz, v_zslb, v_fzbz, v_zxrq, v_qdjg, v_zzdate, v_zsbz, v_fzjg,
v_houseno,v_dybh,v_roomno,v_blrq,v_jzmj,v_sbzj,v_bdbz,v_sbdjbz,v_sbzjbz,v_FGZ,v_FGNH,v_FGNUM,v_FGZH,
v_dcdmj,v_gzwzdmj,v_xmztze,v_jzwxs,
--新增属性字段
v_ZJZL,v_TJTDQLZSH,v_QLSLQK,v_ZGDYJE,v_ISYG,v_ISYCFBS,v_ISYY,v_QLRDH,v_DLRZJZL,v_FRZJZL,v_ISDIYI

From landinfo Where LANDINFOID=TPARID;
--------------------------------------------------

v_lzddl := BZYJ;
v_sjdbh :=Null;

--将landinfohis表中该

地籍号的以前记录的doing状态置为0
Update landinfohis Set doing=0 Where djh=v_djh;

select landinfohisseq.Nextval,sysdate into LFHISID,v_changedate From dual;
Insert Into landinfohis
(landinfohisid, parid, djh, gyzbh, cxbz, qlrmc, qlryb, qlrdm, qlrxz, zgbm, frxm, frdm,
frdh, dlrxm, dlrdm, dlrdh, txdz, qsxz, zzrq, tddj, spdj, syqmj, ftmj,
syqlx, dzsymj, gymj, tdsyqx, sjdbh, spbbh, ghkbh, zsbh, bddj, sbdj, jzrjl,
jzmd, jzzmj, jzxg, jzzdmj, jzwlx, sbjzwqs, qslywj, cfbz,
--gyqqk,
dybz, djbz,
dylx, isvalid, czbz, doing, zdh, zqdm, szzqdm, jddm, szxzcdm, jfdm, zdzl,
zdmj, zdsz, zddl, lzddl, gddl, pzytdm, pzyt, sjytdm, sjyt, zdly, tfbh,
--dcyxm, dcrq,
ydcmj,
--kzyxm, kzrq, shrxm, shrq,
dcbbh, xzbz, zdlx, createdate,
--qsdcjs, djkzjs, shyj,
qsms,
--zyjzdwsm, qsjxsm,
ybdjh, qsrq, zsfw, zslx, zsnf,
zsxh, zxbz, zslb, fzbz, zxrq, qdjg, zzdate, zsbz, fzjg, hisid,changedate,
houseno,dybh,roomno,blrq,jzmj,sbzj,bdbz,sbdjbz,sbzjbz,FGZ,FGNH,FGNUM,FGZH,
DCDMJ ,GZWZDMJ ,XMZTZE ,JZWXS,
--新增属性字段
ZJZL,TJTDQLZSH,QLSLQK,ZGDYJE,ISYG,ISYCFBS,ISYY,qlrdh,dlrzjzl,frzjzl,ISDIYI)
Values
(LFHISID,TPARID,v_djh, v_gyzbh, v_cxbz, v_qlrmc, v_qlryb, v_qlrdm, v_qlrxz, v_zgbm, v_frxm, v_frdm,
v_frdh, v_dlrxm, v_dlrdm, v_dlrdh, v_txdz, v_qsxz, v_zzrq, v_tddj, v_spdj,v_syqmj, v_ftmj,
v_syqlx, v_dzsymj, v_gymj, v_tdsyqx,strsjdbh, v_spbbh,v_ghkbh, v_zsbh, v_bddj, v_sbdj, v_jzrjl,
v_jzmd, v_jzzmj,v_jzxg, v_jzzdmj, v_jzwlx, v_sbjzwqs, v_qslywj, v_cfbz,
-- v_gyqqk,
v_dybz, v_djbz,
v_dylx, v_isvalid, v_czbz, v_doing, v_zdh, v_zqdm,v_szzqdm, v_jddm, v_szxzcdm, v_jfdm, v_zdzl,
-- 插入landinfohis表中时将doing字段与landinfo表中保持一致
v_zdmj,v_zdsz, v_zddl, v_lzddl,v_gddl,v_pzytdm,v_pzyt, v_sjytdm, v_sjyt, v_zdly, v_tfbh,
--v_dcyxm,v_dcrq,
v_ydcmj,
--v_kzyxm, v_kzrq, v_shrxm, v_shrq,
v_dcbbh,v_xzbz, v_zdlx, v_createdate,
--v_qsdcjs, v_djkzjs,v_shyj,
v_qsms,
--v_zyjzdwsm, v_qsjxsm,
v_ybdjh, v_qsrq, v_zsfw, v_zslx, v_zsnf,
v_zsxh, v_zxbz, v_zslb, v_fzbz, v_zxrq, v_qdjg, v_zzdate, v_zsbz, v_fzjg,v_hisid,v_changedate,
v_houseno,v_dybh,v_roomno,v_blrq,v_jzmj,v_sbzj,v_bdbz,v_sbdjbz,v_sbzjbz,v_FGZ,v_FGNH,v_FGNUM,v_FGZH ,
v_dcdmj,v_gzwzdmj,v_xmztze,v_jzwxs,
--新增属性字段
v_ZJZL,v_TJTDQLZSH,v_QLSLQK,v_ZGDYJE,v_ISYG,v_ISYCFBS,v_ISYY,v_QLRDH,v_DLRZJZL,v_FRZJZL,v_ISDIYI);

COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
end;
end;

--视图的创建:
CREATE[OR REPLACE][FORCE][NOFORCE]VIEW view_name

[(column_name)[,….n]]

AS

Select_statement

[WITH CHECK OPTION[CONSTRAINT constraint_name]]

[WITH READ ONLY]

说明:

view_nam

e : 视图的名字

column_name: 视图中的列名

在下列情况下 , 必须指定视图列的名称

* 由算术表达式 , 系统内置函数或者常量得到的列

* 共享同一个表名连接得到的列

* 希望视图中的列名与表中的列名不同的时候

REPLACE: 如果创建视图时, 已经存在此视图, 则重新创建此视图, 相当于覆盖

FORCE: 强制创建视图, 无论的视图所依赖的基表否存在或是否有权限创建

NOFORCE: 只有基表存在且具有创建视图权限时, 才可以创建视图

WITH CHECK OPTION 指出在视图上所进行的修改都要符合select_statement 所指定的限制条件

WITH READ ONLY 只允许查看视图

视图的定义原则:
1. 视图的查询可以使用复杂的 SELECT 语法,包括连接 / 分组查询和子查询;
2. 在没有 WITH CHECK OPTION 和 READ ONLY 的情况下,查询中不能使用
ORDER BY 子句;
3. 如果没有为 CHECK OPTION 约束命名,系统会自动为之命名,形式为 SYS_Cn;
4.OR REPLACE 选项可以不删除原视图便可更改其定义并重建,或重新授予对象
权限。

--创建视图
create or replace view view_archives as
Select his.sjdbh,his.gyzbh,
his.zqdm,
his.qlrmc,
his.qlrdm,
his.QLRXZ,
dt_dt.dtcontent As qsxz,
tdzsh.zzdate as pzdate,
his.zsbh,
his.zdzl,
his.zdsz,
his.zdh,
his.djh,
his.gymj,
his.dzsymj,
his.ftmj,
his.pzyt,
his.syqlx,
his.TDSYQX,
curcase.casename,
curcase.syssubname,
https://www.doczj.com/doc/c315473372.html,ndinfohisid,
his.hisid
From landinfohis his, curcase, dt_dt,tdzsh
Where
tdzsh.sjdbh = his.sjdbh and
curcase.RECIEVENO(+) = his.sjdbh
And his.doing = 0
And his.qsxz = dt_dt.dtcode
And dt_dt.dttype = '权属性质'

--删除视图
DROP VIEW VIEW_NAME

--oracle 升级
1.停止oracle服务
2.运行补丁升级文件包,下拉选择要升级的数据库,安装结束。
注:有关ORACLE的窗口都要关闭
3.重启oracle服务;
运行sqlplusw /nolog 打开sqlplus
conn / as sysdba; 以管理员身份登陆
--SQL> STARTUP NOMOUNT 开启数据库例程
--设置ORACLE_HOME和ORACLE_SID环境变量[shared_pool_size和java_pool_size各大于150M]
--SQL> ALTER SYSTEM SET SHARED_POOL_SIZE='150M' SCOPE=spfile;
--SQL> ALTER SYSTEM SET JAVA_POOL_SIZE='150M' SCOPE=spfile;
--SQL> SHUTDOWN IMMEDIATE 关闭数据库例程
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catupgrd.sql
注:执行过程中绝对不能关闭sqlplus,否则,很严重的后果。
SQL> SPOOL OFF
SQL> SHUTDOWN IMMEDIATE 关闭数据库例程
SQL> STARTUP 开启数据库
SQL> @?/rdbms/admin/utlrp.sql //如果提示找不到文件,则需要指定路径。
SQL> Shutdown immediate 关闭数据库例程
SQL> Startup

开启数据库例程
打开服务重新启动oracle服务
例如:
内存2G 单个CPU
db_block_size[缓冲区大小] 是8192 bytes
SGA [ORACLE数据库的系统全局区]=0.55*2048M=1126.4M左右
建议 shared_pool_size[共享池大小] = 200M ,
db_block_buffer[数据缓冲区] *db_block_size [缓冲区大小]= 800M
具体(只是作为参照 根据不同情况请自己设置):
shared_pool_size[共享池大小]=209715200 #200M
db_block_buffer[数据缓冲区]=103192 #800M
log_buffer[日志缓冲区] = 131072 # 128k (128K*CPU个数)
large_pool_size[大型池大小]= 31457280 #30M
java_pool_size [JAVA池大小]= 20971520 # 20 M
sort_area_size []= 524288 # 512k (65k--2M)
sort_area_retained_size = 524288 # MTS 时 sort_area_retained_size = sort_area_size

--重建密码文件(ORA-01219问题解决)
sqlplusw /nolog
SQL>conn /as sysdba
已连接。
SQL> shutdown immediate
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
ORA-01991: ???????'E:\oracle\ora92\DATABASE\PWDora9i.ORA'

SQL> host del E:\oracle\ora92\DATABASE\PWDora9i.ORA
SQL> host orapwd file=E:\oracle\ora92\DATABASE\PWDora9i.ORA password=oraclepwd entries=10
SQL> alter database open;
数据库已更改。
SQL> shutdown immediate
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕

--OracleDBConsoleorcl 服务无法启动
cmd命令:C:\Documents and Settings\wangnc>emctl start dbconsole
提示:Environment variable ORACLE_SID not defined. Please define it.
设置Oracle_sid环境变量:
C:\Documents and Settings\wangnc>set oracle_sid=orcl
C:\Documents and Settings\wangnc>emctl start dbconsole
OC4J Configuration issue. C:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole_WWW-D79AC60CC61_orcl_orcl not found.
复制目录改成系统提示的文件夹名,再运行emctl start dbconsole
又会报一个类似的错误提示,另一个目录,同样处理。重启后服务终于可以正常启动了。
访问 http://127.0.0.1:1158/em

--调整数据库从非归档模式至归档模式(设置自动生成日志)
conn / as sysdba
archive log list;查看当前数据库运行模式
shutdown immediate 关闭数据库
startup mount 启动实例
alter database archivelog;修改数据库为归档
alter database open; 启动数据库
archive log list;查看当前数据库运行模式
创建文件夹
cmd--md d:\backup、md

d:\bak
conn / as sysdba
alter system set log_archive_start=true scope=spfile; 修改初始化参数(启动自动归档)
show parameter log_archive_start;查看是否为自动
shutdown immediate 关闭数据库
startup 重新启动数据库
show parameter log_archive_start;查看是否为自动
alter system set log_archive_max_processes=3; 设置归档进程个数
alter system set log_archive_dest_1="location=d:\bak";设置归档存放路径
alter system set log_archive_dest_2="location=d:\backup";设置归档存放路径
alter system set log_archive_format='arch_%T_%S_%R.arc' scope=spfile; 设置归档后的日志文件名
shutdown immediate 关闭数据库
startup 重新启动数据库
alter system switch logfile;强制生成测试

相关主题
文本预览
相关文档 最新文档