?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?
?