ITPub博客

首页 > 数据库 > Oracle > 程序流程档(oracle创建用户表空间同事写的)

程序流程档(oracle创建用户表空间同事写的)

Oracle 作者:iris3002 时间:2013-11-01 15:00:06 0 删除 编辑
gps日志表创建
create table gps.gpslog_2010_6_25( ID    NUMBER not null,BH    VARCHAR2(50),FHSJ  DATE,WD    VARCHAR2(50),JD    VARCHAR2(50),DQSJ  DATE default sysdate,SD    NUMBER default 0,FX    NUMBER default 0,VALID VARCHAR2(10),REAL_DIS NUMBER );
序列创建
create sequence GPS.CAR_TIME_SEQU
minvalue 1
maxvalue 9999999999999999999999999
start with 1
increment by 1
cache 20
cycle;

删除表(记录和结构)的语名delete   ————   truncate      ———— drop


DELETE (删除数据表里记录的语句)   

DELETE FROM表名 WHERE 条件;   

注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused.   

如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 它可以释放占用的数据块表空间   
TRUNCATE TABLE 表名;    
此操作不可回退. 


相同点    
truncate和不带where子句的delete, 以及drop都会删除表内的数据    
注意:这里说的delete是指不带where子句的delete语句    

不同点:    
1. truncate和 delete只删除数据不删除表的结构(定义)    
    drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.    
2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.    
   truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.    
3.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动    
显然drop语句将表所占用的空间全部释放    
truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage;   truncate会将高水线复位(回到最开始).    
4.速度,一般来说: drop>; truncate >; delete    
5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及    
使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大.    
想删除表,当然用drop    
想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete.    
如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据



oracle中删除表中的一列语句 
alter table 表名 drop colum 列名


启动ssh oracle(用户)@192.168.0.21(IP) 然后输入密码  则进入
进入sqlplus-->sqlplus /nolog
sql>connect 用户名/密码  gps/gps

示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中: 
jar cvf classes.jar Foo.class Bar.class 
示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有 
文件存档到一个名为 'classes.jar' 的存档文件中: 
jar cvfm classes.jar mymanifest -C foo/ . 




修改列的长度
alter table tablename modify(col1 varchar2(15))
清空表数据
Truncate Table [表名]
删除列
ALTER TABLE 表名 DROP COLUMN 列名;
删除用户
drop user user_name cascade;  
cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数




1、在ORACLE下以sys(SYSdba)登陆——创建用户——GIS(normal)——授权——OK
2、修改applications...man47下的web.xml文档 (数据库用户名和密码);
3、在plsql中——NEW——CommandWindow——贴入sql语句(0c4jmaps下的TXT文件)——执行——查看TABLES下的表是否安全创建//tools有导入表的工具/不能将2个bmp文件导入给同一个用户;新建一个用户在导入!
4、注册地图-——复制路径——导入数据——查看cmd下 导入状态!
5、程序!

----------------------------------------
oracle创建用户
导入表pl sql
tools-TABLES-import
登陆
D:>set ORACLE_SID=
d:>sqlplus /nolog
sql>conn / as sysdba

创建用户
create user userName identified by password;
创建用户 userName,密码为 password

给用户授权

grant dba to userName; --授予DBA权限
grant unlimited tablespace to userName;--授予不限制的表空间
grant select any table to userName; --授予查询任何表
grant select any dictionary to userName;--授予 查询 任何字典
revoke select on 表名 from 看表的用户名  (收回给别的得用户查看自己的表的权限)
grant select on 表名 to 查看的用户名 with grant option;   (给一用户赋予查看自己表的权限并允许它给别的用户赋予查看的权限)

alter user 用户名 identified by 新密码  (修改用户密码)


//创建数据表空间
create tablespace test_data
logging
datafile 'E:oracleproduct10.2.0oradata estserver est_data01.dbf' 
size 32m 
autoextend on 
next 32m maxsize 2048m
extent management local;

导入导出命令:
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件, imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径,
该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。

下面介绍的是导入导出的实例。
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
   exp system/manager@TEST file=d:daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
   exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
    exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
   exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"

上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。
数据的导入
1 将D:daochu.dmp 中的数据导入 TEST数据库中。
   imp system/manager@TEST file=d:daochu.dmp
   imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
   在后面加上 ignore=y 就可以了。
2 将d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:daochu.dmp tables=(table1)

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11246032/viewspace-1115500/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论