当前位置:文档之家› oracle命令大全

oracle命令大全

oracle命令大全
oracle命令大全

net start oracleservicebinbo

打开监听器

lsnrctl start

关闭服务器

net stop oracleservicebinbo

关闭监听器

lsnrctl stop

===============================================================

清屏

clear screen

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

数据字典===========desc user_views(关键词)

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

===============================================================

查看当前用户的角色

SQL>select * from user_role_privs;

===============================================================

查看当前用户的系统权限和表级权限

SQL>select * from user_sys_privs;

SQL>select * from user_tab_privs;

===============================================================

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

SQL>select username,default_tablespace from user_users;

===============================================================

换用户

conn as sysdba

sys

tsinghua

sqlplus "sys/tsinghua as sysdba"

conn sys/zl as sysdba

===============================================================

修改表结构

alter table test modify(name not null);

alter table test add(name varchar2(20));

===============================================================

更改用户密码

sql>alter user 管理员identified by 密码;

===============================================================

创建表空间的数据文件

sql>create tablespace test datafile 'd:\oracle\binbo.dbf' size 10m;

===============================================================

sql>create user 用户名identified by 用户名;

=============================================================== bfile类型实例

创建目录

create directory tnpdir as 'c:\';

删除目录

drop directory tnpdir

授权

crant read on directory tnpdir to scott;

建表

create table bfiletest(id number(3), fname bfile);

添加数据

insert into bfiletest values(1,bfilename('TMPDIR','tmptest.java'));

=============================================================== 查看用户

sql>show user

=============================================================== 检查语句是否有错

show error

=============================================================== 锁定用户

sql>alter user 用户名account lock

=============================================================== 解除用户

sql>alter user 用户名account unlock

=============================================================== 删除用户

sql>drop user zl;

=============================================================== 给用户创建表权限

sql>grant create table to 用户名;

=============================================================== 授管理员权限

sql>grant dba to 用户名;

=============================================================== 给用户登录权限

sql>grant connect to 用户名

=============================================================== 给用户无限表空间权限

sql>grant unlinmited tablespace to 用户名;

=============================================================== 收回权限

sql>revoke dba from 用户名;

查看用户下所有的表

SQL>select * from user_tables;

===============================================================

查看名称包含log字符的表

SQL>select object_name,object_id from user_objects

where instr(object_name,'LOG')>0;

===============================================================

查看某表的创建时间

SQL>select object_name,created from user_objects where object_name=upper('&table_name');

===============================================================

查看某表的大小

SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments

where segment_name=upper('&table_name');

===============================================================

查看放在ORACLE的内存区里的表

SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;

===============================================================

再添加一个表空间的数据文件

sql>alter tablespace test add datafile 'd:\oracle\test1.dbf' size 10m;

===============================================================

建表SQL>create table studen(stuno int,stuname varchar(8) not null,stubirth date default to_date('1987-5-9','YYYY-MM-DD'));

向表结构中加入一列SQL>alter table studen add(stuphoto varchar(9));

从表结构中删除一列SQL>alter table studen drop column stuphoto;

修改表一列的长度SQL>alter table studen modify(stuno number(4));

隐藏将要删除的一列SQL>alter table studen set unused column stuphoto;

删除隐藏的列SQL>alter table studen drop unused columns;

向表中加入约束SQL>alter table studen add constraint pk primary key(stuno);

删除约束SQL>alter table studen drop constraint pk;

===============================================================

创建表

sql>create table 用户名(name varchar2(20),password varchar(20)) tablespace 用户名;

===============================================================

添加字段

sql>alter table test add(column_x char(10) not null);

===============================================================

更改字段

sql>alter table emp modify(column_x char (20));

删除字段

如待删除域属于某个索引,则不允许删除操作,必须将此域先设置为NULL。sql>alter table emp modify(column_x null);

sql>update emp set column_x=null;

sql>commit;

sql>alter table emp drop(column_x);

===============================================================

选择表空间

sql>alter user 用户名default tablespace test;

===============================================================

管理员删除别的用户中的表

sql>drop table 用户名.表名;

===============================================================

退出

sql>exit;

===============================================================

默认进入

sql>sqlplus "/ as sysdba"

===============================================================

查看数据库

sql>show parameter block;

===============================================================

写大量语句用记事本,新建方式。

输入"ed"回车

保存后

输入"/"运行;

===============================================================

查询用户有多少表

sql>select * from tab;

=============================================================== SQLServer取时间

sql>select getdate

oracle 取时间

sql>sysdate;

===============================================================

操作表结构数据库定义语言命令

(不记录在日志文件中)

create table建表

sql>create table test(name varchar2(20),age date,sex char(2));

sql>insert into test(name,age,sex) values('aa',sysdate,'男');

sql>insert into test(name,age,sex) values('bb',to_date('1888-8-8',"yyyy-aa-dd hh24:mi:ss"),'男'); sql>select * from test;

===============================================================

查询男和女总数

sql>select sex,count(sex) from test group by sex;

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

test表中数据输入test1表中

SQLSserver---select * into test1 from test;

oracle---create table test1 as select * from test;

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

更改会话时间

sql>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

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

sql>show parameter block 表和视图

sql>show parameter date 查数据结构

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

SQLServer中

--删除表中相同数据

sql>create table test1 as select distinct * from test;

--删除表数据

sql>truncate table test;

--把test中数据输入到test1中

sql>insert into test(select * from test1);

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

rowid(表中存储地址相当表id)和rownum(表序号)称伪列(用法)

sql>select name,age,sex,rowid,rownum from test1;

查出前三行

sql>select * from test where rownum<=3;

查出后三行

sql>select * from (select name n,age a,sex s,rownum r from test) where r>(select count(*) from test)-3;

删除后三行

SQL> delete from test where name not in(select name from test where rownum<=(select count(*) from test)-3);

删除相同行

sql>delete from test where rowid not in(select max(rowid) from test group by name,age,sex);

删除所有表

sql>select 'drop table' ||tname|| ':' from tab;

sql>spool c:\test.sql;

sql>select 'drop table' ||tname|| ':' from tab;

sql>spool off

sql>@c:\test.sql;

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

alter table修改表

truncate table节段表(只删除数据)

drop table删除表

===============================================================

查看表结构

desc 表名;

===============================================================

查出成绩的前三名

sql>select * from (select * from stu order by score desc) where rownum<=3;

===============================================================

更改字符集

SQL>startup mount

SQL>alter system enable restricted session;

SQL>alter system set job_queue_processes=0;

SQL>alter database open;

SQL>alter database character set ZHS16GBK;

SQL>shutdown

SQL>startup

===============================================================

将一张表或几张表中的域重新组合后插入新表。

假定原先的两张表为emp,work,现选择部分数据域合并为emp_work

建立emp_work

SQL>insert into emp_new select a.no, sysdate, https://www.doczj.com/doc/b913779564.html,, b.service_duration from emp a, work b where a.no=b.no;

SQL>commit;

这样的方式仍然要使用回滚段,为加快数据迁移速度,可将insert替换成insert /*+APPEND*/(大小写不论),指示oracle以直通方式直接写数据文件,绕过回滚空间。

SQL>insert /*+APPEND*/ into emp_new select a.no, sysdate, https://www.doczj.com/doc/b913779564.html,, b.service_duration from emp a, work b where a.no=b.no;

SQL>commit;

===============================================================

===============================================================

DDL 数据定义语言

DML数据操纵语言

TCL事务控制语言

DCL数据控制语言GRANT REVOKE

===============================================================

一个表中的某一列输到另一个表中

insert into stu1(name)(select name from stu);

===============================================================

事务

rollback;

insert into stu1(name)(select name from stu);

commit;提交

=============================================================== COMMIT - 提交并结束事务处理

ROLLBACK - 撤销事务中已完成的工作

SA VEPOINT –标记事务中可以回滚的点

SQL> update order_master set del_date ='30-8月-05' WHERE orderno <= 'o002';

SQL> savepoint mark1;

SQL> delete FROM order_master WHERE orderno = 'o002';

SQL> savepoint mark2;

SQL> rollback TO SA VEPOINT mark1;

SQL> COMMIT;

=============================================================== 换名

set sqlprompt "scott>";

=============================================================== GRANT 授予权限

SQL> GRANT SELECT ON vendor_master TO accounts WITH GRANT OPTION; REVOKE 撤销已授予的权限

SQL> REVOKE SELECT, UPDA TE ON order_master FROM MARTIN;

=============================================================== 比较操作符

SQL> SELECT vencode,venname,tel_no

FROM vendor_master

WHERE venname LIKE 'j___s';

SQL> SELECT orderno FROM order_master

WHERE del_date IN (‘06-1月-05’,‘05-2月-05');

SQL> SELECT itemdesc, re_level

FROM itemfile

WHERE qty_hand < max_level/2;

=============================================================== 逻辑操作符

SQL> SELECT * FROM order_master

WHERE odate > ‘10-5月-05'

AND del_date < ‘26-5月-05’;

=============================================================== 集合操作符将两个查询的结果组合成一个结果

SQL> SELECT orderno FROM order_master

MINUS

SELECT orderno FROM order_detail;

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

select * from scott.stu

union (all)重复的去掉[intersect把相同的取出来][minus显示不相同的数]

select * from stu

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

显示相同的数据

select name from stu intersect select name from stu1;

连接操作符

连接操作符用于将多个字符串或数据值合并成一个字符串

SQL> SELECT (venname|| ' 的地址是'

||venadd1||' '||venadd2 ||' '||venadd3) address

FROM vendor_master WHERE vencode='V001';

===============================================================

操作符的优先级

SQL 操作符的优先级从高到低的顺序是:

算术操作符--------最高优先级

连接操作符

比较操作符

NOT 逻辑操作符

AND 逻辑操作符

OR 逻辑操作符--------最低优先级

===============================================================

用来转换空值的函数

NVL

NVL2

NULLIF

SELECT itemdesc, NVL(re_level,0) FROM itemfile;

SELECT itemdesc, NVL2(re_level,re_level,max_level) FROM itemfile;

SELECT itemdesc, NULLIF(re_level,max_level) FROM itemfile;

=============================================================== GROUP BY和HA VING子句

GROUP BY子句

用于将信息划分为更小的组

每一组行返回针对该组的单个结果

HA VING子句

用于指定GROUP BY 子句检索行的条件

SELECT p_category, MAX(itemrate) FROM itemfile GROUP BY p_category;

SELECT p_category, MAX(itemrate) FROM itemfile GROUP BY p_category HA VING p_category NOT IN ('accessories');

===============================================================

ROW_NUMBER (row_number)返回连续的排位,不论值是否相等

RANK(rank) 具有相等值的行排位相同,序数随后跳跃

DENSE_RANK(dense_rank) 具有相等值的行排位相同,序号是连续的

SELECT d.dname, e.ename, e.sal, DENSE_RANK()

OVER (PARTITION BY e.deptno ORDER BY e.sal DESC)

AS DENRANK

FROM emp e, dept d WHERE e.deptno = d.deptno;

日期函数

ADD_MONTHS(当前只加月)

alter session set nls_date_format='yyyymmdd hh24miss';

select add_months(sysdate,2) from dual;

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

MONTHS_BETWEEN(前面时间减后面时间=得之间月差)

select months_between(sysdate,to_date('2007-6-10','yyyy-mm-dd')) from dual;

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

LAST_DAY(求得当前月的最后一天)

select last_day(sysdate) from dual;

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

ROUND(round年-月-日-->四舍五入)

select round(2.3) from dual;

select round(to_date('2007-6-10','yyyy-mm-dd'),'year') from dual;

select round(to_date('2007-6-10','yyyy-mm-dd'),'month') from dual;

select round(to_date('2007-6-10','yyyy-mm-dd'),'day') from dual;

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

NEXT_DAY(下一星期的星期二)

select next_day(to_date('2007-6-10','yyyy-mm-dd'),'星期二') from dual;

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

TRUNC(trunc)

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

EXTRACT(extract)

select extract(year from date '1998-03-07') from dual;

select extract(month from to_date ('1998-03-07','yyyy-mm-dd')) from dual;

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

2008年2月有多少天

inbo---->select extract(day from last_day(to_date ('2008-02-07','yyyy-mm-dd'))) from dual;

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

2003-4-3与1956-3-1之间有多少天

inbo---->select

round(months_between(to_date('2003-4-3','yyyy-mm-dd'),to_date('1956-3-1','yyyy-mm-dd'))/12) from dual;

===============================================================

把两边的9去掉

select trim('9' from '9999ddddddd99999') from dual;

去空格

select trim(' ' from ' 9999ddddddd99999') from dual;

=============================================================== 函数输入输出

Initcap(char) Select initcap(‘hello’) from dual;Hello Lower(char) Select lower(‘FUN’) from dual;fun

Upper(char) Select upper(‘sun’) from dual;SUN

Ltrim(char,set) Select ltrim( ‘xyzadams’,’xyz’) from dual; adams

Rtrim(char,set) Select rtrim(‘xyzadams’,’ams’) from dual; xyzad

Translate(char, from, to) Select translate(‘jack’,’j’ ,’b’) from dual;back

Replace(char,searchstring,[rep string]) Select replace(‘jack and jue’ ,’j’,’bl’) from dual;

black and blue

Instr (char, m, n) Select instr (‘worldwide’,’d’) from dual; 5

Substr (char, m, n) Select sub str(‘abcdefg’,3,2) from dual; cd

Concat (expr1, expr2) Select concat (‘Hello’,’ world’) from dual; Hello world

===============================================================

数字函数接受数字输入并返回数值结果

函数输入输出

Abs(n) Select abs(-15) from dual; 15

Ceil(n) Select ceil(44.778) from dual; 45

Cos(n) Select cos(180) from dual; -.5984601

Cosh(n) Select cosh(0) from dual; 1

Floor(n) Select floor(100.2) from dual; 100

Power(m,n) Select power(4,2) from dual; 16

Mod(m,n) Select mod(10,3) from dual; 1

Round(m,n) Select round(100.256,2) from dual; 100.26

Trunc(m,n) Select trunc(100.256,2) from dual; 100.25

Sqrt(n) Select sqrt(4) from dual; 2

Sign(n) Select sign(-30) from dual; -1

===============================================================

字符函数

查看有多少个字符

SQL> SELECT LENGTH('frances') FROM dual;

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

SQL> SELECT vencode,

DECODE(venname,'frances','Francis') name

FROM vendor_master WHERE vencode='v001';

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

查找人是否存在加字段decode主明是否有人

select name,decode(name,'rbb','有人') from stu;

===================================================================

排续

select dense_rank() over(partition by sex order by score) from test;

select row_number() over(order by score),name,sex,score from test;

select rank() over(order by score) from test;

select dense_rank() over(order by score) from test;

====================================================================== ====

创建同义词

SQL> create public synonym test for rbb.test;

SQL> create synonym test for mytest;

同一类的才可以替换,同义词替换同义词

替换

SQL> create or replace synonym emp_sysn for scott.emp;

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

创建序列

SQL>create sequence xule increment by 1 start with 1 maxvalue 999;

increment by 增长值

start with 起始值

maxvalue 最大值

minvalue 最小值

nocycle 不循环

chare 10缓存

xule.nextval ===========下一个序列的值

xule.currval ===========可以查询序列当前的值

更改序列start with 不能改

alter sequence xule maxvalue 100 [sycle nocycle];

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

序列用法

SQL>create table xl(name varchar2(4));

SQL>insert into test values(xl.nextval);

SQL>select xl.currval from dual;

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

删除序列

drop sequence x;

desc user_sequences

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

创建视图视图中可以使用函数和表达式

create or replace view

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

创建视图

SQL> create or replace view 视图名as select * from rbb union all select * from rbbb union all select * from test;

SQL> create or replace view 视图名as

2 select empno as 编号,ename as 姓名from scott.emp

3 where deptno=10;

====================================================================== ====

如果在当前用户下没有这个视图就创建此视图

如果有此视图就覆盖此视图

create or replace view view_name as select empno,ename from emp where deptno=10;

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

在创建视图前要为当前用户授权

grant resource to scott;

create or replace view v_sal as select ename,sal from emp order by sal desc;

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

使用视图

select * from v_sal;

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

删除一个视图

drop view view_name;

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

重新编译已有的视图

alter view view_name compile;

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

数据字典===========desc user_views

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

union all 连接两个表或者多个表为一个视图

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

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

一致性

完整性

行级锁和表级锁

行级锁:是一种排他锁,防止其他事务修改此行.

解锁:提交事务(commit),(rollback)

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

更新表数据:update test set score=80 where name='xiaoli';

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

自动提交

set autocommit on

set sutocommit off

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

锁定某行更新语句

select * from scott.test where name='xiaoli' for update;

select * from scott.test where name='xiaoli' for update of score;

select * from scott.test atest,test b where https://www.doczj.com/doc/b913779564.html,=https://www.doczj.com/doc/b913779564.html, and https://www.doczj.com/doc/b913779564.html,='bbb' for update of b.score; --------------------------------------------------------------------

等待update

select * from scott.test where name='xiaoli' for update wait 2;

select * from scott.test where name='xiaoli' for update nowait;

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

表级锁:锁定整个表

表级锁语法:lock table 表名in mode mode;

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

行共享row share--行排他row exclusive--共享share-共享行排他share row exclusive-----排他exclusive

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

行共享(row share):lock table scott.test in (row share) mode;

[其他用户.行共享---其他用户.行排他---其他用户.共享----其他用户.共享行排他----其他用户.不可以(排他)]

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

行排他(row exclusive):lock table scott.test in (row exclusive) mode;

[其他用户.行共享----其他用户.行排他----其他用户.不可以(共享)---其他用户.不可以(共享行排他)--其他用户.不可以(排他)]

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

共享(share):lock table scott.test in (share) mode;

[其他用户.行共享---其他用户.不可以(行排他)---其他用户.共享----其他用户.不可以(共享行排他)---其他用户.不可以(排他)]

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

共享行排他(share row exclusive):lock table scott.test in (share row exclusive) mode;

[其他用户.行共享,其他用户.不可以(行排他),其他用户.不可以(共享),其他用户.不可以(共享行排他),其他用户.不可以(排他)]

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

排他(exclusive):lock table scott.test in (exclusive) mode;

[其他用户.不可以(行共享),其他用户.不可以(行排他),其他用户.不可以(共享),其他用户.不可以(共享行排他,)其他用户.不可以(排他)]

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

表分区

---范围分区

create table test(name varchar2(20),sex char(2),score number(3))

partition by range(score)

(

partition p1 values less than (50) tablespace users,

partition p2 values less than (80),

partitiom p3 values less than (maxvalue)

)

select * from test partition(p1) union select * from test partitiom(p3);

---

删除分区

alter table test drop partition p3;

添加分区

alter table test add partition p3 values less than (maxvalue);

拆分分区

alter table test split partition p2 at(60)

into (partition p21,partition p22);

合并分区

alter table test merge partitions p21,p22 into partition p2;

截断分区(删除数据)

alter table test truncate partition p3;

现有表分区

create table str as select * from student;

drop table student;

create table student(

studentid integer not null,

studentname varchar2(20),

score integer

)

partition by range(score)(

partition p1 values less than(60),

partition p2 values less than(75),

partition p3 values less than(85),

partition p4 values less than(maxvalue)

)

insert into student(select * from stu);

select * from test scott.emp@tsinghua

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

表分区

Oracle允许用户对表进一步的规化,即对表进一步拆分,将表分成若干个逻辑部分,每个部分称其为表分区

优点:增强可用性,单个分区出现故障,不影响其他分区

均衡的I/O,不同的分区可以映射到不同的磁盘改善性能

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

①范围分区法

create table st(

studentid integer not null,

studentname varchar2(20),

score integer

)

partition by range(score)(

partition p1 values less than(60),

partition p2 values less than(75),

partition p3 values less than(85),

partition p4 values less than(maxvalue)

========================select * from stu partition(p1)============

②散列分区

create table st(deptno int,deptname varchar(14))

partition by hash(deptno)(

partition p1,partition p2

)

组合分区

alter table test coalesce partition;

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

③复合分区

范围分区和列表分区

create table salgrade(

grade number(2),losal number(2),hisal number(2)

)

partition by range(grade)

subpartition by list(losal)

(

partition p1 values less than(10)

(

subpartition p1a values('湖北'),

subpartition p1b values(default)

),

partition p2 values less than(20)

(

subpartition p1a values('河南'),

subpartition p1b values(default)

),

partition p3 values less than(30)

(

subpartition p1a values('上海'),

subpartition p1b values(default)

)

)

范围分区和散列分区

create table salgrade(

grade number(2),losal number(2),hisal number(2)

)

partition by range(grade)

subpartition by hash(losal)

[subpartitions 5]

partition p1 values less than(10)(subpartition p1a,subpartition p1b),

partition p2 values less than(20)(subpartition p2a,subpartition p2b),

partition p3 values less than(30)(subpartition p3a,subpartition p3b)

)

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

create table salg(

grade number(2),losal number(2),hisal number(2)

)

partition by range(grade)

subpartition by hash(losal)

subpartitions 3

(

partition p1 values less than(10),

partition p2 values less than(20),

partition p3 values less than(30)

)

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

④列表分区

create table test stu(id int,name varchar(20),add varchar(8))

partition by list(add)

(

partition p1 values('中国'),

partition p2 values('英国'),

partition p3 values(default)

)

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

移动分区

alter table test move partition p5 tablespace users;

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

修改存档

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup mount

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

SQL> alter database archivelog;

数据库已更改。

SQL> archive log list;

数据库日志模式存档模式

自动存档禁用

存档终点d:\oracle\ora92\RDBMS

最早的概要日志序列 1

下一个存档日志序列 2

当前日志序列 2

SQL> alter system set log_archive_dest=true scope=spfile;

系统已更改。

SQL> alter database open;

数据库已更改。

SQL> spool off

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

PL/SSQL(过程化语言) 声明部分执行语句部分异常处理部分

identifier constant datatype not null

[:=|default expr];

declare

my number(5);

begin

select quantity into my

from products where product='wawa'

for update of quantity;

if my>0 then

update products set quantity=quantity+1

where product='wawa';

insert into purchase_record

values('wawawa',sysdate);

end if;

commit;

Exception

where others then

dbms_output.put_line('chucuo'||SQLERRM);

END;

declare icode varchar2(6)

p_catg varchar2(20);

c_catg constant datatype:=0.10

数字类型

number

decrmdl

int/integer

real(实数)

binary_integer(带符号的整数)

pls_integer(同上)

字符类型

character

char 3276

Raw(2000)

long/long Raw(32760)

Rowid/rowid()

varchar2 (string(nchar/nvarchar)/varchar)

日期时间

date

timeStamp(固定日期dd-mm-yy 秒6位)

子timestamp with time zone

ti timestamp(9)

布尔

boolean

true

false

null

打印出时间

declare

test_tz timestamp with time zone;

begin test_tz:=to_timestamp_tz('2006-6-22 09:07:11','yyyy-mm-dd hh24:mi:ss');

dbms_output.put_line(test_tz);

end;

lob类型

BFILE

BLOB

CLOB

NCLOB

属性类型

%type %rowtype

=============================================================== bfile类型实例

创建目录

create directory tnpdir as 'c:\';

删除目录

drop directory tnpdir

授权

crant read on directory tnpdir to scott;

建表

create table bfiletest(id number(3), fname bfile);

添加数据

insert into bfiletest values(1,bfilename('TMPDIR','tmptest.java'));

=============================================================== 向数据库中添加图片

create directory images as 'c:\images';

crant read on directory images to scott;

create table my_diagrams(

chapter_descr varchar2(40);

diagram_no integer,

diagram blob

);

declare

l_bfile bfile;

l_blob blob;

begin

insert into my_diagrams(diagram)

values(emptv_blob())

return diagram into l_blob;

l_bfile:=bfilename('images','\nvimage.jpg');

dbms_lob.open(l_bfile,dbms_lob.file_readonly);

dbms_lob.loadfromfile(l_blob,l_bfile,dbms_lob,getlength(l_bfile));

oracle常用命令及格式

oracle常用命令及格式 一:关于日志管理的 1.切换日志:sql> alter system switch logfile; 2.切换checkpoints:sql> alter system checkpoint; 3.增加日志组:sql> alter database add logfile [group 4] sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size1m; 4.增加日志成员 sql> alter database add logfile member sql> '/disk3/log1b.rdo' to group 1, sql> '/disk4/log2b.rdo' to group 2; 5.改变日志文件名字或路径 sql> alter database rename file 'c:/oracle/oradata/oradb/re do01.log' sql> to 'c:/oracle/oradata/redo01.log'; (此处注意,那个文件路径的输入格式) 6.删除日志文件组:sql> alter database drop logfile group 3;

7.删除日志文件成员 sql> alter database drop logfile member 'c:/oracle/oradata/ redo01.log'; 8.清除日志文件内容 sql> alter database clear [unarchived] logfile 'c:/oracle/l og2a.rdo'; 二、关于表空间管理的 1.创建表空间 sql> create tablespace tablespace_name datafile 'c:\oracle\ oradata\file1.dbf' size100m, sql> 'c:\oracle\oradata\file2.dbf' size100mminimum extent 5 50k [logging/nologging] sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0) sql> [online/offline] [permanent/temporary] [extent_managem ent_clause]

数据库(Oracle)运维工作内容及常用脚本命令

数据库(Oracle)运维工作内容及常用脚本命令2013-08-09 0个评论来源:LHDZ_BJ的专栏 收藏我要投稿数据库(Oracle)运维工作内容及常用脚本命令 1、系统资源状况: --内存及CPU资源 --linux,solaris,aix vmstat 5 --说明: 1)观察空闲内存的数量多少,以及空闲内存量是否稳定,如果不稳定就得想办法来解决,怎么解决还得看具体情况,一般可以通过调整相关内存参数来解决,各种操作系统输出指标、解释及内存调整参数及方法不完全一样; 2)观察CPU资源利用情况,首先,需要观察CPU上运行的任务数,也就是vmstat输出中位于第一列上的指标,如果该指标持续大于CPU核心数,应该引起注意;如果该指标持续大于CPU核心数的两倍,那么应该引起重视;如果持续为CPU 核心数的多倍,系统一般会出现应用可感知的现象,必须立刻想办法解决。当然,在观察该指标的同时,还要结合CPU利用率的指标情况,如:用户使用百分比,系统使用百分比,空闲百分比等指标,如果空闲百分比持续低于20%,应该引起注意;如果持续低于10%,应该引起重视;如果持续为0,系统一般会出现应用可感知的现象,应该立刻想办法解决问题; 3)CPU用户使用百分比和系统使用百分比的比例,也是应该注意的。一般来说,在一个状态正常的系统上,用户使用百分比应该比系统使用百分比大很多,几倍到十几倍甚至更高,如果系统使用百分比持续接近用户使用百分比,甚至大于用户使用百分比,说明系统的状态是不正常的,可能是硬件或者操作系统问题,也可能是应用问题。 --IO状况 --linux,solaris iostat -dx 5 --aix iostat 5 --说明:

Oracle SQLPlus 常用命令及解释

Oracle SQLPlus 常用命令及解释 1.@ 执行位于指定脚本中的SQLPlus语句。可以从本地文件系统或Web服务器中调用脚本。可以为脚本中的变量传递值。在iSQL*Plus中只能从Web服务器中调用脚本。 2.@@ 执行位于指定脚本中的SQL*Plus语句。这个命令和@(“at”符号)命令功能差不多。在执行嵌套的命令文件时它很有用,因为它会在与调用它的命令文件相同的路径或url中查找指定的命令文件。在iSQL*Plus中只支持url形式。 3./ 执行保存在SQL缓冲区中的最近执行的SQL命令或PL/SQL块。在SQL*Plus命令行中,可在命令提示符或行号提示符使用斜线(/)。也可在iSQL*Plus的输入区中使用斜线(/)。斜线不会列出要执行的命令。 4.ACCEPT 可以修改既有变量,也可定义一个新变量并等待用户输入初始值,读取一行输入并保存到给出的用户变量中。ACCEPT在iSQL*Plus中不可用。 5.APPEND 把指定文本添加到SQL缓冲区中当前行的后面。如果text的最前面包含一个空格可在APPEND和text间输入两个空格。如果text的最后是一个分号,可在命令结尾输入两个分号(SQL*Plus会把单个的分号解释为一个命令结束符)。APPEND 在iSQL*Plus中不可用。 6.ARCHIVE LOG 查看和管理归档信息。启动或停止自动归档联机重做日志,手工(显示地)归档指定的重做日志,或者显示重做日志文件的信息。 7.ATTRIBUTE 为对象类型列的给定属性指定其显示特性,或者列出单个属性或所有属性的当前显示特性。 8.BREAK 分开重复列。指定报表中格式发生更改的位置和要执行的格式化动作(例如,在列值每次发生变化时跳过一行)。只输入BREAK而不包含任何子句可列出当前的BREAK定义。 9.BTITLE 在每个报表页的底部放置一个标题并对其格式化,或者列出当前BTITLE定义。

Oracle数据库操作命令

Oracle数据库操作命令 1.登录数据库: SQL Window 与Command Window Sqlplus system/密码@orcl 2.关闭数据库: Sqlplus/as sysdba Shutdown immediate 3.启动数据库: Sqlplus/as sysdba(已登录时可不用再写) Startup 4.查看参数 ①查看数据库:show parameter db_name; ②查看实例:show parameter instance; ③查看实例名:show parameter instance_name; ④查看Oracle数据库中当前用户所拥有的表: select table_name from user_tables; ⑤查看Oracle数据库中当前用户所能访问的表: Select user,table_name from all_tables; ⑥查看Oracle数据库中本用户下所有的列: Select table_name,column_name from user_tab_columns; Oracle表空间: 5.在数据库orcl中,创建表空间的命令: Create tablespace 表空间名datafile ‘C:\表空间名.dbf’ size 20M; 6.为表空间中添加数据文件命令格式: Alter tablespace 表空间名add datafile ‘D:\表空间名.dbf’ size 100M; 7.创建表空间后,在数据字典中获得其相关信息(查看表空间的数据文件): Select tablespace_name,file_name from dba_data_files; 8.创建表空间时,还可指定数据文件自动扩展机制(指定每次增长尺寸为5M) Create tablespace 表空间名datafile ‘C:\表空间名.dbf’ size 20M autoextend on next 5M; 允许物理文件无限制增长存在一定风险,此时可在创建时设定表空间的最大大小(如500M) Create tablespace 表空间名datafile ‘C:\表空间名.dbf’ size 20M autoextend on next 5M maxsize 500M; 9.修改数据库的默认表空间: Alter database default tablespace 表空间名; 查看某用户的缺省表空间: Select username,default_tablespace from dba_users where username=’用户名’; 修改某用户的缺省表空间: Alter user 用户名default tablespace 表空间名; 10.创建数据库用户: Create users 用户名identified by 密码default tablespace 表空间名; 修改用户的密码:

Oracle基本语法

Oracle的历史 ?Oracle 公司( 甲骨文) 创始人: Larry Ellison 32岁,公司提供数据库服务. ?公司成立于1977 年, 83 年公司更名为Oracle ,原名为”软件开发实验室”. ?Oracle 数据库适用于大型企业 ?竞争对手 –微软的SQLServer –IBM 的DB2 ?目前的版本 – 2.0~7.0 , 8.0 , 8i , 9i , 10g Oracle的服务: 我的电脑右键选择管理--服务和应用程序—服务 -----是数据库或例程的系统标识符 ------是Oracle主目录名称 这几个服务之间的关系: 启动顺序:1、OracleTNSListener必须启动 2、OracleServer必须启动 3、OracleDBConsole启动依赖于OracleServer SqlPlus SqlPlus是Oracle任何版本都自带的数据库操作工具,使用它可以完成大部分的数据库操作。 SqlPlus可以“开始→程序→Oracle”启动,也可以命令行启动(互动) 1.命令行启动sqlPlus sqlplus 用户名/密码@orcl

或 sqlplus 用户名@orcl 如果用户是管理员要在sqlplus 用户名/密码@主机字符串as sysdba “/”是用户名和密码分隔符号 “@”是密码和数据库的分隔符号 “orcl”是数据库的名称,在安装时指定 常用命令(互动) connect 切换用户 show user 显示当前用户 set linesize 1000 设置行显示长度 set pagesize 1000 设置分页长度 desc dept 查看表结构 select table_name from user_tables 查询当前用户的表 / 运行上一条SQL语句 clear screen 清除屏幕 edit 编辑 spool d:/a 保存输出结果到某个位置 spool off 保存结束 quit 退出 list 查看最后一条语句 @ 文件名.sql 运行外部文件中的SQL语句

数据库常用命令

oracle常用命令 命令解释 $Ps –ef|grep oracle 查看oracle进程是否启动 $ sqlplus "/as sysdba" 以sysdba角色登陆oracle数据库 SQL>startup 显示当前系统中已登录的人员。 SQL>shutdown immediate 关闭数据库 SQL>select * from v$version; 查看oracle数据库版本 SQL>select name from v$database; 查看数据库SID SQL>truncate table table_name 快速清空一个表 SQL>select * from all_users;查看数据库中所有用户 SQL>alter tablespacename offline;将表空间offline SQL> alter tablespacename online ;将表空间online $oerr ora 2236 查错误 alert_{ORACLE_SID}.log 数据库告警日志文件 *.TRC 数据库跟踪文件 Oracle说明 1、数文件:SPFILE不能直接阅读是二进制文件,需要转为文本 2、oracle数据库后,可以查看数据库状态是否open,如果open会显示open字样 SQL> select status, instance_role from v$instance; 3、PFILE:SQL> connect / as sysdba 从spfile创建pfile:SQL> create pfile from spfile; 从pfile创建spfile:CREA TE SPFILE FROM PFILE='/home/oracle/admin/pfile/init.ora'; 4、names是客户端或应用程序需要连接数据库时必须配置的,使用$tnsping service_aliasname可以测试出tns配置的是否正确 5、要文件listener.ora、Tnsnames.ora、Sqlnet.ora,这三个位置在$ORACLE_HOME/network/admin目录下。 6、库启动时要先启动listener Network配置:监听程序lsnrctl

oracle数据库基本命令

oracle数据库基本命令 oracle安装后 sys:超级管理员(dba),默认密码为:change_on_install system:系统管理员(dbaoper),默认密码为:manager; sys与system的不同在于sys能够create datebase而system则不能。scott:普通用户,默认密码:tiger 1.切换用户:conn 用户名/密码; SQL> conn system/manager; Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as system SQL> conn sys/change_on_install as sysdba; Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as SYS 注意:sys与其他用户在命令窗口切换时的不同。 2.修改密码:passw username;(普通用户可以修改自己密码,管理员可以修改其他人的密码) 3.显示当前用户。show user; 4.断开数据库同时推出:exit; 文件操作 5.运行sql脚本,start d:\a.sql; 6.编辑指定的sql脚本。Edit d:\a.sql; 7.将屏幕上指定的内容输出到指定文本中去。spool e:\b.sql;执行语句;spool off;

8.显示设置环境变量; 可以用来控制输出的各种格式,如果希望永久保存可以修改glogin.sql脚本。 Linesize(行宽): show linesize;显示行宽 set linesize 90;设置行宽为90个字符。 Pagesize(页面大小): Show pagesize;显示页面大小 Set pagesize 180;设置页面的小。 (做报表时可以用。一页设定几行。)

oracle中常用函数大全

oracle中常用函数大全 1、数值型常用函数 函数返回值样例显示 ceil(n) 大于或等于数值n的最小整数select ceil(10.6) from dual; 11 floor(n) 小于等于数值n的最大整数select ceil(10.6) from dual; 10 mod(m,n) m除以n的余数,若n=0,则返回m select mod(7,5) from dual; 2 power(m,n) m的n次方select power(3,2) from dual; 9 round(n,m) 将n四舍五入,保留小数点后m位select round(1234.5678,2) from dual; 1234.57 sign(n) 若n=0,则返回0,否则,n>0,则返回1,n<0,则返回-1 select sign(12) from dual; 1 sqrt(n) n的平方根select sqrt(25) from dual ; 5 2、常用字符函数 initcap(char) 把每个字符串的第一个字符换成大写select initicap('mr.ecop') from dual; Mr.Ecop lower(char) 整个字符串换成小写select lower('MR.ecop') from dual; mr.ecop replace(char,str1,str2) 字符串中所有str1换成str2 select replace('Scott','s','Boy') from dual; Boycott substr(char,m,n) 取出从m字符开始的n个字符的子串select substr('ABCDEF',2,2) from dual; CD length(char) 求字符串的长度select length('ACD') from dual; 3 || 并置运算符select 'ABCD'||'EFGH' from dual; ABCDEFGH 3、日期型函数 sysdate当前日期和时间select sysdate from dual;

oracle11g常用命令.

第一章:日志管理 1. forcing log switches sql> alter system switch logfile; 2. forcing checkpoints sql> alter system checkpoint; 3. adding online redo log groups sql> alter database add logfile [group 4] sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo' size 1m; 4. adding online redo log members sql> alter database add logfile member sql> '/disk3/log1b.rdo' to group 1, sql> '/disk4/log2b.rdo' to group 2; 5. changes the name of the online redo logfile sql> alter database rename file 'c:/oracle/oradata/oradb/redo01.log' sql> to 'c:/oracle/oradata/redo01.log'; 6. drop online redo log groups sql> alter database drop logfile group 3; 7. drop online redo log members

sql> alter database drop logfile member 'c:/oracle/oradata/redo01.log'; 8.clearing online redo log files sql> alter database clear [unarchived] logfile 'c:/oracle/log2a.rdo'; https://www.doczj.com/doc/b913779564.html,ing logminer analyzing redo logfiles a. in the init.ora specify utl_file_dir = ' ' b. sql> execute dbms_logmnr_d.build('oradb.ora','c:\oracle\oradb\log'; c. sql> execute dbms_logmnr_add_logfile('c:\oracle\oradata\oradb\redo01.log', sql> dbms_logmnr.new; d. sql> execute dbms_logmnr.add_logfile('c:\oracle\oradata\oradb\redo02.log', sql> dbms_logmnr.addfile; e. sql> execute dbms_logmnr.start_logmnr(dictfilename=>'c:\oracle\oradb\log\oradb.ora '; f. sql> select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameters sql> v$logmnr_logs; g. sql> execute dbms_logmnr.end_logmnr; 第二章:表空间管理 1. create tablespaces sql> create tablespace tablespace_name datafile 'c:\oracle\oradata\file1.dbf' size 100m,

oracle set命令大全

oracle set命令详解 SET命令参数详解 我好如容易录入的,希望对大家有帮助,如果有错误也请指正.有更好的也请分享. SQL*PLUS维护系统变量,也称SET变量,利用它可为SQL*PLUS交互建立一个特殊的环境,如:设 置NUMBER数据的显示宽度;设置每页的行数;设置列的宽度等。可用SET命令改变这些系统变 量,也可用SHOW命令列出它们. 使用set命令的语法如下: SET 系统变量值 其中系统变量及其可选值如下: ARRAY[SIZE] {20(默认值)|n} AUTO[COMMIT] {OFF(默认值)|ON|IMM[EDIATE]} BLO[CKTERMINATOR] {.(默认值)|C} CMDS[EP] {;|C|OFF(默认值)|ON} COM[PATIBILITY] {V5|V6|V7|NATIVE(默认值)} CON[CAT] {.(默认值)|C|OFF|ON(默认值)} COPYC[OMMIT] {0(默认值)|n} CRT crt DEF[INE] {&|C|OFF|ON(默认值)} ECHO {OFF|ON} EMBEDDED {OFF(默认值)|ON} ESC[APE] { (默认值)|C|OFF(默认值)|ON} FEED[BACK] {6(默认值)|n|OFF|ON} FLU[SH] {OFF|ON(默认值)} HEA[DING] {OFF|ON(默认值)} HEADS[EP] {|(默认值)|C|OFF|ON(默认值)} LIN[ESIZE] {80(默认值)|n} LONG {80(默认值)|n} LONGC[HUNKSIZE] {80(默认值)|n} MAXD[ATA] n NEWP[AGE] {1(默认值)|n} NULL text NUMF[ORMAT] 格式 NUM[WIDTH] {10(默认值)|n}

PL_SQL命令的使用大全

SQL*PLUS命令的使用大全[zt] Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。 下面就介绍一下一些常用的sql*plus命令: 1. 执行一个SQL脚本文件 SQL>start file_name SQL>@ file_name 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 2. 对当前的输入进行编辑 SQL>edit 3. 重新运行上一次运行的sql语句 SQL>/ 4. 将显示的内容输出到指定文件 SQL> SPOOL file_name 在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。 5. 关闭spool输出 SQL> SPOOL OFF 只有关闭spool输出,才会在输出文件中看到输出的内容。 6.显示一个表的结构 SQL> desc table_name 7. COL命令: 主要格式化列的显示形式。 该命令有许多选项,具体如下: COL[UMN] [{ column|expr} [ option ...]] Option选项可以是如下的子句: ALI[AS] alias CLE[AR] FOLD_A[FTER] FOLD_B[EFORE] FOR[MA T] format HEA[DING] text JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]} LIKE { expr|alias} NEWL[INE] NEW_V[ALUE] variable NOPRI[NT]|PRI[NT] NUL[L] text OLD_V[ALUE] variable ON|OFF WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED] 1). 改变缺省的列标题

oracle命令行大全

SQL*PLUS命令的使用大全 Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus 语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。 下面就介绍一下一些常用的sql*plus命令: 1. 执行一个SQL脚本文件 SQL>start file_name SQL>@ file_name 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 2. 对当前的输入进行编辑 SQL>edit 3. 重新运行上一次运行的sql语句 SQL>/ 4. 将显示的内容输出到指定文件 SQL> SPOOL file_name 在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。 5. 关闭spool输出 SQL> SPOOL OFF 只有关闭spool输出,才会在输出文件中看到输出的内容。 6.显示一个表的结构 SQL> desc table_name 7. COL命令: 主要格式化列的显示形式。 该命令有许多选项,具体如下: COL[UMN] [{ column|expr} [ option ...]] Option选项可以是如下的子句: ALI[AS] alias CLE[AR] FOLD_A[FTER] FOLD_B[EFORE] FOR[MA T] format

oracle常用命令大全和环境变量路径

Oracle 命令大全 底部为环境变量配置路径。 1 运行SQLPLUS工具 sqlplus 2 以OS的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入SQLPLUS命令提示符 sqlplus /nolog 5 在命令提示符以OS身份连接 connect / as sysdba 6 以SYSTEM的身份连接 connect system/xxxxxxx@服务名 7 显示当然用户有哪些表 select * from tab; 8 显示有用户名和帐户的状态 select username,account_status from dba_users; 9 将SCOTT帐号解锁(加锁) alter user scott account unlock(lock); 10 以SCOTT的身份连接并且查看所属表 connect scott/tiger select * from tab; 11 查看EMP的表结构及记录内容 desc emp select empno,ename from emp; 12 以OS的身份登看SGA,共享池,CACHE的信息 connect / as sysdba show sga select name,value/1024/1024 from v$sga; show parameter shared_pool_size select value/1024/1024 from v$parameter where name ='shared_pool_size';

show parameter db_cache_size select value/1024/1024 from v$parameter where name ='db_cache_size'; 13 查看所有含有SIZE的信息 show parameter size bitmap_merge_area_size integer 1048576 create_bitmap_area_size integer 8388608 db_16k_cache_size big integer 0 db_2k_cache_size big integer 0 db_32k_cache_size big integer 0 db_4k_cache_size big integer 0 db_8k_cache_size big integer 0 db_block_size integer 4096 db_cache_size big integer 33554432 db_keep_cache_size big integer 0 db_recycle_cache_size big integer 0 NAME TYPE V ALUE ------------------------------------ ----------- ------------- global_context_pool_size string hash_area_size integer 1048576 java_max_sessionspace_size integer 0 java_pool_size big integer 33554432 large_pool_size big integer 8388608 max_dump_file_size string UNLIMITED object_cache_max_size_percent integer 10 object_cache_optimal_size integer 102400 olap_page_pool_size integer 33554432 oracle_trace_collection_size integer 5242880 parallel_execution_message_size integer 2148 NAME TYPE V ALUE ------------------------------------ ----------- ------------- sga_max_size big integer 143727516 shared_pool_reserved_size big integer 2516582 shared_pool_size big integer 50331648 sort_area_retained_size integer 0 sort_area_size integer 524288 workarea_size_policy string AUTO 14 显示SGA的信息 select * from v$sgastat; POOL NAME BYTES

登录oracle数据库时常用的操作命令整理

oracle系统默认的用户和密码是 创建数据库是创建的用户 scott 密码是 tiger sys 密码是 change_on_install system 密码是 manager sysman 密码是 oem_temp 也可以 sqlplus / as sysdba 不用密码登录!! 登录oracle数据库时常用的操作命令整理 1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。 2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus system/manager@ora9i; 3、SQL>connect / as sysdba ;(as sysoper)或 connect internal/oracle AS SYSDBA ;(scott/tiger) conn sys/change_on_install as sysdba; 4、SQL>startup; 启动数据库实例 5、查看当前的所有数据库: select * from v$database; select name from v$database; desc v$databases; 查看数据库结构字段 7、怎样查看哪些用户拥有SYSDBA、SYSOPER权限: SQL>select * from V_$PWFILE_USERS; Show user;查看当前数据库连接用户 8、进入test数据库:database test; 9、查看所有的数据库实例:select * from v$instance; 如:ora9i 10、查看当前库的所有数据表: SQL> select TABLE_NAME from all_tables;

Oracle查询语句基本命令一

oracle查询语句大全--基本命令大全一 1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权grant connect,resource,dba,sysdba to username; 3.connect username/password//进入。 4.select table_name,column_name from user_tab_columns where table_name='mview_log';//查询表中的表名,字段名等等。 5. 如何执行脚本SQL文件? SQL>@PATH/filename.sql; 6.Oracle oledb 提供者在command中执行多条SQL语句与SQL SERVER有少许差别,SQL Server只需使用";"分割多条SQL语句,而Oracle需要遵守ORACLE调用规范,即除分号分割外,还需以begin /end;包围语句体. 使用C#描述应如下所示: https://www.doczj.com/doc/b913779564.html,mandText = "begin INSERT INTO GROUP_INFO (GROUP_ID, GROUP_NAME) V ALUES (1, \'2\'); INSERT INTO GROUP_INFO(GROUP_ID, GROUP_NAME) V ALUES (2, \'2\'); end;"; 7.查询用户下的表的信息select distinct table_name from user_tab_columns; 8.如何搜索出前N条记录?Select a.*,rownum from (select * from cardkind order by cardkind ) a where rownum show user 3、查看系统拥有哪些用户SQL> select * from all_users; 4、新建用户并授权 SQL> create user a identified by a;(默认建在SYSTEM表空间下) SQL> grant connect,resource to a; 5、连接到新用户SQL> conn a/a

Oracle数据库的日常使用命令(SAG_考核)

Oracle数据库的日常使用命令 1.基本知识 (2) 2.启动和关闭数据库 (3) 3.控制监听 (3) 4.数据库用户管理 (3) 5.Oracle的权限管理 (4) 6.更改字符集为中文 (5) 7.查询语句 (5) 8.表空间管理 (6) 9.数据文件被误删后的处理 (7) 10.查询当前系统的配置参数 (7) 11.显示当前用户 (8) 12.Oracle排错处理 (8) 13.查看表结构 (8) 14.查看数据库文件 (8) 15.将select查询出的结果保存至一个文件 (9) 16.存储过程 (9) 17.数据库的备份与恢复 (10) Export 转入程序 (10) Import 恢复程序 (12) 增量卸出/装入 (14)

18.如何查看各个表空间占用磁盘情况? (15) 19.如何知道数据裤中某个表所在的tablespace? (15) 20.内核参数的应用 (15) 21.如何单独备份一个或多个表? (16) 22.如何单独备份一个或多个用户? (16) 23.如何显示当前连接用户? (16) 24.如何外连接? (16) 25.如何执行脚本SQL文件? (17) 26.如何搜索出前N条记录? (18) 27.为表创建序列 (18) 28.查看本用户下的各种对象的SQL脚本 (18) 29.SQL*Plus系统环境变量有哪些?如何修改? (20) 30.如何在PL/SQL中读写文件? (20) 31.某个数据文件损坏,如何打开数据库? (21) 1. 基本知识 一个表空间只能属于一个数据库 每个数据库最少有一个控制文件(建议3个,分别放在不同的磁盘上) 每个数据库最少有一个表空间(SYSTEM表空间) 建立SYSTEM表空间的目的是尽量将目的相同的表存放在一起,以提高使用效率,只应存放数据字典 每个数据库最少有两个联机日志组,每组最少一个联机日志文件 一个数据文件只能属于一个表空间 一个数据文件一旦被加入到一个表空间中,就不能再从这个表空间中移走,也不能再加入到其他表空间中 建立新的表空间需要建立新的数据文件

Oracle 数据库 常用命令

SPOOL将屏幕所有的输出输出到指定文件 -- spool 文件路径名; spool g:\mysql.sql; --业务操作 --结束输出 spool off; 执行一个SQL脚本文件 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 --start file_name -- @ file_name start g:\mysql.sql; @ g:\mysql.sql; 对当前的输入进行编辑 edit ed 重新运行上一次运行的sql语句 / 显示一个表的结构 desc table_name ; 清屏 clear screen; 退出 exit; 置当前session是否对修改的数据进行自动提交 --SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n} set autocommit on; 在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句 -- SET ECHO {ON|OFF}; set echo on; 是否显示当前sql语句查询或修改的行数 --SET FEED[BACK] {6|n|ON|OFF}

-- 默认只有结果大于6行时才显示结果的行数。如果set feedback 1 ,则不管查询到多少行都返回。当为off 时,一律不显示查询的行数 set feedback 1; 是否显示列标题 --当set heading off 时,在每页的上面不显示列标题,而是以空白行代替 --SET HEA[DING] {ON|OFF} set heading on; 设置一行可以容纳的字符数 -- 如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示 --SET LIN[ESIZE] {80|n} set linesize 100; 设置页与页之间的分隔 -- SET NEWP[AGE] {1|n|NONE} --当set newpage 0 时,会在每页的开头有一个小的黑方框。 --当set newpage n 时,会在页和页之间隔着n个空行。 --当set newpage none 时,会在页和页之间没有任何间隔 set newpage 1; 设置一页有多少行数 --如果设为0,则所有的输出内容为一页并且不显示列标题 --SET PAGES[IZE] {24|n} set pagesize 20; 是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。 --SET SERVEROUT[PUT] {ON|OFF} set serveroutput on; 是否在屏幕上显示输出的内容,主要用与SPOOL结合使用。 --在用spool命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,--设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool的速度 --SET TERM[OUT] {ON|OFF} set termout off; 在dos里连接oracle数据库 CONNECT user_name/passwd@l_jiayou

oracle命令大全

1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权 grant connect,resource,dba,sysdba to username; 3.connect username/password//进入。 4.select table_name,column_name from user_tab_columns where table_name='mview_log';//查询表中的表名,字段名等等。 5. 如何执行脚本SQL文件? SQL>@PATH/filename.sql; 6.Oracle oledb 提供者在command中执行多条SQL语句与SQL SERVER有少许差别,SQL Server 只需使用";"分割多条SQL语句,而Oracle需要遵守ORACLE调用规范,即除分号分割外,还需以begin /end;包围语句体. 使用C#描述应如下所示: https://www.doczj.com/doc/b913779564.html,mandText = "begin INSERT INTO GROUP_INFO (GROUP_ID, GROUP_NAME) VALUES (1, \'2\'); INSERT INTO GROUP_INFO(GROUP_ID, GROUP_NAME) VALUES (2, \'2\'); end;"; 7.查询用户下的所有表 select distinct table_name from user_tab_columns; 8.如何搜索出前N条记录?Select a.*,rownum from (select * from cardkind order by cardkind ) a where rownum show user 3、查看系统拥有哪些用户 SQL> select * from all_users; 4、新建用户并授权 SQL> create user a identified by a;(默认建在SYSTEM表空间下) SQL> grant connect,resource to a; 5、连接到新用户 SQL> conn a/a 6、查询当前用户下所有对象 SQL> select * from tab; 7、建立第一个表 SQL> create table a(a number); 8、查询表结构 SQL> desc a 9、插入新记录 SQL> insert into a values(1); 10、查询记录 SQL> select * from a;

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