oracle常用命令及格式

合集下载

Oracle基本操作《DOC命令》

Oracle基本操作《DOC命令》

系统权限在doc命令中启动Oracle(注意下文中<>为不存在只是为了标识)其中的一些权限为系统权限(都是用超级管理员授予的)1:启动SQL*PLUS:在相应盘符下输入:sqlplus / as sysdba;<默认的用户是SYS>2:启动监听器在相应盘符下输入:lsnrctl start(我的电脑默认在D盘下)3:启动实例在相应盘符下输入:oradim -starup -sid sjbitdb(我的电脑默认在D盘下)4:展示当前用户名在SQL语句中输入:show user;5:创建用户在SQL语句中输入:create user <用户名> identified by <用户密码> ;6:为用户创建会话权限在SQL语句中输入:grant create session to <用户名>;7:使用用户登录在相应盘符下语句中输入:sqlplus <用户名>/<密码> 注意后面没有分号。

8:为用户创建表权限在SQL语句中输入:grant create table to <用户名>;9:为用户创建表空间权限在SQL语句中输入:grant unlimited tablespace to <用户名>;(unlimited是没有任何限制的意思)10:创建表在SQL语句中输入:create table <表名称> (<列名> <数据类型>);(举例)11:向表中插入数据在SQL语句中输入:insert into <表名称> values(<值>);(举例)12:查询表中的数据在SQL语句中输入:select * form <表名称>;13:删除表在SQL语句中输入:drop table <表名称>;14:撤销用户的会话权限在SQL语句中输入:revoke create session fr om <用户名>;15:撤销用户的创建表权限在SQL语句中输入:revoke create table from <用户名>;16:撤销用户的创建表空间权限在SQL语句中输入:revoke unlimited tablespace from <用户名>;17:查询当前用户拥有哪些系统权限在SQL语句中输入:select * from user_sys_privs;(实际上展示的是一个视图) 18:删除用户:在SQL语句中输入:drop user <用户名>;19:把某个系统权限权限授权给所有用户:在SQL语句中输入:grant (create session<会话权限也就是允许某管理员登录的权限>) 、(create table<创建表权限>)、(unlimited tablespace<创建表空间权限>) 、(create any table<创建任意表权限>) to public;对象权限简单来说超级管理员拥有的权限叫做系统权限,普通用户拥有的权限叫做对象权限。

Oracle常用SQL命令

Oracle常用SQL命令

Oracle常⽤SQL命令创建表空间1.创建默认表空间WLP_DATCREATE TABLESPACE "MYSPACE" DATAFILE'D:\oracle\oradata\orcl\data/WLP_DAT.dbf' SIZE 32M REUSE AUTOEXTEND ON NEXT 32MLOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;2.创建临时表空间WLP_TEMP(⽤于缓存,可以不建)ALTER TABLESPACE "TEMP" ADD TEMPFILE'D:\oracle\oradata\orcl\data/WLP_TEMP.dbf' SIZE 32m REUSE autoextend on next 32m;创建⽤户并授权1CREATE USER "WLPING" PROFILE "DEFAULT"2 IDENTIFIED BY "123456"3DEFAULT TABLESPACE "MYSPACE" //默认指定表空间4TEMPORARY TABLESPACE "TEMP" //指定缓存表空间5 ACCOUNT UNLOCK; //⽤户⾮锁定67GRANT EXECUTE ON dbms_comparison TO "WLPING";8GRANT UNLIMITED TABLESPACE TO "XIR_MD";9GRANT "CONNECT" TO "XIR_MD";10GRANT "RESOURCE" TO "XIR_MD";1112-- GRANT DBA TO XIR_MD;PROFILE:Oracle系统中的profile可以⽤来对⽤户所能使⽤的数据库资源进⾏限制,使⽤Create Profile命令创建⼀个Profile,⽤它来实现对数据库资源的限制使⽤,如果把该profile分配给⽤户,则该⽤户所能使⽤的数据库资源都在该profile的限制之内。

常用oracle数据库命令

常用oracle数据库命令

常用oracle数据库命令
1. 启动Oracle数据库
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
3. 创建表空间
创建表空间的命令是:
SQL> create tablespace 表空间名 datafile '路径名' size 大小;
6. 创建用户
7. 删除用户
删除用户的命令是:
8. 授权用户
SQL> grant 权限 to 用户名;
9. 撤销用户的权限
11. 查看表结构
查看表结构的命令是:
SQL> desc 表名;
SQL> create table 表名 (列名数据类型, 列名数据类型, …);
13. 删除表
14. 插入数据
插入数据的命令是:
SQL> update 表名 set 列名=新值 where 某条件;
18. 创建索引
20. 查看索引
21. 查询相关信息
查询相关信息的命令是:
SQL> select * from v$session; -- 查看会话 22. 查看数据库版本
24. 备份数据库
$ exp 用户名/密码 file=备份文件路径备注:以上命令均需要在Oracle登录后进行。

Oracle常用命令大全(很有用,做笔记)

Oracle常用命令大全(很有用,做笔记)

Oracle常⽤命令⼤全(很有⽤,做笔记)⼀、ORACLE的启动和关闭1、在单机环境下要想启动或关闭ORACLE系统必须⾸先切换到ORACLE⽤户,如下su - oraclea、启动ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>startupSVRMGR>quitb、关闭ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>shutdownSVRMGR>quit启动oracle9i数据库命令:$ sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> connect / as sysdbaConnected to an idle instance.SQL> startup^CSQL> startupORACLE instance started.2、在双机环境下要想启动或关闭ORACLE系统必须⾸先切换到root⽤户,如下su - roota、启动ORACLE系统hareg -y oracleb、关闭ORACLE系统hareg -n oracleOracle数据库有哪⼏种启动⽅式说明:有以下⼏种启动⽅式:1、startup nomount⾮安装启动,这种⽅式启动下可执⾏:重建控制⽂件、重建数据库读取init.ora⽂件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora⽂件。

2、startup mount dbname安装启动,这种⽅式启动下可执⾏:数据库⽇志归档、数据库介质恢复、使数据⽂件联机或脱机,重新定位数据⽂件、重做⽇志⽂件。

oracle查询语句大全

oracle查询语句大全

oracle查询语句大全oracle 基本命令大全一1.create user username identified by password;//建用户名和密码oracle ,oracle2.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>@PA TH/filename.sql;6.Oracle oledb 提供者在command中执行多条SQL语句与SQL SERVER有少许差别,SQL Server只需使用";"分割多条SQL语句,而Oracle需要遵守ORACLE调用规范,即除分号分割外,还需以begin /end;包围语句体.使用C#描述应如下所示: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<n9.查找用户下的所有表:select * from tab;2、显示当前连接用户SQL> show user3、查看系统拥有哪些用户SQL> select * from all_users;4、新建用户并授权SQL> create user a identified by a;(默认建在SYSTEM表空间下)SQL> grant connect,resource to a;5、连接到新用户SQL> conn a/a6、查询当前用户下所有对象SQL> select * from tab;7、建立第一个表SQL> create table a(a number); 8、查询表结构SQL> desc a9、插入新记录SQL> insert into a values(1); 10、查询记录SQL> select * from a;11、更改记录SQL> update a set a=2;12、删除记录SQL> delete from a;13、回滚SQL> roll;SQL> rollback;14、提交SQL> commit;select * from(select t.*,dense_rank() over (order by cardkind) rank from cardkind t)where rank = 2;46. 如何在字符串里加回车?select 'Welcome to visit'||chr(10)||'' from dual ;47. 中文是如何排序的?Oracle9i之前,中文是按照二进制编码进行排序的。

Oracle格式化输出几个常用命令

Oracle格式化输出几个常用命令

Oracle格式化输出⼏个常⽤命令在使⽤Oracle命令⾏过程中⼀定会遇到输出格式问题,不同的格式化命令会使输出⼈性化。

1、set linesize(line) 设置sqlplus输出的最⼤⾏宽
2、set pagesize 设置页⾯的最⼤⾏数
3、set newpage 设置页⾯之间的空⾏数
4.spool sqlplus屏幕的⽂件输⼊输出命令
5、edit 使⽤⾃定义的编辑器编辑指定⽂件
6、save 保存当前session最近的sql语句⾄指定的⽂件中
7、host 返回到操作系统环境,类似!
8、start或@ 执⾏⽂件中的命令
9、column
column是sqlplus⾥最实⽤的⼀个命令,简写column为col,⽤于修改显⽰列名的宽度;
col name format a50--将列name(字符型)显⽰最⼤宽度调整为50个字符
col num format 9999999 --将列num(num型)显⽰最⼤宽度调整为7个字符
col name heading 姓名--将name的列名输出为姓名。

oracle基本操作

oracle基本操作

oracle基本操作Oracle是一种关系数据库管理系统,它是世界上最受欢迎的企业级数据库。

它被各种企业广泛使用,它的功能非常强大,包括数据安全、访问控制、事务处理、性能优化、数据备份和恢复等。

本文将介绍Oracle的基本操作,包括如何创建、修改和删除表,如何插入、更新和删除数据,以及如何查询和导出数据。

这些操作对于初学者来说非常重要,也是使用Oracle的基础。

1.创建表格在Oracle中,创建表的语法如下:CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, .... );其中,table_name是要创建的表的名称,column1、column2等是列名,datatype是列的数据类型。

例如,创建一个名为“employees”的表格,并添加列“id”、“name”和“salary”,则可以使用以下命令:CREATE TABLE employees ( id NUMBER(4) NOT NULL, name VARCHAR2(15) NOT NULL, salary NUMBER(7,2), PRIMARY KEY (id) );注意,id和name列设置为NOT NULL,这表示这两列不能为空。

salary列的数据类型为NUMBER,并设置了精度和小数位数。

2.修改表格如果需要修改表格,可以使用ALTER TABLE命令。

例如,如果想向employees表格添加新的列“address”,可以使用以下命令:ALTER TABLE employees ADD address VARCHAR2(50);如果需要删除表格中的列,可以使用以下命令:ALTER TABLE employees DROP COLUMN address;3.删除表格如果需要删除一个表格,可以使用以下命令:DROP TABLE table_name;例如,删除名为“employees”的表格:DROP TABLE employees;如果不小心使用了错误的命令或者删除的表格不是自己想要的,则可以使用RECOVER命令来找回删除的表格。

oracle常用的SQL及语法

oracle常用的SQL及语法

1、两个oracle 开发工具介绍a)SqlDbx王金生曾推荐过的一款数据库客户端开发工具,使用容易,不需要额外的安装其它插件,有sql提示功能,支持Oracle,Sybase ASE, IBM,DB2/UDB, MicrosoftSQL Server 和ODBC数据源,免费绿色版。

b)PLSQL Developer专门针对oracle开发的一款比较专业的客户端工具,除了常用的数据库操作外,还支持存储过程及函数的调试功能等比较高级的功能,详细的操作可以安装完毕后大家去慢慢研究。

配置方式见网上找的一段方法,第二种:/view/65b5a80f6c85ec3a87c2c583.html以上提到的工具及可能用到的插件见共享目录中的文件。

2、oracle 与 sqlserver 语法大比较a)oracle各类型字段描述b)字段类型比较c)常用函数比较注:此处仅记录语法有区别的地方,更多丰富的语法请查看附件中的手册。

以下的exp为expression的缩写d)关于脏读目前我们使用的sqlserver 数据库,在查询数据时,都要求在select语句中后面跟一个(nolock)或(with nolock)来保证读取大表时不影响其它程序进程的数据操作。

在oracle中,目前还不允许脏读的方式,在每次select 后,读到的数据都是已经commit的数据,所以为了避免读取数据的不准确,程序中如果有比较耗时的sql 操作,尤其是在insert 和update后,尽量减小事务,而且要在事务结束后及时commit。

e)表(主键、外键、CHECK、UNIQUE、DEFAULT、INDEX)在创建表及其主键、外键、CHECK、UNIQUE、DEFAULT、INDEX时,SQL SERVER 与ORACLE的语法大致相同。

主要区别如下:Oracle定义表字段的default属性紧跟字段类型之后,如下:Create table MZ_Ghxx( ghlxh number primay key ,rq date default sysdate not null,….)而不能写成Create table MZ_Ghxx( ghlxh number primay key ,rq date not null default sysdate,….)f)存储过程/函数结构的不同SQLSERVER中存储过程的结构大致如下CREATE PROCEDURE procedure_name/*输入、输出参数的声明部分*/ASDECLARE/*局部变量的声明部分*/BEGIN/*主体SQL语句部分*//*游标声明、使用语句在此部分*/ENDORACLE中存储过程的结构大致如下CREATE OR REPLACE PROCEDURE procedure_name(/*输入、输出参数的声明部分*/ )AS/*局部变量、游标等的声明部分*/BEGIN/*主体SQL语句部分*//*游标使用语句在此部分*/EXCEPTION/*异常处理部分*/END ;ORACLE端FUNCTION语法说明CREATE [OR REPLACE] FUNCTION function_name[(argument [{IN | OUT | IN OUT }] ) type,…[(argument [{IN | OUT | IN OUT }] ) typeRETURN return_type {IS | AS}BEGIN…END;变量赋值在SQL SERVER语句中用如下语句对局部变量赋值(初始值或数据库表的字段值或表达式):“SELECT 局部变量名= 所赋值(初始值或数据库表的字段值或表达式)”;而在ORACLE中,将初始值赋给局部变量时,用如下语句:“局部变量名: = 所赋值(初始值或表达式);”,将检索出的字段值赋给局部变量时,用如下语句:“SELECT 数据库表的字段值INTO 局部变量名…”。

ORACLE10g 命令大全

ORACLE10g 命令大全

ORACLE 10g命令大全构件与体系结构常用的环境变量ORACLE_HOME:将要安装oracle软件的目录,指向oracle二进制文件应该安装到的位置。

ORACLE_BASE:主机服务器上用于oracle软件的顶级目录ORACLE_SID:定义一个unix用户会话应该连接到服务器上的那个实例,不能多于8个字符。

ORACLE_OWNERORACLE_TERMDISPLAYSHLIB_PATHLD_LIBRARY_PATH:指定oracle共享对象库的位置.在unix系统上,这个变量通常指向$ORACLE_HOME/lib 或者是$ORACLE_HOME/lib32目录ORA_NLS33NLS_LANGPATH:告诉操作系统在unix那些目录中查找可执行文件TMPDIRTNS_ADMIN:保存oracle net配置文件的位置DBCA_RAW_CONFIGTERMCLASSPATHTWO_TASK:指定一个将要用在unix系统上的默认oracle net连接串—如果用户没有指定任何连接串OFA模型用于unix文件系统和安装点的命名约定用于目录路径的命名约定用于数据文件的命名约定用于oracle相关文件的标准位置Oracle企业管理框架网格控制必须管理许多的数据库、应用服务器、web服务器和其他构件的企业可以采用em grid controlEm grid control是一个基于web的用户界面,它与oracle企业内所有构件进行通讯并集中管理这些构件。

Dba可以从一个统一的位置使用em grid control来监视和管理整个计算环境,其中包括主机、数据库、监听器、应用服务器、http服务器和web应用软件。

oracle管理服务器是一个基于java的web构件,该构件是dba用来监视和控制oracle企业框架内各个受管理目标的实际界面oracle储存库已收集到并与受管理目标有关的配置和监视信息被存储到一个oracle管理储存库中。

oracle 最常用的命令

oracle 最常用的命令
5、查看日志文件
select member from v$logfile;
6、查看表空间的使用情况
select sum(bytes)/(1024*1024) as free_space,tablespace_name
from dba_free_space
group by tablespace_name;
查看某表的创建时间
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
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
3、查看回滚段名称及大小
selectsegment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
SQL>select * from user_tab_privs;
2.表
查看用户下所有的表
SQL>select * from user_tables;
查看名称包含log 字符的表
SQL>select object_name,object_id from user_objects

oracle基本操作命令

oracle基本操作命令

oracle基本操作命令Oracle是目前最为流行和广泛使用的数据库管理系统之一,它可以帮助企业轻松高效地进行数据管理和分析。

作为一个Oracle数据库管理员或开发人员,了解一些基本操作命令,对于日常工作和维护数据库是非常必要的。

下面我们来简单介绍一些Oracle基本操作命令。

1. 登录数据库Oracle的登录命令为:sqlplus /nolog,它会打开一个sql>的命令行,提示用户输入数据库账号和密码登陆。

2. 创建表格Oracle通过create table命令来创建表格。

它的基本格式为:create table tablename (columnname datatype, columnnamedatatype, …);3. 插入数据通过insert命令可以将数据插入表格中。

格式为:insert into tablename(column1, column2, ...) values(value1, value2, ...);4. 查询数据Oracle的查询语句为select。

例如:select * from tablename,将会显示表格中的所有数据。

5. 更新数据通过update命令可以更新表格中的数据。

格式为:update tablename set column=value where condition;6. 删除数据和表格Oracle的删除语句为delete和drop。

delete用于删除表格中的数据,格式为:delete from tablename where condition;而drop则是直接删除整个表格,格式为:drop table tablename;以上是Oracle基本操作命令的简单介绍。

当然,Oracle还有很多高级功能和操作命令,需要用户自行查找学习。

掌握一些基本操作命令,可以使用户更好的管理和维护Oracle数据库,提高工作效率。

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 ONNEXT 100m maxsize unlimited;--创建临时表空间create temporary tablespace dzdj31cz_temp (表空间名)tempfile 'd:\oracle\product\10.2.0\oradata\orcl\dzdj31cz_temp01.dbf'size 32Mautoextend onnext 32M maxsize 2048Mextent 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 sdeADD 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;--表空间离线在线:离线的表空间无法访问,用于数据维护。

Linux_oracle命令大全

Linux_oracle命令大全

Linux_oracle命令大全一,启动1.#su - oracle 切换到oracle用户且切换到它的环境2.$lsnrctl status 查看监听及数据库状态3.$lsnrctl start 启动监听4.$sqlplus / as sysdba 以DBA身份进入sqlplus5.SQL>startup 启动db二,停止1.#su - oracle 切换到oracle用户且切换到它的环境2.$lsnrctl stop 停止监听3.$sqlplus / as sysdba 以DBA身份进入sqlplus4.SQL>SHUTDOWN IMMEDIATE 关闭db其中startup和shutdowm还有其他一些可选参数,有兴趣可以另行查阅三,查看初始化参数及修改1.#su - oracle 切换到oracle用户且切换到它的环境2.$sqlplus / as sysdba 以DBA身份进入sqlplus3.SQL>show parameter session; 查看所接受的session数量###################################################### Oracle process与session2008年12月29日星期一15:47Connected to Oracle Database 10g Release 10.1.0.5.0Connected as ifsappSQL> show parameter sessionNAME TYPE V ALUE------------------------------------ ----------- ------------------------------java_max_sessionspace_size integer 0java_soft_sessionspace_limit integer 0license_max_sessions integer 0license_sessions_warning integer 0logmnr_max_persistent_sessions integer 1session_cached_cursors integer 0session_max_open_files integer 10sessions integer 225shared_server_sessions integerSQL> show parameters processes;NAME TYPE V ALUE------------------------------------ ----------- ------------------------------aq_tm_processes integer 0db_writer_processes integer 1gcs_server_processes integer 0job_queue_processes integer 3log_archive_max_processes integer 2processes integer 200SQL> alter system set processes=600 scope=both;SQL>SQL> alter system set processes=600 scope=both;alter system set processes=600 scope=bothORA-02095: specified initialization parameter cannot be modified SQL> alter system set sessions=600 scope=both;alter system set sessions=600 scope=bothORA-02095: specified initialization parameter cannot be modified SQL>SQL> alter system set processes=600 scope=spfile;System alteredSQL> show parameters processes;NAME TYPE V ALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 0db_writer_processes integer 1gcs_server_processes integer 0job_queue_processes integer 3log_archive_max_processes integer 2processes integer 200SQL> alter system set processes=600 scope=memory;alter system set processes=600 scope=memoryORA-02095: specified initialization parameter cannot be modified重启数据库之后生效:SQL> show parameters processes;NAME TYPE V ALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 0db_writer_processes integer 1gcs_server_processes integer 0job_queue_processes integer 3log_archive_max_processes integer 2processes integer 600SQL> show parameter sessionNAME TYPE V ALUE------------------------------------ ----------- ------------------------------java_max_sessionspace_size integer 0java_soft_sessionspace_limit integer 0license_max_sessions integer 0license_sessions_warning integer 0logmnr_max_persistent_sessions integer 1session_cached_cursors integer 0session_max_open_files integer 10sessions integer 665shared_server_sessions integer修改Oracle process 和session 的方法先备份spfile1.通过SQLPlus修改Oracle的sessions和processes的关系是sessions=1.1*processes + 5使用sys,以sysdba权限登录:SQL> show parameter processes;NAME TYPE V ALUE------------------------------------ ----------- --------------------------------------- aq_tm_processes integer 1db_writer_processes integer 1job_queue_processes integer 10log_archive_max_processes integer 1processes integer 150SQL> alter system set processes=400 scope = spfile;系统已更改。

Oracle不同版本IMP,EXP命令详解

Oracle不同版本IMP,EXP命令详解

Oracle 不同版本IMP/EXP 命令详解Imp常用用法Oracle的导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文件。

imp使用的基本格式:imp[username[/password[@service]]],以下例举imp常用用法。

1. 获取帮助imp help=y2. 导入一个完整数据库imp system/manager file=bible_db log=dible_db full=y ignore=y3. 导入一个或一组指定用户所属的全部表、索引和其他对象imp system/manager file=seapark log=seapark fromuser=seapark impsystem/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold) 4. 将一个用户所属的数据导入另一个用户imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copyimp system/manager file=tank log=tank fromuser=(seapark,amy)touser=(seapark1, amy1)5. 导入一个表imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)6. 从多个文件导入imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)log=paycheck, filesize=1G full=y7. 使用参数文件imp system/manager parfile=bible_tables.parbible_tables.par参数文件:#Import the sample tables used for the Oracle8i Database Administrator's Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import8. 增量导入imp system./manager inctype= RECTORE FULL=Y FILE=AOracle imp/expC:Documents and Settingsadministrator>exp help=yExport: Release 9.2.0.1.0 - Production on 星期三7月28 17:04:43 2004 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.通过输入EXP 命令和用户名/口令,您可以后接用户名/口令的命令:例程: EXP SCOTT/TIGER或者,您也可以通过输入跟有各种参数的EXP 命令来控制“导出”按照不同参数。

oracle语句大全及用法

oracle语句大全及用法

oracle语句大全及用法Oracle语句是Oracle数据库中用于管理和操作数据的SQL语句。

以下是一些常用的Oracle语句及其用法:1. 数据定义语句(DDL)CREATE DATABASE:用于创建新的数据库。

CREATE TABLE:用于创建新的表。

语法如下:sql`CREATE TABLE table_name (column1 datatype1, column2 datatype2, ...);`ALTER TABLE:用于修改现有的表结构,如添加、删除或修改列。

DROP TABLE:用于删除现有的表。

CREATE INDEX:用于在表上创建索引,以提高查询性能。

2. 数据操纵语句(DML)SELECT:用于从表中查询数据。

语法如下:sql`SELECT column1, column2, ... FROM table_name;`INSERT INTO:用于向表中插入新的数据行。

语法如下:sql`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);`UPDATE:用于修改表中的现有数据。

DELETE:用于从表中删除数据。

3. 数据控制语句(DCL)GRANT:用于授予用户或角色对数据库对象的访问权限。

REVOKE:用于撤销用户或角色对数据库对象的访问权限。

4. 事务控制语句(TCL)COMMIT:用于提交当前事务,使所做的更改永久生效。

ROLLBACK:用于撤销当前事务,恢复到事务开始前的状态。

SAVEPOINT:用于在事务中设置保存点,以便在之后的某个时刻可以回滚到该点。

5. 其他常用语句DECLARE:用于声明变量或常量,并为其分配数据类型和初始值。

BEGIN ... END:用于定义PL/SQL代码块的开始和结束。

IF ... THEN ... ELSE:用于条件判断,根据条件执行不同的操作。

(完整版)ORACLE命令大全

(完整版)ORACLE命令大全

ORACLE命令大全1. 执行一个SQL脚本文件SQL>start file_nameSQL>@ file_name我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,上面的任一命令即可,这类似于dos中的批处理。

2. 对当前的输入进行编辑SQL>edit3. 重新运行上一次运行的sql语句SQL>/4. 将显示的内容输出到指定文件SQL> SPOOL file_name在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。

5. 关闭spool输出SQL> SPOOL OFF只有关闭spool输出,才会在输出文件中看到输出的内容。

6.显示一个表的结构SQL> desc table_name7. COL命令:主要格式化列的显示形式。

该命令有许多选项,具体如下:COL[UMN] [{ column|expr} [ option ...]]Option选项可以是如下的子句:ALI[AS] aliasCLE[AR]FOLD_A[FTER]FOLD_B[EFORE]FOR[MAT] formatHEA[DING] textJUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}LIKE { expr|alias}NEWL[INE]NEW_V[ALUE] variableNOPRI[NT]|PRI[NT]NUL[L] textOLD_V[ALUE] variableON|OFFWRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]1). 改变缺省的列标题COLUMN column_name HEADING column_headingFor example:Sql>select * from dept;DEPTNO DNAME LOC---------- ---------------------------- ---------10 ACCOUNTING NEW YORK sql>col LOC heading locationsql>select * from dept;DEPTNO DNAME location--------- ---------------------------- -----------10 ACCOUNTING NEW YORK2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:Sql>select * from empDepartment name Salary---------- ---------- ----------10 aaa 11SQL> COLUMN ENAME HEADING ’Employee|Name’Sql>select * from empEmployeeDepartment name Salary---------- ---------- ----------10 aaa 11note: the col heading turn into two lines from one line.3). 改变列的显示长度:FOR[MAT] formatSql>select empno,ename,job from emp;EMPNO ENAME JOB---------- ---------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMANSql> col ename format a40EMPNOENAME JOB ---------- ---------------------------------------- --------- 7369SMITH CLERK 7499ALLEN SALESMA 7521WARD SALESMAN4). 设置列标题的对齐方式JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}SQL> col ename justify centerSQL> /EMPNO ENAME---------- ---------------------------------------- --------- 7369SMITH CLERK 7499ALLEN SALESMA 7521WARD SALESM 对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边5). 不让一个列显示在屏幕上NOPRI[NT]|PRI[NT]SQL> col job noprintSQL> /EMPNO ENAME---------- ----------------------------------------7369 SMITH7499 ALLEN7521 WARD6). 格式化NUMBER类型列的显示:SQL> COLUMN SAL FORMAT $99,990SQL> /EmployeeDepartment Name Salary Commission---------- ---------- --------- ----------30 ALLEN $1,600 3007). 显示列值时,如果列值为NULL值,用text值代替NULL值COMM NUL[L] textSQL>COL COMM NUL[L] text8). 设置一个列的回绕方式WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]COL1--------------------HOW ARE YOU?SQL>COL COL1 FORMAT A5SQL>COL COL1 WRAPPEDCOL1-----HOW ARE YOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOWAREYOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOW A9). 显示列的当前的显示属性值SQL> COLUMN column_name10). 将所有列的显示属性设为缺省值SQL> CLEAR COLUMNS8. 屏蔽掉一个列中显示的相同的值BREAK ON break_columnSQL> BREAK ON DEPTNOSQL> SELECT DEPTNO, ENAME, SALFROM EMPWHERE SAL < 2500ORDER BY DEPTNO;DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 11009. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n个空行BREAK ON break_column SKIP nSQL> BREAK ON DEPTNO SKIP 1SQL> /DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 110010. 显示对BREAK的设置SQL> BREAK11. 删除6、7的设置SQL> CLEAR BREAKS12. Set 命令:该命令包含许多子命令:SET system_variable valuesystem_variable value 可以是如下的子句之一:APPI[NFO]{ON|OFF|text}ARRAY[SIZE] {15|n}AUTO[COMMIT]{ON|OFF|IMM[EDIATE]|n}AUTOP[RINT] {ON|OFF}AUTORECOVERY [ON|OFF]AUTOT[RACE] {ON|OFF|TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]] BLO[CKTERMINATOR] {.|c}CMDS[EP] {;|c|ON|OFF}COLSEP {_|text}COM[PATIBILITY]{V7|V8|NATIVE}CON[CAT] {.|c|ON|OFF}COPYC[OMMIT] {0|n}COPYTYPECHECK {ON|OFF}DEF[INE] {&|c|ON|OFF}DESCRIBE [DEPTH {1|n|ALL}][LINENUM {ON|OFF}][INDENT {ON|OFF}] ECHO {ON|OFF}EDITF[ILE] file_name[.ext]EMB[EDDED] {ON|OFF}ESC[APE] {\|c|ON|OFF}FEED[BACK] {6|n|ON|OFF}FLAGGER {OFF|ENTRY |INTERMED[IATE]|FULL}FLU[SH] {ON|OFF}HEA[DING] {ON|OFF}HEADS[EP] {||c|ON|OFF}INSTANCE [instance_path|LOCAL]LIN[ESIZE] {80|n}LOBOF[FSET] {n|1}LOGSOURCE [pathname]LONG {80|n}LONGC[HUNKSIZE] {80|n}MARK[UP] HTML [ON|OFF] [HEAD text] [BODY text] [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]NEWP[AGE] {1|n|NONE}NULL textNUMF[ORMAT] formatNUM[WIDTH] {10|n}PAGES[IZE] {24|n}PAU[SE] {ON|OFF|text}RECSEP {WR[APPED]|EA[CH]|OFF}RECSEPCHAR {_|c}SERVEROUT[PUT] {ON|OFF} [SIZE n] [FOR[MAT] {WRA[PPED]|WOR[D_ WRAPPED]|TRU[NCATED]}]SHIFT[INOUT] {VIS[IBLE]|INV[ISIBLE]}SHOW[MODE] {ON|OFF}SQLBL[ANKLINES] {ON|OFF}SQLC[ASE] {MIX[ED]|LO[WER]|UP[PER]}SQLCO[NTINUE] {> |text}SQLN[UMBER] {ON|OFF}SQLPRE[FIX] {#|c}SQLP[ROMPT] {SQL>|text}SQLT[ERMINATOR] {;|c|ON|OFF}SUF[FIX] {SQL|text}TAB {ON|OFF}TERM[OUT] {ON|OFF}TI[ME] {ON|OFF}TIMI[NG] {ON|OFF}TRIM[OUT] {ON|OFF}TRIMS[POOL] {ON|OFF}UND[ERLINE] {-|c|ON|OFF}VER[IFY] {ON|OFF}WRA[P] {ON|OFF}1). 设置当前session是否对修改的数据进行自动提交SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}2).在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句SQL> SET ECHO {ON|OFF}3).是否显示当前sql语句查询或修改的行数SQL> SET FEED[BACK] {6|n|ON|OFF}默认只有结果大于6行时才显示结果的行数。

oracle中exp及imp的使用详解

oracle中exp及imp的使用详解
oracle中exp,imp的使用详解
基本语法和实例:
1、EXP:
有三种主要的方式(完全、用户、表)
1、完全:
EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
如果要执行完全导出,必须具有特殊的权限
3、 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4、 将数据库中的表table1中的字段filed1以"00"打头的数据导出
更多资料如下:
Oracle的exp工具有一个query参数可以指定一个where条件来有条件地导出记录, 对于不经常用这个选项的人来说, 经常会遇到这样的错误:
LRM-00112: multiple values not allowed for parameter 'query'
EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
feedback=100000 volsize=0
file=exp_icdmain_csd_yyyymmdd.dmp
log=exp_icdmain_csd_yyyymmdd.log
tables=moninformation,icdmain.serviceinfo,icdmain.dealinfo
其他Unix平台的应当和Solaris下的一样, 我自已也经常搞错. 在上面的例子中已经说明了如何在query值中使用单引号, 因此在看完这篇后, 就应当可以写出正确的where条件了. 最好是写在一个参数文件里, 这样的话就不用注意这些了.

orcal的基本命令

orcal的基本命令

svrmgrl,Server Manager.
6. 请问如何分辨某个用户是从哪台机器登陆ORACLE的?
以system/manager登陆,输入:
SELECT machine , terminal FROM V$SESSION;
7. 用什么语句查询字段呢?
desc table_name 可以查询表的结构
8. 怎样计算一个表占用的空间的大小?
以system/manager登陆,输入:
select owner,table_name,
NUM_ROWS,
BLOCKS*AAA/1024/1024 Size M,
EMPTY_BLOCKS,
LAST_ANALYZED
from dba_tables
b.tablespace_name --表空间名,
b.bytes --字节数,
(b.bytes-sum(nvl(a.bytes,0))) --已使用,
sum(nvl(a.bytes,0)) --剩余空间,
where table_name=XXX;
注: AAA是 db_block_size 的值;
XXX是你将要计算的表的名字
9. 如何查看最大会话数?
以system/manager登陆,输入:
SELECT * FROM V$PARAMETER WHERE NAME LIKE proc%;
comment on table 表 is 表注释;
comment on column 表.列 is 列注释;
select * from user_tab_comments where comments is not null;

ORACLE数据库sql语言、函数及常用命令

ORACLE数据库sql语言、函数及常用命令

ORACLE结构查询语言SQL语言(新增内容为红色)一、概念介绍:数据库DATABASE、表TABLE、列COLUMN、行ROW、关键字PRIMARY KEY、索引INDEX二、列的类型:字符CHAR和V ARCHAR2、数值NUMBER、长整形LONG、双浮点FLOAT、超长大型数据LONG RAM(照片、图形、描述等不定长数据)、日期DATE(包含日期和时间)。

CHAR (5) 和V ARCHAR2(5)的区别是CHAR不足5位后面自动加上空格,V ARCHAR2不加。

三、列的非空属性NOT NULL:如果一个列具有非空属性,则在给该表增加、修改数据时必须保证该列有内容,否则会出错。

如果一个列允许为空,该列可以不放任何内容,即空值(在SQL中书写为NULL),空值不是空格,如果一个列内容为空值,则该列不等于任何值(包括空值)。

例如:列SAGE1、SAGE2的内容为空,列SAGE3内容为20,则下面的逻辑表达式全部为NULL:SAGE1=SAGE2、SAGE1<>SAGE2、SAGE1=SAGE3、SAGE3>SAGE1。

下面的逻辑表达式全部为真:SAGE1 IS NULL、SAGE3 IS NOT NULL。

下列表达式全为空:sage1+100,sage2+sage3 四、特殊约定:1.所有SQL语句以分号结束不是以回车换行结束。

2.中扩号代表选项,就是其中的内容可有可无。

3.下面讲的列名在很多情况下也可以是表达式。

4.表名格式:[用户名.]表名,例如:user001.student,如果不注名用户,则说明是当前用户的表。

五、建表或视图语句CREATE格式:CREATE TABLE 表名(列名类型长度[NOT NULL],列名类型长度[NOT NULL],列名类型长度[NOT NULL],列名类型长度[NOT NULL],列名类型长度[NOT NULL]);CREATE VIEW 视图名AS SELECT ……;CREATE TABLE 表名AS SELECT ……;Create table as 经常在修改一个表前备份该表,而且运行速度很快且不用提交例如:Select table a_student as select * from student;Create table as 还可以用来复制表结构假设目前有三张表Student(sno,sname,ssex,sage,sdept) 学生表Sno:学号Sname:姓名Ssex:性别Sage:年龄Sdept:所在系Course(cno,cname,cpno,ccredit) 课程表Cno:课程号Cname:课程名Cpno:先行课Ccredit:学分Sc(sno,cno,grade) 学生选课表Sno:学号Cno:课程号Grade:分数Create table student1 as select sno,name from student;利用student创建一个仅仅有两个列的student1。

oracleset命令大全

oracleset命令大全

oracleset命令大全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 crtDEF[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(默认值)}LONG {80(默认值)|n}LONGC[HUNKSIZE] {80(默认值)|n}MAXD[ATA] nNEWP[AGE] {1(默认值)|n}NULL textNUMF[ORMAT] 格式NUM[WIDTH] {10(默认值)|n}PAGES[IZE] {14(默认值)|n}PAU[SE] {OFF(默认值)|ON|text}RECSEP {WR[APPED](默认值)|EA[CH]|OFF} RECSEPCHAR { |C}SCAN {OFF|ON(默认值)}SERVEROUT[PUT] {OFF|ON} [SIZE n]SHOW[MODE] {OFF(默认值)|ON}SPA[CE] {1(默认值)|n}SQLC[ASE] {MIX[ED](默认值)|LO[WER]|UP[PER]} SQLCO[NTINUE] {>;(默认值)|文本}SQLN[UMBER] {OFF|ON(默认值)}SQLPER[FIX] {#(默认值)|C}SQLP[ROMPT] {SQL>;(默认值)|文本}SQLT[ERMINATOR] {;(默认值)|C|OFF|ON(默认值)} SUF[FIX] {SQL(默认值)|文本}TAB {OFF|ON(默认值)}TERM[OUT] {OFF|ON(默认值)}TI[ME] {OFF(默认值)|ON}TIMI[NG] {OFF(默认值)|ON}TRIM[OUT] {OFF|ON(默认值)}UND[ERLINE] {-(默认值)|C|OFF|ON(默认值)} VER[IFY] {OFF|ON(默认值)}系统变量说明:ARRAY[SIZE] {20(默认值)|n} 置一批的行数,是SQL*PLUS一次从数据库获取的行数,有效值为1至5000. 大的值可提高查询和子查询的有效性,可获取许多行,但也需要更多的内存.当超过1000时,其效果不大.AUTO[COMMIT] {OFF(默认值)|ON|IMM[EDIATE]} 控制ORACLE对数据库的修改的提交. 置ON时,在ORACLE执行每个SQL 命令或PL/SQL块后对数据库提交修改;置OFF时则制止自动提交,需要手工地提交修改,例如用SQL的COMMIT命令. IMMEDIATE功能同ON.BLO[CKTERMINATOR] {.(默认值)|C} 置非字母数字字符,用于结束PL/SQL块.要执行块时,必须发出RUN命令或/命令.CMDS[EP] {;|C|OFF(默认值)|ON} 置非字母数字字符,用于分隔在一行中输入的多个SQL/PLUS命令.ON或OFF控制在一行中是否能输入多个命令. ON时将自动地将命令分隔符设为分号(;).其中C表示所置字符.COM[PATIBILITY] {V5|V6|V7|NATIVE(默认值)} 指定当前所链接的ORACLE版本.如果当前ORACLE的版本为5,则置COMPATIBILITY 为V5; 为版本6时置成V6; 为版本7时置成V7. 如果希望由数据库决定该设置,在置成NATIVE.CON[CAT] {.(默认值)|C|OFF|ON(默认值)}设置结束一替换变量引用的字符.在中止替换变量引用字符之后可跟所有字符,作为体会组成部分,否则SQL*PLUS将解释为替换变量名的一部分.当CONCAT开关为ON时,SQL*PLUS可重置CONCAT的值为点(.).COPYC[OMMIT] {0(默认值)|n} 控制COPY命令提交对数据库修改的批数.每次拷贝n批后,将提交到目标数据库.有效值为0到5000. 可用变量ARRAYSIZE设置一批的大小.如果置COPYCOMMIT为0,则仅在COPY操作结束时执行一次提交.CRT crt 改变SQL*PLUS RUNFORM命令使用的缺省CRT文件.如果置CRT不包含什么,则crt仅包含''''.如果在一个Form的系统调用期间,要使用NEW.CRT(缺省CRT是OLD.CRT),可按下列形式调用Form: SQL>;RUNFORM -C NEW form名或者SQL>;SET CRT NEWSQL>;RUNFORM form名第二中方法存储CRT选择,以致在下次运行RUNFORM命令(是在同一次SQL*PLUS 交互中)时,不需要指定.DEF[INE] {&|C|OFF|ON(默认值)} 设置在替换变量时所使用的字符.ON或OFF控制SQL*PLUS是否扫描替换变量的命令及用他们的值代替. DEFINE的ON或OFF的设置控制SCAN变量的设置.ECHO {OFF|ON} 控制START命令是否列出命令文件中的每一命令.为ON时,列出命令;为OFF时,制止列清单.EMBEDDED {OFF(默认值)|ON} 控制每一报表在一页中开始的地方. 为OFF时,迫使每一报表是在新页的顶部开始;为ON时,运行一报表在一页的仸何位置开始.ESC[APE] { (默认值)|C|OFF(默认值)|ON} 定义作为Escape字符的字符.为OFF时,使Escape字符不起作用.为ON时,使Escape字符起作用.FEED[BACK] {6(默认值)|n|OFF|ON} 显示由查询返回的记录数.ON和OFF置显示为开或关.置FEEDBACK为ON时,等价于置n为1. 如果置FEEDBACK为0,等价于将它置成OFF.FLU[SH] {OFF|ON(默认值)} 控制输出送至用户的显示设备.为OFF 时,运行操作系统做缓冲区输出;为ON时,不允许缓冲. 仅当非交互方式运行命令文件时使用OFF,这样可减少程序I/O总是,从而改进性能.HEA[DING] {OFF|ON(默认值)} 控制报表中列标题的打印.为ON 时,在报表中打印列标题;为OFF时禁止打印列标题.HEADS[EP] {|(默认值)|C|OFF|ON(默认值)} 定义标题分隔字符.可在COLUMN命令中使用标题分隔符,将列标题分成多行.ON和OFF将标题分隔置成开或关.当标题分隔为关(OFF)时,SQL*PLUS打印标题分隔符像仸何字符一样.LIN[ESIZE] {80(默认值)|n} 置SQL*PLUS在一行中显示的字符总数,它还控制在TTITLE和BTITLE中对准中心的文本和右对齐文本. 可定义LINESIZE为1至最大值,其最大值依赖于操作系统.LONG {80(默认值)|n} 为显示和拷贝LONG类型值的最大宽度的设置. 对于ORACLE7, n的最大值为2G字节;对于版本6,最大值为32767.LONGC[HUNKSIZE] {80(默认值)|n} 为SQL*PLUS检索LONG类型值的增量大小.由于内存的限制,可按增量检索,该变量仅应用于ORACLE7.MAXD[ATA] n 置SQL*PLUS可处理的最大行宽字符数,其缺省值和最大值在不同操作系统中是可变的.NEWP[AGE] {1(默认值)|n} 置每一页的头和顶部标题之间要打印的空行数.如果为0, 在页之间送一换号符,并在许多终端上清屏.NULL text 设置表示空值(null)的文本,如果NULL没有文本,则显示空格(缺省时). 使用COLUMN命令中的NULL子句可控制NULL变量对该列的设置.NUMF[ORMAT] 格式设置显示数值的缺省格式,该格式是数值格式.NUM[WIDTH] {10(默认值)|n} 对显示数值设置缺省宽度.PAGES[IZE] {14(默认值)|n} 置从顶部标题至页结束之间的行数.在11英寸长的纸上打印报表,其值为54,上下各留一英寸(NEWPAGE值为6).PAU[SE] {OFF(默认值)|ON|text} 在显示报表时,控制终端滚动.在每一暂停时,必须按RETURN键.ON将引起SQL*PLUS在每一报表输出页开始时暂停.所指定的文本是每一次 SQL*PLUS暂停时显示的文本.如果要键入多个词,必须用单引号将文本括起来.RECSEP {WR[APPED](默认值)|EA[CH]|OFF}RECSEPCHAR { |C} 指定显示或打印记录分行符的条件.一个记录分行符,是由RECSEPCHAR指定的字符组成的单行.空格为RECSEPCHAR的默认字符.RECSEP 告诉SQL*PLUS在哪儿做记录分隔.例如将RECSEP置成WRAPPED,在每一缠绕行之后,打印记录分行符.如果将RECSEP置成EACH,SQL*PLUS在每一行后打印一记录分行符.如果将RECSEP置成OFF, SQL*PLUS不打印分行符.SCAN {OFF|ON(默认值)} 控制对存在的替换变量和值的扫描.OFF 禁止替换变量和值的处理; ON则允许正常处理.SERVEROUT[PUT] {OFF|ON} [SIZE n] 控制在SQL*PLUS中的存储过程是否显示输出.OFF时为禁止; ON时则显示输出. SIZE设置缓冲输出的字节数,缺省值为2000, n不能小于2000或大于一百万.SHOW[MODE] {OFF(默认值)|ON} 控制SQL*PLUS在执行SET命令时是否列出其新老值old或new的设置.SPA[CE] {1(默认值)|n} 设置输出列之间空格的数目,其最大值为10.SQLC[ASE] {MIX[ED](默认值)|LO[WER]|UP[PER]} 先于执行之前,将SQL命令和PL/SQL块的大小写进行转换. SQL*PLUS将转换命令中的全部文本,包括带引号的直接量和标示符.SQLCASE不改变SQL缓冲区本身.SQLCO[NTINUE] {>;(默认值)|文本} 在一附加行上继续一SQL*PLUS命令时,SQL*PLUS以该设置的字符序列进行提示.SQLN[UMBER] {OFF|ON(默认值)} 为SQL命令和PL/SQL块的第二行和后继行设置提示.为ON时,提示行号;为OFF时,提示设置为SQLPROMPT的值.SQLPER[FIX] {# (默认值)|C} 设置SQL*PLUS前缀字符.在键入一SQL命令或PL/SQL块时,可在单独行上键入一SQL*PLUS命令,由SQL*PLUS 的前缀字符做前缀. SQL*PLUS直接执行该命令,不影响SQL命令或PL/SQL块.前缀字符必须是非字母数字字符.SQLP[ROMPT] {SQL>;(默认值)|文本} 设置SQL*PLUS的命令提示符.SQLT[ERMINATOR] {;(默认值)|C|OFF|ON(默认值)} 设置用于结束和执行SQL命令的字符. OFF意味着SQL*PLUS不识别命令终止符,用键入空行来结束SQL命令. ON重设置终止符为默认的分号(;).SUF[FIX] {SQL(默认值)|文本} 设置缺省文件的后缀,SQL*PLUS在命令中使用,来引用命令文件. SUFFIX不控制输出(spool)文件的扩展名.TAB {OFF|ON(默认值)} 决定SQL*PLUS在终端输出中如何格式化空白空间. 为OFF时,在输出中使用空格格式化空白空间;为ON时,用TAB字符. TAB的缺省值依赖于系统,用SHOW TAB命令可查看该缺省值.TERM[OUT] {OFF|ON(默认值)} 控制由文件执行命令所产生的输出的显示. OFF禁止显示,以致从一个命令文件假脱机输出,在屏幕上看不到输出. ON时显示输出. TERMOUT OFF 不影响交互地进行命令的输出.TI[ME] {OFF(默认值)|ON} 控制当前日期的显示. ON时,在每条命令提示前显示当前时间; OFF时禁止时间的显示.TIMI[NG] {OFF(默认值)|ON} 控制时间统计的显示. ON时,显示每一个运行的SQL 命令或PL/SQL块的时间统计; OFF时,禁止每一个命令的时间统计.TRIM[OUT] {OFF|ON(默认值)} 决定SQL*PLUS在每一显示行的末端是否允许带空格. ON时将每行尾部的空格去了,特别当从慢速的通信设备存取SQL*PLUS时可改进性能; OFF时允许SQL*PLUS显示尾部的空格.TRIMOUT ON 不影响假脱机输出. 设置TAB ON时,SQL*PLUS忽略TRIMOUT ON.UND[ERLINE] {-(默认值)|C|OFF|ON(默认值)} 设置用在SQL*PLUS报表中下划线列标题的字符. ON或OFF将下划线置成开或关.VER[IFY] {OFF|ON(默认值)} 控制SQL*PLUS用值替换前、后是否列出命令的文本. ON时显示文本;OFF时禁止列清单.WRA[P] {OFF|ON(默认值)} 控制SQL*PLUS是否截断数据项的显示. OFF时截断数据项;ON时允许数据项缠绕到下一行. 在COLUMN命令中使用WRAPPED和TRUNCATED子句可控制对指定列的WRAP的设置.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 membersql> '/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]2.创建本地管理表空间(9i中无需指定,因为9i全部使用local表空间)sql> create tablespace user_data datafile 'c:\oracle\oradat a\user_data01.dbf'sql> size500mextent management local uniform size10m;3.创建temporary tablespacesql> create temporary tablespace temp tempfile 'c:\oracle\o radata\temp01.dbf'sql> size500mextent management local uniform size10m;4.改变表空间的默认存储属性sql> alter tablespace app_data minimum extent2m;sql> alter tablespace app_data default storage(initial2mnex t2mmaxextents 999);5.改变表空间online和offlinesql> alter tablespace app_data offline;sql> alter tablespace app_data online;6.使表空间只读/只写sql> alter tablespace app_data read only|write;7.删除表空间sql> drop tablespace app_data including contents and datafi les;8.使数据文件自动扩展sql> alter tablespace app_data add datafile 'c:\oracle\orad ata\app_data01.dbf' size200msql> autoextend on next10mmaxsize500m;9.改变数据文件大小sql> alter database datafile 'c:\oracle\oradata\app_data.db f' resize200m;10.移动数据文件到别的磁盘或者更改名字sql> alter tablespace app_data rename datafile 'c:\oracle\o radata\app_data.dbf'sql> to 'c:\oracle\app_data.dbf';三:关于表操作1.创建表sql> create table table_name (column datatype,column dataty pe]....)sql> tablespace tablespace_name [pctfree integer] [pctused integer]sql> [initrans integer] [maxtrans integer]sql> storage(initial 200k next 200k pctincrease 0 maxextent s 50)sql> [logging|nologging] [cache|nocache]2.复制一个已经存在的表sql> create table table_name [logging|nologging]assubquery 3.创建一个临时表sql> create global temporary table xay_temp as select * fro m xay;on commit preserve rows/on commit delete rows4.表的pctfree和pctused计算pctfree = (average row size - initial row size) *100 /avera ge row sizepctused = 100-pctfree- (average row size*100/available data space)5.改变表的存储参数sql> alter table table_name pctfree=30 pctused=50 storage(n ext 500ksql> minextents 2 maxextents 100);6.手工为表分配一个区sql> alter table table_name allocate extent(size 500k dataf ile 'c:/oracle/data.dbf');7.移动一个表sql> alter table employeemovetablespace users;8.重新分配没有使用的表的空间sql> alter table table_name deallocate unused [keep intege r]9.清除表数据(不能恢复)sql> truncate table table_name;10.删除一个表sql> drop table table_name [cascade constraints];11.删除表中的列sql> alter table table_name drop column comments cascade co nstraints checkpoint 1000;alter table table_name drop columns continue;12.使表中某列失效sql> alter table table_name set unused column comments casc ade constraints;alter table table_name drop unused columns checkpoint 1000; alter table orders drop columns continue checkpoint 1000 data_dictionary : dba_unused_col_tabs四:关于索引的1.创建function-based索引sql> create index summit.item_quantity on summit.item(quant ity-quantity_shipped);2.创建B-tree索引sql> create [unique] index index_name on table_name(colum n,.. asc/desc) tablespacesql> tablespace_name [pctfree integer] [initrans integer] [maxtrans integer]sql> [logging | nologging] [nosort] storage(initial 200k ne xt 200k pctincrease 0sql> maxextents 50);3.索引的pctfreepctfree(index)=(maximum number of rows-initial number of ro ws)*100/maximum number of rows5.创建bitmap索引sql> create bitmap index xay_id on xay(a) pctfree 30 storag e( initial 200k next 200ksql> pctincrease 0 maxextents 50) tablespace indx;6.改变索引的存储参数sql> alter index xay_id storage (next 400k maxextents 100);7.为索引分配区空间sql> alter index xay_id allocate extent(size 200k datafile 'c:/oracle/index.dbf');五:约束1.定义一个约束sql> alter session set constraint[s] = immediate/deferred/d efault;set constraint[s] constraint_name/all immediate/deferred;2.删除约束sql> drop table table_name cascade constraintssql> drop tablespace tablespace_name including contents cas cade constraints3.在创建表时定义约束sql> create table xay(id number(7) constraint xay_id primar y key deferrablesql> using index storage(initial 100k next 100k) tablespace indx);primary key/unique/references table(column)/check4.enable constraintssql> alter table xay enable novalidate constraint xay_id;5.enable constraintssql> alter table xay enable validate constraint xay_id;六:LOAD数据1.插入table(emp_old)数据到empsql> insert /*+append */ into emp nologgingsql> select * from emp_old;2.并行插入sql> alter session enable parallel dml;sql> insert /*+parallel(emp,2) */ into emp nologgingsql> select * from emp_old;3.oracle数据导入工具sql*loadersql> sqlldr scott/tiger \sql> control = ulcase6.ctl \sql> log = ulcase6.log direct=true七:reorganizing data1.export数据$exp scott/tiger tables(dept,emp) file=c:\emp.dmp log=exp.l og compress=n direct=y2.import数据$imp scott/tiger tables(dept,emp) file=emp.dmp log=imp.log ignore=y3.导出一个表空间数据sql>alter tablespace sales_ts read only;$exp sys/.. file=xay.dmp transport_tablespace=y tablespace= sales_tstriggers=n constraints=n4.导入一个表空间数据$imp sys/.. file=xay.dmp transport_tablespace=y datafiles= (/disk1/sles01.dbf,/disk2/sles02.dbf)sql> alter tablespace sales_ts read write;八:managing password security and resources1.改变用户密码sql> alter user juncky identified by oracle;2.使用密码函数sql> function_name(userid in varchar2(30),password in varch ar2(30),old_password in varchar2(30)) return boolean3.创建一个包括密码限制的profile文件sql> create profile grace_5 limit failed_login_attempts 3 sql> password_lock_time unlimited password_life_time 30 sql>password_reuse_time 30 password_verify_function verify_ functionsql> password_grace_time 5;4.altering a profilesql> alter profile default failed_login_attempts 3sql> password_life_time 60 password_grace_time 10;5.删除一个profilesql> drop profile grace_5 [cascade];6.创建一个包含资源限制的profile文件sql> create profile developer_prof limit sessions_per_user 2sql> cpu_per_session 10000 idle_time 60 connect_time 480; 7.查看profile的两个数据字典dba_Users,dba_profiles8.使资源限制生效sql> alter system set resource_limit=true;九:Managing users1.创建一个用户sql> create user juncky identified by oracle default tables pace userssql> temporary tablespace temp quota10mon data password exp iresql> [account lock|unlock] [profile profilename|default]; 2.现在一个用户使用某个表空间sql> alter user juncky quota 0 on users;3.删除用户sql> drop user juncky [cascade];十:managing privileges1.查看权限的数据字典system_privilege_map ,dba_sys_privs,session_privs2.授予系统权限sql> grant create session,create table to managers;sql> grant create session to scott with admin option;with admin option can grant or revoke privilege from any us er or role;3.dba的权限sysoper: startup,shutdown,alter database open|mount,alter d atabase backup controlfile,alter tablespace begin/end backup,recover databasealter database archivelog,restricted sessionsysdba: sysoper privileges with admin option,create databas e,recover database until4.回收系统权限sql> revoke create table from karen;sql> revoke create session from scott;5.授予object权限sql> grant execute on dbms_pipe to public;sql> grant update(first_name,salary) on employee to karen w ith grant option;6.查看dba权限dba_tab_privs, dba_col_privs7.revoke object privilegesql> revoke execute on dbms_pipe from scott [cascade constr aints];8.查看系统审计sys.aud$9. protecting the audit trailsql> audit delete on sys.aud$ by access;10.审计用户sql> audit user;11.对summit执行select语句操作进行审计sql> audit select any table by summit by access;12.对成功执行的lock语句进行审计sql> audit lock on summit.employee by access whenever succe ssful;13.一些重要数据字典all_def_audit_opts,dba_stmt_audit_opts,dba_priv_audit_opts, dba_obj_audit_optsdba_audit_trail,dba_audit_exists,dba_audit_object,dba_audit _session,dba_audit_statement十一:manager role1.创建角色sql> create role sales_clerk;sql> create role hr_clerk identified by bonus;sql> create role hr_manager identified externally;2.修改角色属性sql> alter role sales_clerk identified by commission; sql> alter role hr_clerk identified externally;sql> alter role hr_manager not identified;3.分配角色给用户sql> grant sales_clerk to scott;sql> grant hr_clerk to hr_manager;sql> grant hr_manager to scott with admin option;4.分配默认角色sql> alter user scott default role hr_clerk,sales_clerk;sql> alter user scott default role all;sql> alter user scott default role all except hr_clerk; sql> alter user scott default role none;5.生效和失效角色sql> set role hr_clerk;sql> set role sales_clerk identified by commission;sql> set role all except sales_clerk;sql> set role none;6.收回用户的角色sql> revoke sales_clerk from scott;sql> revoke hr_manager from public;7.删除角色sql> drop role hr_manager;8.角色相关数据字典dba_roles,dba_role_privs,role_role_privs,dba_sys_privs,role _sys_privs,role_tab_privs,session_roles十二: BACKUP and RECOVERY1.系统重要维护数据字典v$sga,v$instance,v$process,v$bgprocess,v$database,v$datafil e,v$sgastat2. Rman need setdbwr_IO_slaves or backup_tape_IO_slaves and large_pool_size 3. Monitoring Parallel Rollback> v$fast_start_servers , v$fast_start_transactions4.脱机冷备> shutdown immediate> cp files /backup/> startup5.restore to a different location> connect system/manager as sysdba> startup mount> alter database rename file '/disk1/../user.dbf' to '/disk 2/../user.dbf';> alter database open;6.recover syntax--recover a mounted database>recover database;>recover datafile '/disk1/data/df2.dbf';>alter database recover database;--recover an opened database>recover tablespace user_data;>recover datafile 2;>alter database recover datafile 2;7.how to apply redo log files automatically>set autorecovery on>recover automatic datafile 4;plete recovery:--method 1(mounted databae)>copy c:\backup\user.dbf c:\oradata\user.dbf>startup mount>recover datafile 'c:\oradata\user.dbf;>alter database open;--method 2(opened database,initially opened,not system or r ollback datafile)>copy c:\backup\user.dbf c:\oradata\user.dbf (alter tablesp ace offline)>recover datafile 'c:\oradata\user.dbf' or>recover tablespace user_data;>alter database datafile 'c:\oradata\user.dbf' online or>alter tablespace user_data online;--method 3(opened database,initially closed not system or r ollback datafile)>startup mount>alter database datafile 'c:\oradata\user.dbf' offline;>alter database open>copy c:\backup\user.dbf d:\oradata\user.dbf>alter database rename file 'c:\oradata\user.dbf' to 'd:\or adata\user.dbf'>recover datafile 'd:\oradata\user.dbf' or recover tablespa ce user_data;>alter tablespace user_data online;--method 4(loss of data file with no backup and have all ar chive log)>alter tablespace user_data offline immediate;>alter database create datafile 'd:\oradata\user.dbf' as 'c: \oradata\user.dbf''>recover tablespace user_data;>alter tablespace user_data online5.perform an open database backup> alter tablespace user_data begin backup;> copy files /backup/> alter database datafile '/c:/../data.dbf' end backup; > alter system switch logfile;6.backup a control file> alter database backup controlfile to 'control1.bkp'; > alter database backup controlfile to trace;7.recovery (noarchivelog mode)> shutdown abort> cp files> startup8.recovery of file in backup mode>alter database datafile 2 end backup;9.clearing redo log file>alter database clear unarchived logfile group 1;>alter database clear unarchived logfile group 1 unrecovera ble datafile;10.redo log recovery>alter database add logfile group 3 'c:\oradata\redo03.log' size 1000k;>alter database drop logfile group 1;>alter database open;or >cp c:\oradata\redo02.log' c:\oradata\redo01.log>alter database clear logfile 'c:\oradata\log01.log';。

相关文档
最新文档