Oracle基本命令

前言:... 3

连接数据库:... 3

使用sql*plus连接oracle. 3

命令方式... 3

文件操作命令... 3

显示和设置环境变量... 3

查看当前所有表... 4

查询当前日期... 4

查看本用户下的各种对象的SQL脚本... 4

表空间管理... 5

概述:... 5

查看表空间的名字和所属文件... 5

创建表空间:... 6

修改表空间并为表空间添加物理文件:... 6

增加表空间大小的四种方法... 6

修改物理文件大小... 6

修改用户表table的表空间... 7

查询所有用户表:... 7

删除表空间:... 7

移动表至另一表空间... 7

建立临时表空间... 7

设定后查看表空间信息... 7

用户管理:... 7

创建用户... 7

概述:... 7

创建用户... 8

查看当前用户所属角色:... 8

查看当前用户的缺省表空间... 8

查看某用户所拥有的对象:... 8

查看某用户的所有表:... 8

给用户修改密码... 8

删除用户... 8

角色管理... 9

1.connect角色... 9

2.resource角色... 9

3.dba角色... 9

4:创建角色:... 9

5:给角色授权:... 10

6:把某个角色的权限赋予某个用户... 10

7:显示所有角色... 10

Oracle表的管理... 10

表名和列的命名规则... 10

oracle支持的数据类型... 10

字符类... 10

数字型... 11

日期类型... 11

日期类型相关函数和格式转换函数的使用... 11

图片... 13

创建表的案例... 13

建一个和a表结构一样的空表... 13

创建序列(名称为:myCus_seq)... 14

SQL编程语法:... 14

循环的语句格式:... 14

自定义函数和使用... 15

创建函数... 15

Oracle创建函数(function)... 15

案例1:... 15

案例2:... 16

存储过程相关:... 16

1、基本语法... 16

写一个简单的例子修改emp表的ename字段... 16

有返回值的存储过程... 17

Oracle创建包... 17

概述:... 17

1、创建包规范... 17

实例:... 18

用pl/sql developer导出表结构和数据... 19

1、点击Tools--Export User Objects 19

2、如果想将表中数据一起导出,可用Tools--Export Tables 19

第一种是导出为.dmp的文件... 19

第二种是导出为.sql文件:... 19

第三种是导出为.pde格式:... 19

前言:

连接数据库:

使用sql*plus连接oracle

命令方式

1.conn[ect]

用法:conn 用户名/密码@网络服务名[as
sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper

远程连接:sqlplus
usr/pwd@//host:port/sid 如:conn sys/admin@127.0.0.1:1521/orcl as sysdba;

2.disc[onnect]

说明: 该命令用来断开与当前数据库的连接

3.psssw[ord]

说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用sys/system登录。4.show user

说明: 显示当前用户名

5.exit

说明: 该命令会断开与数据库的连接,同时会退出sql*plus

文件操作命令

1.start和@

说明: 运行sql脚本

案例: sql>@
d:\a.sql或是sql>start
d:\a.sql

2.edit

说明: 该命令可以编辑指定的sql脚本

案例:
sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开

3.spool

说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。

案例:
sql>spool d:\b.sql 并输入 sql>spool off

显示和设置环境变量

概述:可以用来控制输出的各种格式,show all可以显示当前相关的设置

1.linesize

说明:设置显示行的宽度,默认是80个字符

show linesize

set linesize 90

查看当前所有表:

select * from tab;

查询当前日期

select
to_char(sysdate,'yyyy-mm-dd,hh24:mi:ss') from dual;

查看本用户下的各种对象的SQL脚本

SQL语句:

表:

  select *
from cat;

  select *
from tab;

  select
table_name from user_tables;

视图:

  select text
from user_views where view_name=upper('&view_name');

索引:

  select
index_name,table_owner,table_name,tablespace_name,status from user_indexes
order by table_name;

触发器:

  select
trigger_name,trigger_type,table_owner,table_name,status from user_triggers;

快照:

  select
owner,name,master,table_name,last_refresh,next from user_snapshots order by
owner,next;

同义词:

  select *
from syn;

序列:

  select *
from seq;

数据库链路:

  select *
from user_db_links;

约束限制:

  select
TABLE_NAME,CONSTRAINT_NAME,SEARCH_CONDITION,STATUS from user_constraints;

本用户读取其他用户对象的权限:

  select *
from user_tab_privs;

本用户所拥有的系统权限:

  select *
from user_sys_privs;

用户:

  select *
from all_users order by user_id;

表空间剩余自由空间情况:

  select
tablespace_name,sum(bytes) 总字节数,max(bytes),count(*) from dba_free_space group by tablespace_name;

数据字典:

  select
table_name from dict order by table_name;

锁及资源信息:

  select *
from v$lock;不包括DDL锁

数据库字符集:

  select
name,value$ from props$ where name='NLS_CHARACTERSET';

inin.ora参数:

  select
name,value from v$parameter order by name;

SQL共享池:

  select
sql_text from v$sqlarea;

数据库:

  select *
from v$database

控制文件:

  select *
from V$controlfile;

重做日志文件信息:

  select *
from V$logfile;

来自控制文件中的日志文件信息:

  select *
from V$log;

来自控制文件中的数据文件信息:

  select *
from V$datafile;

NLS参数当前值:

  select *
from V$nls_parameters;

ORACLE版本信息:

  select *
from v$version;

描述后台进程:

  select *
from v$bgprocess;

查看版本信息:

  select *
from product_component_version;

表空间管理

概述:

Oracle表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象。否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Oracle会提示:没有存储配额。因此,在创建对象之前,首先要分配存储空间。分配存储,就要创建表空间

Oracle可以创建的表空间有三种类型:

(1)TEMPORARY: 临时表空间,用于临时数据的存放;创建临时表空间的语法如下:CREATE TEMPORARY
TABLESPACE "SAMPLE"。。。。。。

(2)UNDO : 还原表空间。用于存入重做日志文件。创建还原表空间的语法如下:CREATE UNDOTABLESPACE "SAMPLE"。。。。。。

(3)用户表空间: 最重要,也是用于存放用户数据表空间可以直接写成: CREATE TABLESPACE"SAMPLE"TEMPORARY 和 UNDO 表空间是Oracle 管理的特殊的表空间。只用于存放系统相关数据。

查看表空间的名字和所属文件

select tablespace_name, file_id, file_name,

round(bytes/(1024*1024),0) total_space

from dba_data_files

order by tablespace_name;

创建表空间:

创建表空间名称为:epet_tablespace

表空间的物理文件位置:E:\oracle\product\10.2.0\oradata\JBITDB\EPET.DBF
大小为100M

CREATE TABLESPACE epet_tablespace

DATAFILE 'E:\oracle\product\10.2.0\oradata\JBITDB\EPET.DBF'

SIZE 100M;

修改表空间并为表空间添加物理文件:

ALTER TABLESPACE
JIANGWFTABLESPACE ADD DATAFILE
'E:\PROJECTS\ZHONGHUA\PROJECT\DATABASE\ZHONGHUA\JIANGWFTABLESPACE2.DBF'

size   50m;

ALTER
TABLESPACE "TEMPTABLESPACE" ADD DATAFILE 'E:\PROJECTS\ZHONGHUA\PROJECT\DATABASE\ZHONGHUA\JIANGWFTABLESPACE2.ORA'

SIZE 5M AUTOEXTEND ON NEXT 100K MAXSIZE
UNLIMITED

增加表空间大小的四种方法

Meathod1:给表空间增加数据文件

ALTER TABLESPACE app_data ADD DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'
SIZE 50M;

Meathod2:新增数据文件,并且允许数据文件自动增长

ALTER TABLESPACE app_data ADD DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF'
SIZE 50M

AUTOEXTEND ON NEXT 5M MAXSIZE 100M;

Meathod3:允许已存在的数据文件自动增长

ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'

AUTOEXTEND ON NEXT 5M MAXSIZE 100M;

Meathod4:手工改变已存在数据文件的大小

ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF'

RESIZE 100M;

修改物理文件大小

alter database datafile
'E:\PROJECTS\ZHONGHUA\PROJECT\DATABASE\ZHONGHUA\JIANGWFTABLESPACE3.DBF'

resize 10M

修改用户表table的表空间

alter table 表名 move tablespace 新表空间名;

查询所有用户表:

select * from user_tables;

删除表空间:

drop tablespace 表空间名称

移动表至另一表空间

alter table move tablespace room1;

建立临时表空间

CREATE TEMPORARY TABLESPACE temp_data

TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf'
SIZE 50M

设定后查看表空间信息

SELECT A.TABLESPACE_NAME,A.BYTES
TOTAL,B.BYTES USED, C.BYTES FREE,

(B.BYTES*100)/A.BYTES "%
USED",(C.BYTES*100)/A.BYTES "% FREE"

FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED
B,SYS.SM$TS_FREE C

WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME
AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

用户管理:

创建用户

概述:在oracle中要创建一个新的用户使用create
user语句,一般是具有dba(数据库管理员)的权限才能使用。

语法格式:create user 用户名 identified by 密码;

创建用户

create user EPET

identified by "BDQN"

default tablespace "EPET_TABLESPACE"

temporary tablespace "DIAOCHA_TEMP"

profile DEFAULT

ACCOUNT UNLOCK;

给用户赋予某个角色的权限:

grant 角色 to QIUDING;

grant unlimited tablespace to QIUDING

查看当前用户所属角色:

select * from user_role_privs;

查看当前用户的缺省表空间

select username,default_tablespace from
user_users;

查看某用户所拥有的对象:

SELECT owner,object_name, object_type FROM
dba_objects WHERE owner= 'EPET';

查看某用户的所有表:

select * from all_tables where owner='SHOPXP';--用户名称为“SHOPXP”的所有表

给用户修改密码

概述:如果给自己修改密码可以直接使用

password 用户名

如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限

alter user 用户名 identified by 新密码

删除用户

概述:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有drop
user的权限。

比如 drop user 用户名 【cascade】

在删除用户时,注意:

如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade;

权限说明:

创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令revoke。

角色管理

1.connect角色

connect角色具有一般应用开发人员需要的大部分权限,当建立了一个用户后,多数情况下,只要给用户授予connect和 resource角色就够了,那么connect角色具有哪些系统权限呢?

alter session

create table

create view

create sequence create cluster

create database link

create session

2.resource角色

resource角色具有应用开发人员所需要的其它权限,比如建立存储过程,触发器等。这里需要注意的是 resource角色隐含了unlimited tablespace系统权限。

resource角色包含以下系统权限:

create cluster

create indextype

create table

create sequence  create type

create procedure

create trigger

3.dba角色

dba角色具有所有的系统权限,及with admin option选项,默认的dba用户为sys和system,它们可以将任何系统权限授予其他用户。但是要注意的是dba角色不具备sysdba和sysoper的特权(启动和关闭数据库)。

自定义角色.

顾名思义就是自己定义的角色,根据自己的需要来定义。一般是dba来建立,如果用别的用户来建立,则需要具有create role的系统权限。在建立角色时可以指定验证方式(不验证,数据库验证等)。

4:创建角色:

CREATE ROLE "QIUDINGROLE" NOT
IDENTIFIED;

把角色赋予某个用户

GRANT "CONNECT" TO
"QIUDINGROLE";

GRANT "DBA" TO
"QIUDINGROLE";

GRANT "RESOURCE" TO
"QIUDINGROLE";

5:给角色授权:

grant select on scott.emp to 角色名;

grant insert, update, delete on scott.emp
to 角色名;

6:把某个角色的权限赋予某个用户

grant 角色名 to 用户名称

GRANT DBA TO用户名称;

GRANT resource TO用户名称;

7:显示所有角色

SQL> select * from dba_roles;

Oracle表的管理

表名和列的命名规则

· 必须以字母开头

· 长度不能超过30个字符

· 不能使用oracle的保留字

· 只能使用如下字符 A-Z,a-z,0-9,$,#等

oracle支持的数据类型

字符类

char   
定长 最大2000个字符。

例子:char(10)  ‘小韩’前四个字符放‘小韩’,后添6个空格补全 如‘小韩      ’ varchar2(20)  变长  最大4000个字符。

例子:varchar2(10)
‘小韩’ oracle分配四个字符。这样可以节省空间。

clob(character large object) 字符型大对象 最大4G

char 查询的速度极快浪费空间,查询比较多的数据用。

varchar 节省空间

数字型

number范围 -10的38次方 到 10的38次方,可以表示整数,也可以表示小数 :number(5,2)表示一位小数有5位有效数,2位小数

范围:-999.99到999.99

number(5) 
表示一个5位整数

范围99999到-99999

日期类型

date 包含年月日和时分秒   oracle默认格式 
1-1月-1999

timestamp 这是oracle9i对date数据类型的扩展。可以精确到毫秒。

日期类型相关函数和格式转换函数的使用

获取系统日期:  SYSDATE()

格式化日期:    TO_CHAR(SYSDATE(),'YY/MM/DD HH24:MI:SS)

或        TO_DATE(SYSDATE(),'YY/MM/DD HH24:MI:SS)

格式化数字:    TO_NUMBER

注:     TO_CHAR 
把日期或数字转换为字符串

TO_CHAR(number, '格式')

TO_CHAR(salary, '$99,999.99')

TO_CHAR(date, '格式')

TO_DATE  把字符串转换为数据库中的日期类型

TO_DATE(char, '格式')

TO_NUMBER  将字符串转换为数字

TO_NUMBER(char, '格式')

返回系统日期,输出 25-12月-09

select sysdate from dual;

mi是分钟,输出 2009-12-25 14:23:31

select to_char(sysdate,'yyyy-MM-dd
HH24:mi:ss') from dual;

mm会显示月份,输出 2009-12-25 14:12:31

select to_char(sysdate,'yyyy-MM-dd
HH24:mm:ss') from dual;

输出 09-12-25
14:23:31

select to_char(sysdate,'yy-mm-dd
hh24:mi:ss') from dual

输出 2009-12-25
14:23:31

select to_date('2009-12-25
14:23:31','yyyy-mm-dd,hh24:mi:ss') from dual

而如果把上式写作:

select to_date('2009-12-25
14:23:31','yyyy-mm-dd,hh:mi:ss') from dual

则会报错,因为小时hh是12进制,14为非法输入,不能匹配。

输出 $10,000,00 :

select to_char(1000000,'$99,999,99') from
dual;

输出
RMB10,000,00 :

select to_char(1000000,'L99,999,99') from
dual;

输出 1000000.12 :

select trunc(to_number('1000000.123'),2)
from dual;

select to_number('1000000.123') from dual;

转换的格式:

表示 year 的:y 表示年的最后一位

yy 表示年的最后2位 、

yyy 表示年的最后3位 、

yyyy 用4位数表示年

表示month的: mm 用2位数字表示月 、

mon 用简写形式, 比如11月或者nov 、

month 用全称, 比如11月或者november

表示day的: dd  表示当月第几天

ddd 表示当年第几天 、

dy  当周第几天,简写,
比如星期五或者fri 、

day 当周第几天,全称, 比如星期五或者friday

表示hour的:hh   2位数表示小时 12进制 、

hh24 2位数表示小时 24小时

表示minute的:mi 2位数表示分钟

表示second的:ss 2位数表示秒 60进制

表示季度的:q 一位数 表示季度 (1-4)

另外还有ww 用来表示当年第几周 w用来表示当月第几周。

24小时制下的时间范围:00:00:00-23:59:59

12小时制下的时间范围:1:00:00-12:59:59

数字格式:  9  代表一个数字

0  强制显示0

$  放置一个$符

L  放置一个浮动本地货币符

.  显示小数点

,  显示千位指示符

补充:

当前时间减去7分钟的时间

select sysdate,sysdate - interval '7'
MINUTE from dual;

当前时间减去7小时的时间

select sysdate - interval '7' hour from
dual;

当前时间减去7天的时间

select sysdate - interval '7' day from
dual;

当前时间减去7月的时间

select sysdate,sysdate - interval '7' month
from dual;

当前时间减去7年的时间

select sysdate,sysdate - interval '7' year
from dual;

时间间隔乘以一个数字

select sysdate,sysdate - 8*interval '7'
hour from dual;

图片

blob 二进制数据
可以存放图片/声音 
4G   一般来讲,在真实项目中是不会把图片和声音真的往数据库里存放,一般存放图片、视频的路径,如果安全需要比较高的话,则放入数据库。

创建表的案例

--创建好了表空间和用户student后

--用student用户登录,就可以创建表了

create table grade

(

gradeid number primary key,

name varchar2(29),

location varchar2(30)

)

--create sequence seq_grade increment by 1
start with 1 nomaxvalue nocycle

--nocache;

--create or replace trigger tri_grade
before insert on grade for each row

--begin

--
select seq_grade.Nextval into:new.gradeid from dual;

--end

insert into grade(gradeid,name,location)
values(1,'jiangwf','shenzhen');

insert into grade(gradeid,name,location)
values(2,'zhulei','shenzhen');

insert into grade(gradeid,name,location)
values(3,'jianghaoyu','shenzhen');

select * from grade

create table 学生表

(

学生编号 number
primary key,

学生姓名
varchar2(50),

学生地址
varchar2(50)

);

insert into 学生表(学生编号,学生姓名,学生地址) values(1,'jiangwf','shenzhen');

insert into 学生表(学生编号,学生姓名,学生地址) values(2,'zhulei','shenzhen');

insert into 学生表(学生编号,学生姓名,学生地址) values(3,'jianghaoyu','shenzhen');

建一个和a表结构一样的空表

create table b as select * from a where
1=2;

create table b(b1,b2,b3) as select a1,a2,a3
from a where 1=2;

创建序列(名称为:myCus_seq)

CREATE SEQUENCE myCus_seq

START WITH 1

INCREMENT BY 1

NOMAXVALUE

CACHE 10;

SQL编程语法:

循环的语句格式:

declare

x number;

begin

x:=0;

loop

x:=x+1;

if x>=3 then

exit;

end if;

dbms_output.put_line('内部x='||x);

end loop;

dbms_output.put_line('外部x='||x);

end;

/

-------------------------------------------------------------

begin

for i in 1..5 loop

dbms_output.put_line('内部i='||i);

end loop;

dbms_output.put_line('结束');

end;

/

---------------------------------------------------------------

declare

x number;

begin

x:=0;

while x<=3 loop

x:=x+1;

dbms_output.put_line('内部x='||x);

end loop;

dbms_output.put_line('外部x='||x);

end;

/

自定义函数和使用

创建函数

Oracle创建函数(function)

1、基本语法规则如下:

create or replace function (Name in type,
Name in type, ...) return number is

Result number;

begin

return (Result);

end ;

----例子---------------------------------------------------------------------

create or replace function getmastername(uid
number) return varchar2

as

mname varchar2(50);

begin

select 
loginid into mname from master where master.id=uid;

return mname;

end;

案例1:

create or replace function
jiangwf.getUserName(userid varchar2)

return varchar2

is

uName varchar2(50);

begin

select nvl(UserName,'') into uName from
jiangwf.UserInfo where UserNo=userid;

return uName;

end;

调用函数

select jiangwf.getUserName(UserNo),jiangwf.UserInfo.UserPWD
from jiangwf.UserInfo

*********************************************************************************************

案例2:

创建函数

create or replace function
jiangwf.getUserPWD(userid varchar2)

return varchar2

is

UserPassWord varchar2(50);

begin

select nvl(UserPWD,'') into UserPassWord
from jiangwf.UserInfo where UserNo=userid;

return UserPassWord;

end;

调用:

select
jiangwf.UserInfo.*,jiangwf.getUserPWD(UserNo) from jiangwf.UserInfo;

存储过程相关:

1、基本语法

create or replace procedure update_emp_sal

(Name in out type,

Name
in out type, ...

) is

begin

end update_emp_sal;

写一个简单的例子修改emp表的ename字段

create or replace procedure update_emp

(

v_empno 
varchar2,

v_ename 
varchar2

) is

begin

update emp set
ename=v_ename where empno=v_empno;

end update_emp;

调用方法如下:

exec 
update_emp('7935','test');

有返回值的存储过程

就写一个简单的返回empno=7935的sal值

create or replace procedure emp_out_sal

(

v_empno in varchar2,

v_sal out number

) is

vsal
number(7,2);

begin

select sal into vsal from emp where
empno=v_empno;

v_sal:=vsal;

end;

调用有返回值的过程

var vsal number

exec emp_out_sal('7935',:vsal);

PL/SQL procedure successfully completed

vsal

---------

700

SQL> var vsal number

SQL> call emp_out_sal('7935',:vsal);

Method called

vsal

---------

700

Oracle创建包

概述:

包用于组合逻辑相关的过程和函数,它由包规范和包体两个部分组成。包规范用于定义公用的常量、变量、过程和函数,创建包规范可以使用CREATE PACKAGE命令,创建包体可以使用CREATE PACKAGE BODY

1、创建包规范

create package emp_pkg is

procedure emp_update_ename(v_empno
varchar2,v_ename varchar2);

function emp_get_sal(v_empno varchar2) return
number;

end;

创建包体

create or replace package body emp_pkg

is

procedure emp_update_ename

(

v_empno varchar2,

v_ename varchar2

)

is

vename varchar2(32);

begin

update emp set ename=v_ename where empno=v_empno;

commit;

select ename into vename from emp where empno=v_empno;

dbms_output.put_line('雇员名称:'||vename);

end;

function emp_get_sal

(

v_empno varchar2

)

return number is

vsal number(7,2);

begin

select sal into vsal from emp where empno=v_empno;

return vsal;

end;

end;

在此提示,在没有创建包规范就创建包体,会失败,要使用包,必须先创建包规范,然后在创建包体

当要调用包的过程和函数时,在过程和函数的名称前加上包名作为前缀(包名.子程序名称),而如果要访问其他方案的包时需要在包的名称前加上方案的名称(方案名称.包名.子程序名称)

实例:

SQL> var vsla number

SQL> call emp_pkg.emp_get_sal('7935')
into :vsal;

Method called

vsal

---------

700

SQL> exec
emp_pkg.emp_update_ename('7935','helong');

雇员名称:helong

SQL> call
emp_pkg.emp_update_ename('7935','helong');

Method called

SQL> select * from dual;

DUMMY

-----

X

用pl/sql developer导出表结构和数据

1、点击Tools--Export
User Objects

这种方式可以导出当前用户拥有的所有对象,包括表、视图、触发器、同义词等等,对于表,只能导出表结构,不能导出数据,选中要导出的对象,设置好导出的路径和各个参数后,点击Export就OK

PS:这种方式还可以导出其他用户的对象,在下面user下拉框中选择要用户就可以,默认是系统当前登录用户

2、如果想将表中数据一起导出,可用Tools--Export Tables:

这种方式导出的文件,本身就带着创建表结构的sql语句 选中要导出的表(可选多个),导出方式有三种:

Oracle Export,Sql Insert,pl/sql developer

第一种是导出为.dmp的文件:

.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广

第二种是导出为.sql文件:

可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob),如果有,会提示不能导出,可以用第一种和第三种方式导出。

第三种是导出为.pde格式:

.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出;不能用编辑器查看,效率不知道怎么样

PS:只有“Oracle Export”方式导出再导入后,表结构和索引结构没有发生变化,另两种方式都改变了索引类型。
导入的情况和导出一样

oracle的常规操作(基本命令)的更多相关文章

  1. Oracle user,role,profile常规操作--用户,权限,角色,配置文件

    Oracle user,role,profile常规操作--用户,权限,角色,配置文件 1 权限查询 1查看所有用户 SQL> select username,account_status,lo ...

  2. Linux 下的 netfilter 认识与常规操作

    Linux 下的 netfilter 认识与常规操作 前言 博客写到今天,1年7个月.可是包含所有写作经历,这个时间线可以达到三年. 上次更新了一篇 "镇站之宝" ,也是本站阅读量 ...

  3. 数据库mysql的常规操作

    1. 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进 ...

  4. Learn Docker(一)—软件安装与常规操作

    一.安装Docker Windows平台 在Windows10 X64专业版上可以直接下载Docker原生应用进行安装,在控制面板的程序与功能里启用Hyper-v,之后就可以运行docker程序啦. ...

  5. postgresql 常规操作以及检查备份

    一.建表时,复制源表的信息test=# test=# \d test.t1 Table "test.t1" Column | Type | Collation | Nullable ...

  6. postgres 常规操作杂记

    分布式:1.扩容不方便(数据重分布)2.分布键变更很麻烦3.分布键选择(架构设计)谨慎4.跨库join性能差5.分布式事务性能差6.sql限制多,功能确实多7.应用改造成本巨大8.全局一致性时间点恢复 ...

  7. Oracle数据库基础操作语法

    转载自:https://www.cnblogs.com/fallen-seraph/p/10685997.html 一.登录Oracle数据库 首先运行Oracle数据库: 默认的有两个账号: 管理员 ...

  8. oracle数据库误操作把表删除了,怎样恢复

    一:表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有:1.从flash back里查询被删除的表 select * from re ...

  9. FTP服务器常规操作

    导读 FTP协议是Internet文件传输的基础,它是由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据.下面就由我给大家简单介绍一下 ...

随机推荐

  1. bzoj1036 count 树链剖分或LCT

    这道题很久以前用树链剖分写的,最近在学LCT ,就用LCT再写了一遍,也有一些收获. 因为这道题点权可以是负数,所以在update时就要注意一下,因为平时我的0节点表示空,它的点权为0,这样可以处理点 ...

  2. JDK源码(1.7) -- java.util.List<E>

    java.util.List<E> 源码分析(JDK1.7) --------------------------------------------------------------- ...

  3. iOS自定义全屏返回与tableView左划删除手势冲突解决

    当自定义一个navigationController实现全屏右划返回时, 使用起来是不是很爽, 代码如下: - (void)viewDidLoad { [super viewDidLoad]; UIG ...

  4. linux下如何启动sybase

    isql -Dxxx -Uxxx -P111111 用isql连接数据库发现数据库没有启动. 如何启动sybase数据库? [TA_SYBASE][/home/bta]su - sybase  //切 ...

  5. gridview 空数据绑定

    private void getDataBind() { DataTable dt = new DataTable(); dt.Columns.Add("id"); dt.Colu ...

  6. Java过滤任意(script,html,style)标签符,返回纯文本--封装类

     import java.util.regex.Pattern;   /**  * 过滤标签字符串,返回纯文本  *  */ public class ChangePlainText {        ...

  7. 【java失业择业中】失业第四天:准备面试

    1.jQuery基础 学好jquery的一个基础条件是学好css层叠样式,因为很多时候这2个是一块配合使用的. 页面中很多需要jquery实现的效果只是通过jquery的选择器,选中要操作的元素,添加 ...

  8. Linux下查找命令(收集整理)

    原文:http://blog.csdn.net/sunstars2009918/article/details/8510878 一.Linux查找文件的相关命令 常 用 命 令 简要中文说明 程序所在 ...

  9. Javascript:父类可以调用子类吗?

    问:父类可以调用子类吗? 答:可以,经典的模板方法模式就是用的这个特性.

  10. [Android Studio] Android Studio中查看类的继承关系

    转载自:http://blog.csdn.net/hyr83960944/article/details/38098091 查看类的继承关系的快捷键F4,在Android Studio常用快捷键这篇文 ...