当前位置: 代码迷 >> SQL >> OCP SQL根本命令
  详细解决方案

OCP SQL根本命令

热度:289   发布时间:2016-05-05 12:58:45.0
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 [email protected]:1521/orcl

?

?

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

sqlplus 下 select * from tab

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

?

  相关解决方案