Oracle手边常用命令及操作语句

作者:白宁超

时间:2016年3月4日11:24:08

摘要:日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码、表空间、多表联合、执行语句等常规操作。另外表的导入导出也很常用,这些脚步命令之前都做有总结,今统一整理出最为常用的语句,使用方便而已。

1 oracle数据安装相关

oracle安装后自动生成sys(默认密码sysdba,最高权限)和system(管理员操作权限)用户

常用操作:

导出dmp:

exp userbnc/userbnc@MYORCL file=G:\db\temp\alltable.dmp tables=(S_USER,S_RK,S_OUT,S_CK,S_HW,S_WP,S_KC,S_YG)

导入dmp:

imp userbnc/userbnc@MYORCL file=G:\db\temp\alltable.dmp full=y

执行脚本:

@脚本名.sql

数据库MYORCL全部导出

exp userbnc/userbnc@MYORCL file=G:\db\temp\all.dmp full=y

imp userbnc/userbnc@MYORCL file=G:\db\temp\all.dmp full=y ignore=y

数据库MYORCL中userbnc用户导出

exp userbnc/userbnc@MYORCL file=G:\db\temp\yonghu.dmp owner=(userbnc)

exp userbnc/userbnc@MYORCL file=G:\db\temp\yonghu.dmp owner=(userbnc)

数据库MYORCL中S_USER,S_RK,S_OUT,S_CK,S_HW,S_WP,S_KC,S_YG表导出

exp userbnc/userbnc@MYORCL file=G:\db\temp\alltable.dmp tables=(S_USER,S_RK,S_OUT,S_CK,S_HW,S_WP,S_KC,S_YG)

导出表结构:

exp userbnc/userbnc@MYORCL file=G:\db\temp\alltable.dmp tables=(S_USER,S_RK,S_OUT,S_CK,S_HW,S_WP,S_KC,S_YG) rows=n

处理大表direct=y,速度快

exp userbnc/userbnc@MYORCL file=G:\db\temp\alltable.dmp tables=(S_USER,S_RK,S_OUT,S_CK,S_HW,S_WP,S_KC,S_YG) direct=y

表导不出,则修改:

alter table 表名 allocate extent

可以用tnsping TEST 来获得数据库TEST能否连上。

查询数据库下表名

select table_name from user_tables

查询数据库下用户名

select username from dba_users;

查询所有角色,oracle究竟有多少角色?

select * from dba_roles;

查询oracle中所有对象权限?

select distinct privilege from dba_tab_privs;

查询数据库的表空间

select tablespace_name from dba_tablespaces;

如何查询一个角色包括的    权限?

查询当前数据库全称?

select * from global_name

2 用户相关操作

创建用户与密码

Password [username]

conn username/password

create user [username] identified by [password] ---------dba权限

grant [username] to sysdba

Alter user [username] identified by [password] ---------dba权限

删除用户以及其用户下对象

如果删除的用户已经创建表,则删除时带参数cascade

账户锁定

例子:scott用户最多登录3次,锁定时间2天

create profile [lock_account] limit failed_login_attempts [3] password_lock_time [2]

解锁账户

Alter user [username] account unlock

例子:用户每隔10天修改登录密码,宽限期2天

create profile [username] limit password_life_time [10] password_grace_time [2]

3 表空间相关操作

创建表空间

create tablespace sp0001 datafile 'G:\db\tablespace\sp001.dbf' size 20m uniform size 128k;

扩展表空间

alter tablespace sp0001 add datafile 'G:\db\tablespace\sp002.dbf' size 300m;

删除表空间

drop tablespace sp0001 including contents and datafiles;

使用表空间

create table student(sid number(10) not null,sname varchar(50), ssex char(1), sphone varchar(50),constraint PK_student primary key (sid)) tablespace sp0001;

只读表空间

alter tablespace sp0001 read only;

使表空间脱机

alter tablespace sp0001 offline;

使表空间联机

alter tablespace sp0001 online;

查询数据库中表空间

select tablespace_name from dba_tablespaces;

查询表空间下所有表

select * from all_tables where tablespace_name='sp0001';

查询当前表所在空间

select tablespace_name,table_name from user_tables where table_name='STUDENT';

4 表操作相关

查看表结构

desc [tablename]

alert table 表名 add column 列名
alter table 表名 drop column 列名

授权部分表被查看

grant [select] on [tablename] to [username]

允许授权的对象继续授权

grant [select] on [tablename] to [username] with grant option

回收授权

Revoke [select] on [tablename] from [username]

创建表

create table T_TCM_THESIS (

ID NUMBER not null,

DOCNAME VARCHAR2(512),

YEARS VARCHAR2(128),

DOCTYPE VARCHAR2(128),

SUMMARY VARCHAR2(4000),

AUTHOR VARCHAR2(128),

SOURCE VARCHAR2(2048),

SOURCETYPE VARCHAR2(128),

MEMO VARCHAR2(1024),

TITLE VARCHAR2(512),

ENGLISHTITLE VARCHAR2(512),

AUTHORCOMPANY VARCHAR2(512),

KEYWORD VARCHAR2(512),

CONTENT CLOB,

DIGEST VARCHAR2(4000),

PATH VARCHAR2(256),

DISEASE VARCHAR2(256),

AUDITFLAG NUMBER(1),

constraint PK_TZJ_PINTOOL_THESIS primary key (ID)

);

comment on table T_TCM_THESIS is '中医文献表';

comment on column T_TCM_THESIS.ID is '编号';

comment on column T_TCM_THESIS.DOCNAME is '文献名';

comment on column T_TCM_THESIS.YEARS is '年代';

comment on column T_TCM_THESIS.DOCTYPE is '文献类型';

comment on column T_TCM_THESIS.SUMMARY is '内容提要';

comment on column T_TCM_THESIS.AUTHOR is '作者';

comment on column T_TCM_THESIS.SOURCE is '文献出处';

comment on column T_TCM_THESIS.SOURCETYPE is '文献出处类型';

comment on column T_TCM_THESIS.MEMO is '备注';

comment on column T_TCM_THESIS.TITLE is '标题';

comment on column T_TCM_THESIS.ENGLISHTITLE is '英文标题';

comment on column T_TCM_THESIS.AUTHORCOMPANY is '著者单位';

comment on column T_TCM_THESIS.KEYWORD is '关键词';

comment on column T_TCM_THESIS.CONTENT is '文献内容';

comment on column T_TCM_THESIS.DIGEST is '摘要';

comment on column T_TCM_THESIS.PATH is '文献内容文本文件';

comment on column T_TCM_THESIS.DISEASE is '相关病名';

comment on column T_TCM_THESIS.AUDITFLAG is '是否审核';

创建ID自增

/*创建序列*/

CREATE SEQUENCE EMP_SEQUENCE

INCREMENT BY 1 -- 每次加几个

START WITH 1 -- 从1开始计数

NOMAXVALUE -- 不设置最大值

NOCYCLE -- 一直累加,不循环

NOCACHE -- 不建缓冲区

/*创建触发器*/

create or replace trigger TR_EXA

before insert on T_TCM_THESIS for each row

begin

select to_char(EMP_SEQUENCE.nextval) into :new.id from dual;

end TR_EXA;

查询:

select * from T_TCM_THESIS;

/*创建学生表*/

create table student(

xh number(4),

xm varchar2(20),

sex char(2),

birthday date,

sal number(7,2)

);

/*添加学生表列*/

alter table student add (classid number(2));

insert into student values(1,'张三','男','10-9月-2014',3000,12);

/*修改时间类型*/

alter session set nls_date_format='yyyy--mm--dd';

insert into student values(2,'小明','男','2014-09-10',3000,12);

/*插入空值*/

insert into student(xh,xm,sex,birthday) values(3,'小丽','女',null);

/*条件查询*/

select * from student where birthday is not null;

/*设置保存点*/

savepoint aa;

/*删除表数据*/

delete from student;

/*回滚保存点的数据*/

rollback to aa;

/*删除表结构和数据*/

drop table student;

/*取消重复行*/

select distinct * from student;

/*命令行打开执行时间开关*/

set timing on;

/*命令行查询表结构*/

desc student;

/*设置别名*/

select xh "姓名" from student;

/*in多条件查询*/

select * from student where xm in('张三','小明');

/*order by 的使用*/

select * from student order by xh,sal desc;

update student set sal='3000' where xh=3;

表自身复制

Insert into [tablename](colname1,colname2…) select * form [tablename]

内置函数的空值代替

Select sal*13+nvl(comm,0)+13 "年工资",ename,comm from emp;

合并查询去除重复行

Select ename,sal,job from emp where sal>2500 union

Select ename,sal,job from emp where job='manager'

6 java如何使用数据库

1 加载驱动

Clsss.forName("Sun.jdbc.odbc.TdbcodbcDriver");

2 得到连接

Connection ct =DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:myoral","scott","password");

Statement sm=ct.createStarement();

ResultSet rs=sm.executeQuery("select * from emp");

While(rs.next())

System.out.println("username:"+rs.getString(arg0));

Oracle手边常用命令及操作语句的更多相关文章

  1. Oracle手边常用70则脚本知识汇总

    Oracle手边常用70则脚本知识汇总 作者:白宁超 时间:2016年3月4日13:58:36 摘要: 日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规 ...

  2. TP5常用命令符操作

    ThinkPHP5常用命令符操作   1. 模块自动生成指令:   默认会读取应用目录application下面的build.php作为自动   生成的定义文件,如果你的定义文件位置不同,则需要使用 ...

  3. Git 常用命令及操作总结

    Git常用命令及操作总结 By:授客 QQ:1033553122 利用TortoiseGit克隆源码库到本地 1.安装TortoiseGit 2.打开Git,进入到源码库,点击图示红色选框框选按钮,弹 ...

  4. git 常用命令行操作

    git常用命令行操作: 点击 git bash 进入到命令行: git clone https://github.com/wlz1244/qingoo.git   //下载一个master分支代码 g ...

  5. ZooKeeper常用命令行操作

    ZooKeeper常用命令行操作 通过./zkCli.sh 打开zk的客户端进入命令行后台 ls/ls2 列出当前节点下的子节点 ls2还会列出当前节点的状态 [zk: localhost:2181( ...

  6. Oracle基本常用命令

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  7. Oracle教程-常用命令(二)

    oracle sql*plus常用命令 一.sys用户和system用户Oracle安装会自动的生成sys用户和system用户(1).sys用户是超级用户,具有最高权限,具有sysdba角色,有cr ...

  8. ORACLE 11GR2常用命令

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  9. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(九)Linux下安装redis及redis的常用命令和操作

    redis简介 Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis与其他key-value缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存 ...

随机推荐

  1. pythonchallenge 解谜 Level 5

    第五关的确很坑爹... 不过,根据之前的思路,我想着是把信息放在了 “源码” 中. 翻了下源码.有用的东西在以下部分. <html><head> <title>pe ...

  2. Kafka设计解析(五)- Kafka性能测试方法及Benchmark报告

    本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/12/31/KafkaColumn5_kafka_benchmark 摘要 本文主要介绍了如何利用 ...

  3. SQL存储过程基础(从基础开始学,加油!)

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

  4. C语言的傻瓜式随笔(一):嵌套循环-程序结构

    循环语句的嵌套 一个循环结构内可以含有另一个循环,称为循环嵌套,又称多重循环.常用的循环嵌套是二重循环,外层循环称为外循环,内层循环称为内循环. ---------不知道哪来的基础概念 这是本宝宝的第 ...

  5. 驱动编程:NtReadVirtualMemory

    NtReadVirtualMemory函数位于ntdll中,作用就是把用户态的函数调用翻译成相应的系统调用,进入内核态.内核中一般有一个相同名字的处理函数,接收到该类型的系统调用后做实际的工作. NT ...

  6. PHP中Strict Standards错误解决方法二

    在PHP5.3.3 中安装wordpress 3.0.1 ,在安装时出现错误:Strict Standards: PHP Strict Standards: Declaration of Walker ...

  7. Android 知识杂记(MVP模式)

    MVP的模式在于将原来activity中业务逻辑的部分剥离出来,代码示例如下: Account public class Account { private String mUsername; pri ...

  8. 四核驱动的三维导航—淘宝新UI(设计篇)

    前面有一篇博客说到了淘宝UWP的"四核驱动的三维导航—淘宝新UI(需求分析篇)",花了两周的时间实现了这个框架,然后又陆陆续续用了三周的时间完善它. 多窗口导航,与传统的导航方式的 ...

  9. 浅析用Base64编码的图片优化网页加载速度

    想必大家都知道网页加载的过程,从开始请求,到加载页面,开始解析和显示网页,遇到图片就再次向服务器发送请求,加载图片.如果图片很多的话,就会产生大量的http请求,从而影响页面的加载速度.所以现在有一种 ...

  10. 七天学会ASP.NET MVC (四)——用户授权认证问题

    小编应各位的要求,快马加鞭,马不停蹄的终于:七天学会 Asp.Net MVC 第四篇出炉,在第四天的学习中,我们主要了学习如何在MVC中如何实现认证授权等问题,本节主要讲了验证错误时的错误值,客户端验 ...