`

oracle基本命令收集

阅读更多

函数库查询:

http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96540/functions2a.htm#80856

//连接sqlplus

sqlplus system/storystory@localhost

//网页链接sqlplus http://192.168.1.101:5560/isqlplus/
//后台管理
http://forever:1158/em/

//对账号解锁

//统计表个数

select owner,count(*) from all_tables group by owner;
1.创建表空间
CREATE TABLESPACE CRM
DATAFILE 'C:\oracle\product\10.2.0\oradata\story\CRM.ORA'
SIZE 5M;

//查看表空间信息
SELECT c.tablespace_name tablespace_name, ROUND(a.bytes/1048576,2) total_size,ROUND((a.bytes-b.bytes)/1048576,2) used_size,
ROUND(b.bytes/1048576,2) free_size,
ROUND(b.bytes/a.bytes * 100,2)||'%' free_pct FROM
(SELECT tablespace_name,SUM(a.bytes) bytes
FROM sys.DBA_DATA_FILES a
GROUP BY tablespace_name) a,
(SELECT a.tablespace_name,
NVL(SUM(b.bytes),0) bytes
FROM sys.DBA_DATA_FILES a,
sys.DBA_FREE_SPACE b
WHERE a.tablespace_name = b.tablespace_name (+)
AND a.file_id = b.file_id (+)
GROUP BY a.tablespace_name) b,
sys.DBA_TABLESPACES c
WHERE a.tablespace_name = b.tablespace_name(+)
AND a.tablespace_name = c.tablespace_name
ORDER BY ROUND(b.bytes/1048576,2);

//删除表空间
1.首先看一下是不是已经使用了OMF
   sql>show parameter db_create
查看参数db_create_file_dest,如果已经设置
则:drop tablespace tablespacename 就可以直接删除表空间以及相应的数据文件
2.如果没使用OMF,则:
drop tablespace tablespacename including contents and datafiles

//查看指定用户的表
SELECT TABLE_NAME FROM USER_TABLES;


//修改用户表名字
ALTER TABLE BOOK_INFO RENAME TO BOOKS;
//查看表字段
DESCRIBE DEPART;

//修改表字段名字
ALTER TABLE EMP RENAME COLUMN EMP_TEL TO EMP_TELS;
ALTER TABLE 表名 RENAME COLUMN 旧字段 TO 新字段;


//修改表字段的类型
ALTER TABLE EMP MODIFY EMP_SEX VARCHAR2(20);
//修改表名
ALTER TABLE EMPS RENAME TO EMP;
//添加新字段
ALTER TABLE EMP ADD HEAD VARCHAR2(10);
 //删除表字段
ALTER TABLE EMP DROP COLUMN HEAD;
//复制表
CREATE TABLE EMPS AS SELECT * FROM EMP;


2.创建用户
CREATE USER FOREVER
IDENTIFIED BY FOREVER
DEFAULT TABLESPACE CRM;
//查看当前的所有用户信息
SELECT * FROM ALL_USERS;
//删除指定用户
DROP USER USER_NAME CASCADE;

3.给用户授权
GRANT CONNECT TO FOREVER;
GRANT RESOURCE TO FOREVER;
4.//  当前用户断开服务器
DISCONNECT;

5.//重新连接用户forever
CONNECT FOREVER/FOREVER;
6.//创建表
CREATE TABLE DEPART
(
 DEPART_ID INT PRIMARY KEY,
 DEPART_NAME VARCHAR2(32),
 CREATE_TIME DATE,
 REMARK VARCHAR2(128)
);
CREATE TABLE EMP
(
 EMP_ID INT PRIMARY KEY,
 DEPART_ID INT REFERENCES DEPART(DEPART_ID),
 EMP_NAME VARCHAR2(16),
 EMP_SEX CHAR(2),
 EMP_TEL VARCHAR2(32)
);

//查看表结构
看字段名与数据类型  
  select   *   from   cols     WHERE   TABLE_name=upper('table_name')  
   
  查看主键:  
  select   *   from   user_constraints   where   constraint_type='P'  
  and   TABLE_name=upper('table_name') 


//创建序列:
//为每张表做序列,自增
CREATE SEQUENCE SEQ_DEPART_ID;
CREATE SEQUENCE SEQ_EMP_ID;

//查看序列的下一个值和下一个值。
SELECT SEQ_DEPART_ID.NEXTVAL FROM DUAL;
SELECT SEQ_DEPART_ID.CURRVAL FROM DUAL;
//添加测试数据
INSERT INTO DEPART VALUES (1,'人事部',SYSDATE,'2012年');
INSERT INTO DEPART VALUES (2,'市场部',SYSDATE,'2012年');
INSERT INTO DEPART VALUES (3,'财务部',SYSDATE,'2012年');
INSERT INTO DEPART VALUES (4,'开发部',SYSDATE,'2012年');
INSERT INTO DEPART VALUES (5,'销售部',SYSDATE,'2012年');

INSERT INTO EMP VALUES(2,1,'CHENJUN2','男','88888888');
INSERT INTO EMP VALUES(3,1,'CHENJUN3','男','88888888');
INSERT INTO EMP VALUES(4,1,'CHENJUN4','男','88888888');
INSERT INTO EMP VALUES(5,1,'CHENJUN5','男','88888888');
INSERT INTO EMP VALUES(6,1,'CHENJUN6','男','88888888');
INSERT INTO EMP VALUES(7,1,'CHENJUN7','男','88888888');
INSERT INTO EMP VALUES(8,1,'CHENJUN8','男','88888888');
INSERT INTO EMP VALUES(9,1,'CHENJUN9','男','88888888');
INSERT INTO EMP VALUES(10,1,'CHENJUN10','男','88888888');
INSERT INTO EMP VALUES(11,1,'CHENJUN11','男','88888888');
INSERT INTO EMP VALUES(12,1,'CHENJUN12','男','88888888');
INSERT INTO EMP VALUES(13,1,'CHENJUN13','男','88888888');
INSERT INTO EMP VALUES(14,1,'CHENJUN14','男','88888888');
INSERT INTO EMP VALUES(15,1,'CHENJUN15','男','88888888');
INSERT INTO EMP VALUES(16,1,'CHENJUN16','男','88888888');
INSERT INTO EMP VALUES(17,1,'CHENJUN17','男','88888888');
INSERT INTO EMP VALUES(18,1,'CHENJUN18','男','88888888');
INSERT INTO EMP VALUES(19,1,'CHENJUN19','男','88888888');
INSERT INTO EMP VALUES(20,1,'CHENJUN20','男','88888888');
INSERT INTO EMP VALUES(21,1,'CHENJUN21','男','88888888');
INSERT INTO EMP VALUES(22,1,'CHENJUN22','男','88888888');

//所有的部门的人员信息
SELECT DEPART.DEPART_ID,DEPART.DEPART_NAME,EMP.EMP_NAME,EMP_SEX,EMP_TEL FROM DEPART
LEFT JOIN EMP
ON DEPART.DEPART_ID=EMP.DEPART_ID;

//统计
SELECT COUNT(*) FROM DEPART
LEFT JOIN EMP
ON DEPART.DEPART_ID=EMP.DEPART_ID;

//rowid
SELECT ROWID ,ROWNUM......

//分页语句

 

SELECT MAX(ROWNUM) FROM
(SELECT ROWNUM FROM EMP WHERE ROWNUM<6);

------------------
SELECT * FROM
(SELECT ROWNUM AS NUM,EMP.* FROM EMP WHERE ROWNUM <=(页号)*页大小)
IEMP WHERE IEMP.NUM>(页号-1)*页大小;

LPAD(字段,长度,补充)数据补充

1_1
1_2
1_3
1_4
1_5
1_6
1_7
1_8
1_9
1_10
对以上进行排序操作

统计每个部门下面有多少员工

//对表进行加锁
//对每个分区进行备份
分区方法
范围分区

分区维护
查询分区
删除分区
截断分区
合并相邻的分区
拆分分区
查看一张表分区
序列操作
解锁操作
ALTER USER scott ACCOUNT UNLOCK;

-------------------分割线------------------------------

oracle的一些命令:
      set linesize 300;                     设置行大小
      set pagesize 30;                      设置页(重复出现的标题)
      select * from tab;                    表示查询出当前数据库中使用的所有表
      show user;                            显示当时是哪个用户在登录
      conn scott/tiger                      转换成另scott用户来登录
      conn sys/admin as sysdba              转换成系统管理员登录的方式


字符函数:
SELECT UPPER('smith')FROM DUAL;              转换成大写
SELECT LOWER('SMITH')FROM DUAL;              转换成小写
SELECT SUBSTR('HELLO',1,3)FROM DUAL;         截取字符串的长度(从1开始截取3个)
                                             oracle中截取字符串是从0或1开始截取是没有区别的
SELECT LENGTH('HELLOWORD')FROM DUAL;         表示获得当前字符串的长度
SELECT REPLACE('HELLO','L','X')FROM DUAL;    表示替换字符

 

数字函数:
SELECT ROUND(182.165)FROM DUAL;              表示四舍五入的函数
SELECT TRUNC(789.125,-2)FROM DUAL;           表示进位函数
SELECT MOD(10,3)FROM DUAL;                   表示求余函数

 

日期函数(oracle中的日期函数有一些规律)
   日期-数字=日期
   日期+数字=日期
   日期-日期=数字(天数)
   当前日期:SELECT SYSDATE FROM DUAL;

   MONTHS_BETWEEN()                        求出给定日期范围的月数
   ADD_MONTHS()                            在指定日期上加上指定的月数,求出之后的日期
   NEXT_DAY()                              下一个今天是那一个日期
   LAST_DAY()                               求出给定日期的最后一天日期


  转换函数:
    TO_CHAR:转换成字符串       SELECT TO_CHAR(SYSDATE,'FMYYYY-MM-DD')FROM DUAL;
    TO_NUMBER:转换成数字       SELECT TO_NUMBER('123')+TO_NUMBER('25')FRON DUAL;
    TO_DATE:转换成日期        SELECT TO_DATE('2009-02-16','YYYY-MM-DD')FROM DUAL;
    NVL函数:可以将一个指定的null值变为指定的内容
                               SELECT EMPNO,ENAME,NVL(COMM,0)FROM EMP
    DECODE函数:相当于多从if...elseif...elseif..else
                SELECT DECODE(1,1,'内容是1',2,'内容是2',3,'内容是3')FROM DUAL;


分组函数:
   group by
   having
 1.如果程序中使用咯分组函数,则有两种可以使用使用情况:
      a.程序中存在了group by,并指定了分组条件,这样可以将分组条件一起查询出来
        right:SELECT DEPTNO,MAX(SAL) FROM EMP GROUP BY DEPTNO;
        wrong:SELECT DEPTNO,MIX(SAL) FROM EMP;
      b.如果不使用分组的话,则只能单独的使用分组函数
        right:SELECT COUNT(EMPNO) FROM EMP;
        wrong: SELECT ENAME,SUM(SAL) FROM EMP;
  2.在使用了分组函数的时候,不能出现分组函数和分组条件之外的字段.
      right:SELECT DEPTNO,COUNT(EMPNO) FROM EMP GROUP BY DEPTNO;
      wrong:SELECT DEPTNO,ENAME,MAX(SAL) FROM EMP GROUP BY DEPTNO;
  3.分组函数只能在分组中使用,不允许在where语句之中出现,那么如果现在要指定分组的条件,则只能通过having指定来完成
     right:SELECT DEPTNO,AVG(SAL)FROM EMP GROUP BY DEPTNO HAVING AVG(SAL)>2000
     wrong:SELECT DEPTNO,AVG(SAL)FROM EMP WHERE AVG(SAL)>2000 GROUP BY DEPTNO;
  4.分组函数允许嵌套,但是嵌套之后就不能在查询其他的字段,包括分组字段
     right:SELECT MAX(AVG(SAL)) FROM EMP GROUP BY DEPTNO;
     wrong:SELECT deptno,MAX(AVG(SAL)) FROM EMP GROUP BY DEPTNO;

 

事物处理:所谓的事物处理就是保证数据操作的完整性,所有的操作要么同时成功,要么同时失败,在oracle中对于每一个连接到数据库窗口(sqlplus,sqlplusw)连接之后实际上都会与数据库的连接建立一个
session,即:每一个连接到数据库上的用户都表示创建了一个session(会话)
          一个session对数据库所做的修改,不会立即反映到数据库上真实数据之上,是允许回滚的,当一个session提交所有的操作之后,数据库才真正的做出修改。
     在数据库的操作中提供了以下两个主要命令完成事物的处理:
     * 提交事物:commit
     * 回滚事物:rollback
       如果数据被提交了,肯定是不能在回滚的咯哦。
   注意:在oracle中关于事物的处理上也会存在一种死锁的概念
         一个session如果跟新了数据库中的记录,其他的session是无法立刻跟新的,要等待对方提交之后才允许跟新。

//查询所有员工,在哪个部门,拿多少工资,以及工资等级(3张表级联查询)
SELECT E.ENAME,E.SAL,DNAME,S.GRADE
FROM EMP E,DEPT D,SALGRADE S
WHERE E.DEPTNO=D.DEPTNO AND E.SAL BETWEEN S.LOSAL AND S.HISAL;

 

//查询所有员工,在哪个部门,拿多少工资,以及工资等级?在把所有经理的姓名,工资,工资等级查询出来(5张表级联查询)
SELECT E.ENAME,E.SAL,DNAME,S.GRADE,M.ENAME,M.SAL,MS.GRADE
FROM EMP E,DEPT D,SALGRADE S,EMP M,SALGRADE MS
WHERE E.DEPTNO=D.DEPTNO AND E.SAL BETWEEN S.LOSAL AND S.HISAL AND E.MGR=M.EMPNO AND M.SAL
BETWEEN MS.LOSAL AND MS.HISAL;

 

//按工资等级来查询
SELECT E.ENAME,E.SAL,D.DNAME,
    DECODE(S.GRADE,1,'第五等工资',2,'第四等工资',3,'第三等工资'
    ,4,'第二等工资',5,'第一等工资'),M.ENAME,M.SAL,
    DECODE(MS.GRADE,1,'第五等工资',2,'第四等工资',3,'第三等工资'
    ,4,'第二等工资',5,'第一等工资')
FROM EMP E,DEPT D,SALGRADE S,EMP M,SALGRADE MS
WHERE E.DEPTNO=D.DEPTNO AND E.SAL BETWEEN S.LOSAL AND S.HISAL AND E.MGR=M.EMPNO AND M.SAL BETWEEN MS.LOSAL AND MS.HISAL;

 

//左右连接
//(+)在=右边表示左连接
SELECT E.EMPNO,E.ENAME,D.DEPTNO,D.DNAME,D.LOC
FROM EMP E,DEPT D
WHERE E.DEPTNO=D.DEPTNO(+)

相等于 LEFE OUTER JOIN
SELECT E.EMPNO,E.ENAME,D.DNAME
FROM EMP E LEFT JOIN DEPT D ON(E.DEPTNO=D.DEPTNO)


//(+)在=左边表示右连接
SELECT E.EMPNO,E.ENAME,D.DEPTNO,D.DNAME,D.LOC
FROM EMP E,DEPT D
WHERE E.DEPTNO(+)=D.DEPTNO


相当于RIGHT OUTER JOIN
SELECT E.EMPNO,E.ENAME,D.DNAME
FROM EMP E RIGHT JOIN DEPT D ON(E.DEPTNO=D.DEPTNO)

//查询所有员工姓名,编号,经理编号,姓名
SELECT E.EMPNO,E.ENAME,M.ENAME,M.EMPNO
FROM EMP E,EMP M
WHERE E.MGR=M.EMPNO(+)

//交叉连接(产生了笛卡尔积)
SELECT * FROM EMP CROSS JOIN DEPT;

//自然连接(自动进行关联字段的匹配)
SELECT * FROM EMP NATURAL JOIN DEPT;


//USING()字句直接关联操作列
SELECT * FROM EMP E JOIN DEPT D USING(DEPTNO) WHERE DEPTNO=20;

//ON()表示拥护自己编写连接条件
SELECT * FROM EMP E JOIN DEPT D ON(E.DEPTNO=D.DEPTNO) WHERE E.DEPTNO=20;

 

1.列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数。
   a.按工作分组,分组条件最低工资低于1500。
      SELECT JOB,MIN(SAL)
      FROM EMP
      GROUP BY JOB HAVING MIN(SAL)>1500
   b.工资已经求来了,之后再求全部的雇员人数。
SELECT E.JOB,COUNT(E.EMPNO)
FROM EMP E
WHERE E.JOB IN(
      SELECT JOB
      FROM EMP
      GROUP BY JOB HAVING MIN(SAL)>1500)
GROUP BY E.JOB

 

2.列出在部门"SALES"(销售部)工作的员工的姓名,假定不知道销售部的部门编号。
  a.通过dept表查询出销售部的部门编号
    SELECT DEPTNO FROM DEPT WHERE DNAME='SALES'
  b.将之前的查询作为子查询:
    SELECT ENAME FROM EMP WHERE DEPTNO=(SELECT DEPTNO FROM DEPT WHERE DNAME='SALES')

 

3.列出薪金高于公司平均薪金的所有员工,所在部门,上级领导,公司的工资等级。
  a.求出公司的平均工资
     SELECT AVG(SAL) FROM EMP
  b.列出薪金高于平均工资的所有雇员信息
     SELECT * FROM EMP WHERE SAL>(SELECT AVG(SAL) FROM EMP)
  C.与部门表关联,查询出所在部门的信息
     SELECT E.*,D.LOC
     FROM EMP E,DEPT D
     WHERE SAL>(SELECT AVG(SAL) FROM EMP) AND E.DEPTNO=D.DEPTNO
  d.要想查询出上级领导,要与自身关联
     SELECT E.EMPNO,E.ENAME,M.EMPNO,M.ENAME,D.DEPTNO,D.LOC
     FROM EMP E,DEPT D,EMP M
     WHERE E.SAL>(SELECT AVG(SAL) FROM EMP)
     AND E.DEPTNO=D.DEPTNO AND E.MGR=M.EMPNO(+)
  e.求出雇员的工资等级
    SELECT E.EMPNO,E.ENAME,S.GRADE,M.EMPNO,M.ENAME,D.DEPTNO,D.LOC
     FROM EMP E,DEPT D,EMP M,SALGRADE S
     WHERE E.SAL>(SELECT AVG(SAL) FROM EMP)
     AND E.DEPTNO=D.DEPTNO AND E.MGR=M.EMPNO(+)
     AND E.SAL BETWEEN S.LOSAL AND S.HISAL


4.列出soctt从事相同工作的所有员工及部门名称
   a.找出scott的工作
     SELECT JOB FROM EMP WHERE ENAME='SCOTT'
   b.找出与其相同的雇员
     SELECT EMPNO,ENAME,JOB,SAL FROM EMP WHERE JOB=(SELECT JOB FROM EMP WHERE ENAME='SCOTT')
   c.以上结果中存在scott,实际上现在不应该出现scott
     SELECT EMPNO,ENAME,JOB,SAL FROM EMP WHERE JOB=(SELECT JOB FROM EMP WHERE ENAME='SCOTT') AND ENAME!='SCOTT'
   d.在求出部门名称
     SELECT E.EMPNO,E.ENAME,E.JOB,E.SAL,D.DNAME,D.LOC
     FROM EMP E,DEPT D
     WHERE JOB=(SELECT JOB FROM EMP WHERE ENAME='SCOTT') AND ENAME!='SCOTT'


5.列出薪金高于部门30中员工的薪金的所有员工的姓名和薪金,部门名称
   a.求出30部门员工薪金
   SELECT SAL FROM EMP WHERE DEPTNO=30;
   b.以上面的查询作为子查询的条件
   SELECT ENAME,SAL FROM EMP WHERE SAL IN(SELECT SAL FROM EMP WHERE DEPTNO=30)AND DEPTNO!=30
   c.在之前的程序上进行修改,使用>all,比最大的还要大
   SELECT ENAME,SAL FROM EMP WHERE SAL >ALL(SELECT SAL FROM EMP WHERE DEPTNO=30) AND DEPTNO!=30
   d.与depth表关联,求出部门名称
   SELECT E.ENAME,E.SAL,D.DNAME,D.LOC
   FROM EMP E,DEPT D
   WHERE E.SAL>ALL(SELECT SAL FROM EMP WHERE DEPTNO=30)AND E.DEPTNO!=30  AND E.DEPTNO=D.DEPTNO


6.列出每个部门工资的员工数量,平均工资和平均服务期限
   a.每个部门工作的员工数量:求的时候可以求出部门名称
    SELECT D.DNAME,COUNT(E.EMPNO)
    FROM EMP E,DEPT D
    WHERE E.DEPTNO=D.DEPTNO
    GROUP BY D.DNAME
   b.求出平均工资,和服务期限
    SELECT D.DNAME,COUNT(E.EMPNO),AVG(E.SAL),AVG(MONTHS_BETWEEN(SYSDATE,E.HIREDATE)/12)年
    FROM EMP E,DEPT D
    WHERE E.DEPTNO=D.DEPTNO
    GROUP BY D.DNAME

7.列出所有员工的姓名,部门名称和工资
    直接两张表关联
    SELECT E.ENAME,D.DNAME,E.SAL
    FROM EMP E,DEPT D
    WHERE E.DEPTNO=D.DEPTNO

8.列出所有部门的详细信息和部门人数
   a.列出所有部门的人数
    SELECT DEPTNO DNO,COUNT(EMPNO) COU
    FROM EMP
    GROUP BY DEPTNO
   b.把以上的查询当做一张临时表出现
    SELECT D.*,NVL(ED.COU,0)
    FROM DEPT D,(SELECT DEPTNO DNO,COUNT(EMPNO) COU FROM EMP GROUP BY DEPTNO) ED
    WHERE D.DEPTNO=ED.DNO(+)


9.列出各种工作的最低工资及从事此工作的雇员姓名
    a.按工作分组,使用min()函数求出最低工资
     SELECT JOB,MIN(SAL)
     FROM EMP
     GROUP BY JOB
    b.按工资查出雇员信息
     SELECT * FROM EMP WHERE SAL IN(SELECT MIN(SAL) FROM EMP GROUP BY JOB);


10.列出各个部门manager的最低薪金
    SELECT DEPTNO,MIN(SAL)
    FROM EMP
    WHERE JOB='MANAGER'
    GROUP BY DEPTNO

 


11.列出所有员工的年工资,按年薪从低到高排序。
    a.在处理年薪的时候需要注意奖金,奖金要NVL函数处理
     SELECT ENAME,(SAL+NVL(COMM,0))*12 INCOME FROM EMP ORDER BY INCOME;


12.查处某个员工的上级主管,并要求出这些主管中的新水超过3000
    SELECT DISTINCT M.*
    FROM EMP E,EMP M
    WHERE E.MGR=M.EMPNO AND M.SAL>3000


13.求出部门名称中,只带'S'字符的部门员工的,工资合计,部门人数
   a.查询部门表的部门名称,用模糊查询
     SELECT DEPTNO FROM DEPT WHERE DNAME LIKE '%S%'
   b.使用以上的结果作为新查询的条件
     SELECT DEPTNO,SUM(SAL),COUNT(EMPNO)
     FROM EMP
     WHERE DEPTNO IN(SELECT DEPTNO FROM DEPT WHERE DNAME LIKE '%S%')
     GROUP BY DEPTNO
  
 
14.给任职超过十年的加薪10%(这个问题是个批量跟新)
   UPDATE EMP SET SAL=SAL+(SAL*0.1)WHERE MONTHS_BETWEEN(SYSDATE,HIREDATE)/12>10;


15.一道面试题:
    现在有一张国家表,里面只有一个国家名称字段:内容如下:"中国,美国,巴西,荷兰",现在要求查询实现对战功能:
    中国---美国
    中国---巴西
    中国---荷兰
    美国---中国
    美国---巴西
    美国---荷兰
    ....
   CREATE TABLE NATIONAL
   (
     NAME VARCHAR2(30)
   );
   INSERT INTO NATIONAL VALUES('中国');
   INSERT INTO NATIONAL VALUES('美国');
   INSERT INTO NATIONAL VALUES('巴西');
   INSERT INTO NATIONAL VALUES('荷兰');
  
   SELECT T1.NAME,T2.NAME
   FROM NATIONAL T1,NATIONAL T2
   WHERE T1.NAME<>T2.NAME;
   查看参数描述:

select * from v$nls_parameters;

oracle11修改密码时间限制为无限制.

 

select username,profile from dba_users;

Select * FROM dba_profiles s Where s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

分享到:
评论

相关推荐

    ORACLE 基本命令收集

    数据库增删改查、备份、还原。表空间的创建修改删除、泵备份还原。等命令示例

    oracle基本命令

    以下是一些关于Oracle基本命令的详细说明: 1. **备份与恢复**: - 使用`exp`命令进行导出(备份),例如`exp scott/tiger file=导出文件`用于备份scott用户的数据,`owner`参数可以指定多个用户。 - `imp`命令...

    oracle基本命令[收集].pdf

    本文将根据提供的文件“oracle基本命令[收集].pdf”的内容,详细介绍Oracle中的基本操作命令,帮助读者更好地理解和应用这些命令。 #### 二、登录与连接 **1. sqlplus /nolog** - **命令说明**:使用SQL*Plus工具...

    Oracle RAC 资料收集日常基本维护命令

    ### Oracle RAC 资料收集与日常基本维护命令 #### 概述 Oracle Real Application Clusters (Oracle RAC) 是一种多实例集群数据库技术,它允许多个数据库实例同时访问一个共享数据库。这种架构提高了数据库系统的...

    oracle 笔记和一些基本的 oracle 命令

    这篇笔记和命令集将带你深入了解Oracle的基本操作和管理知识。 首先,我们来了解一下Oracle数据库的基础概念。Oracle数据库是Oracle公司的产品,它采用SQL语言进行数据操作,并通过PL/SQL提供强大的过程编程能力。...

    oracle常用命令集

    创建新表的基本命令如下: ```sql CREATE TABLE table_name (column1 datatype, column2 datatype, ...); ``` 9. 多CPU: 在多CPU环境下,Oracle使用并行执行来提高性能。设置并行度: ```sql ALTER TABLE ...

    Oracle常用命令参考

    以上仅列举了一部分Oracle的常用命令,它们覆盖了数据库管理的各个方面,从基本的数据操作到复杂的事务控制和安全策略。掌握这些命令,对于有效管理和维护Oracle数据库至关重要。接下来的部分将继续深入探讨更多高级...

    oracle命令大全及关于oracle 1000问 日志管理,表空间管理,表,索引等等等等

    `ANALYZE INDEX`命令可收集统计信息以优化查询计划。需要注意的是,虽然索引可以加速查询,但也会占用额外的存储空间并可能影响数据插入和更新速度。 在实际操作中,还会涉及到权限管理、备份与恢复、性能调优等多...

    Oracle_基本知识介绍(Oracle初学者必读)

    13. **数据库性能优化**:Oracle提供了许多工具和方法来优化数据库性能,如查询优化器、统计信息收集、索引调整、表分区等。 14. **安全性**:Oracle数据库具备强大的安全性机制,包括用户认证、角色授权、审计、...

    Oracle数据库操作命令[收集].pdf

    本文将深入解析Oracle数据库的一些基本操作命令,包括登录、关闭与启动数据库、查询信息、管理表空间、创建和修改用户以及操作数据表。 首先,登录Oracle数据库可以通过SQL*Plus工具进行,使用命令`sqlplus system/...

    Oracle 导入和导出命令详解

    ### Oracle 导入(IMP)与导出(EXP)命令详解 #### 一、概述 在Oracle数据库管理中,导入(Import,IMP)与导出(Export,EXP)是两个非常重要的工具,用于数据迁移、备份恢复等场景。本文将详细介绍这两个命令的...

    本人使用的oracle命令集

    Oracle命令集是数据库管理员(DBA)和开发人员在日常工作中不可或缺的工具,它们用于管理、监控、备份和恢复Oracle数据库。以下是一些常见的Oracle命令及其详细解释: 1. **SQL*Plus命令**: SQL*Plus是Oracle提供...

    Oracle常用命令速查手册

    本手册主要聚焦于Oracle数据库的常用命令,旨在帮助用户快速查询和掌握日常操作。以下将详细介绍一些核心的Oracle命令及它们在数据库管理中的应用。 1. 登录与退出: - `sqlplus 用户名/密码@连接标识符`:这是最...

    Oracle常识 Oracle基本知识

    - **分析和重建索引**:`ANALYZE TABLE` 语句的 `COMPUTE STATISTICS` 子句用于收集表和索引的统计信息,帮助优化器做出更好的查询计划,当查询效率低下时可考虑使用。 6. **SQL语法**: - **NULL值处理**:在...

    OracleDBA日常维护操作手册命令总结_Oracle数据库教程.pdf

    根据提供的文件信息,内容涵盖Oracle数据库的日常维护操作以及相关命令的总结,以下是详细的知识点: 1. 表空间 表空间是数据库存储逻辑结构的基本单元,用于组织和管理数据库对象。操作包括创建表空间、创建临时表...

    SQL(oracle)常用命令

    2. **ANALYZE**: 该命令收集关于数据库的统计信息,以优化查询计划和提高性能。 3. **BEGIN/COMMIT/ROLLBACK**: 这些命令用于事务管理。`BEGIN`启动一个事务,`COMMIT`提交事务并保存更改,而`ROLLBACK`则回滚事务...

    ORACLE常用命令

    Oracle数据库是全球广泛使用的...以上是Oracle数据库的一些基本操作命令,掌握这些命令可以满足日常的数据库管理需求。在实际工作中,还需要根据具体场景灵活运用,并不断学习新的Oracle特性以适应不断发展的技术环境。

    Oracle 常用命令

    本文档涵盖了PostgreSQL支持的主要SQL命令及其基本用法。这些命令不仅对于日常的数据库管理和维护至关重要,也是开发人员和数据库管理员必备的基础知识。通过理解和掌握这些命令,可以有效地进行数据操作和管理,...

    oracle里的常用命令.rar

    SQL*Plus中的基本命令包括`CONNECT`(连接到数据库)、`QUIT`(退出会话)、`SPOOL`(将输出重定向到文件)和`SHOW`(显示当前设置)。 2. **数据查询**:SQL是查询Oracle数据库的主要语言。`SELECT`语句用于从表中...

Global site tag (gtag.js) - Google Analytics