OCP SQL基本命令

 1  、环境

vncviewer 192.168.100.253

 

 

2、用户管理相关的Shell脚本

 

useradd -g dba oracle

groupadd dba

 

passwd oracle

 

3、

 

变量替换

&

&& 替换一次 后面不用再替换了

 

4、如何查看Oracle的SID名称

 

ps -ef|grep oracle

 

show parameter instance_id

 

5、如何直接运行SQL/Plus生效?

 

编辑环境变量

 

linux: .bash_profile

 

UNIX:  .profile

 

ORALCE_HOME=/bin

ORACLE_SID=

 

PATH=$ORACLE_HOME/bin:/home/oracle/bin

 

export ORACLE_HOME ORACLE_SID PATH

 

 

请注意一定要export这些变量

 

使用VI修改完毕后,使用如下命令保证这些变量在当前环境已经生效

 

使得父进程环境变量有效

 

而export只是使得子进程的环境变量有效

 

source .bash_profile 

 

UNIX:. .profile

 

如果直接调用只是使得在运行.bash_profile这个进程中有效。

 

6、Oracle 11g的安装

 

(1)建立oracle用户和dba用户组

 

groupadd dba

useradd -g dba oracle oracle

 

(2)、使用root解压两个zip文件

 

(如果使用oracle解压则省略第三步)

 

unzip *oracle 1*.zip

unzip *oracle 2*.zip

 

(3)  解压后看到database文件夹改变这个文件夹的所有者为oracle

 

chown -R oracle:dba database

 

更改组也可以:

 

chgrp dba database

 

chgrp :dba database

 

(4)

在oracle用户下运行 xhost +

xclock 查看是否弹出窗口,确保可以弹出oracle安装界面

 

运行./runInstaller

 

注意:文件的权限一定要是oracle或者其他用户,安装不能在root下进行

 

(5)安装完毕后,设置环境变量ORACLE_HOME ORACLE_SID

 

(6)运行/home/app/oracle/product/11.2.0/dbms_1/dbs下的root.sh

 

(7)运行SQLPLUS

sqlplus / as sysdba

 

alter user hr identified by hr account unlock;

 

(8)运行/home/app/oracle/product/11.2.0/dbms_1/sqldeveloper.sh 使用hr/hr登录数据库

 

 

**** trunc和round函数都是保留在指定的位上

 

7、round函数的使用

 

SQL> select round(43.78,-1) from dual;

 

ROUND(43.78,-1)

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

             40

 

SQL> select round(43.78,1) from dual;

 

ROUND(43.78,1)

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

          43.8

 

去年的上半年和今年的上半年的日期经过round后,日期为今年的一月一号

 

SQL> select round(date'2012-05-01','YEAR') from dual;

 

ROUND(DATE'201

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

01-1月 -12

 

SQL> select round(date'2012-07-01','YEAR') from dual;

 

ROUND(DATE'201

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

01-1月 -13

 

8、trunc函数

 

 

 

SQL> select trunc(sysdate,'q') from dual;

 

TRUNC(SYSDATE,

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

01-10月-12

 

SQL> select trunc(sysdate,'month') from dual;

 

TRUNC(SYSDATE,

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

01-11月-12

 

SQL> select trunc(sysdate,'year') from dual;

 

TRUNC(SYSDATE,

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

01-1月 -12

 

 

9、RR

 

采用RR的话

当前时间如果为>=50 那么>=50的值就是当前世纪,<50的为下一世纪

当前时间如果<50 那么<50的值就是当前世纪,>=50为上一世纪

 

10、日期是否可以作为NULL的参数值

 

TO_NUMBER(sysdate)

select nvl(sysdate,230) from dual; //error

 

11、隐式转换和显示转换

 

char varhcar2 to date

char varchar2 to number

 

比如发生在NVL NVL2 NULLIF中

 

DD-MON-RR

 

hh24:mi:ss

 

12、

 

q'<'s>'

''作为单引号

 

13、count(*)与count(name)

 

select  avg(limit) from emp; 空值行不作为一行

select avg(nvl(limit,0)) from emp;

空值行也被作为1行

 

 

14、

group by 不能使列名

order by 可以是列名

 

15、

select * from hr.employees where JOB_ID like '%\_%' escape '\' 

 

16、sftp 192.168.100.30

 

get ./* /liwenjie/soft

put ./ /liwenjie/soft/*

 

rpm -ivh *.rpm

 

rpm -U

 

lcd

 

groupadd -g

useradd  -r

 

chown oracle:dba /database

 

 

16、

 

col COLUMNNAME for a40

 

start/@ SQL脚本

 

list

 

list 1

 

/ 执行上一个脚本

 

 

17、define x=30

 

select &x from dual;

 

set verify on;

 

set verify off;

原值 新值替换过程就没有了

 

ho[st] SQL命令 在SQLPLUS中执行

 

sav 

 

spool on

 

spool off

 

sqlplus liwenjie/liwenjie@localhost:1521/orcl

 

 

18、如何查看用户下的所有的表?

sqlplus 下 select * from tab

select table_name from dba_tables  where owner='HR' and table_name like 

 

你可能感兴趣的:(Oracle)