入门基础——Oracle快速入门

文章作者 100test 发表时间 2007:03:14 13:50:51
来源 100Test.Com百考试题网


修改密码方法:
1.sql> grant connect to usrname identified by usrpwd .
2.sql> alter user usrname identified by usrpwd .
3.sql> password usrname .
更改 usrnmae 的口令
旧口令:××××××
新口令:××××××
重新键入新口令:××××××

修改成oracle认证方法:

1.修改参数文件中
remote_login_passwordfile=exclusive 或shared
2.修改/home/network/admin/sqlnet.ora 文件
增加 sqlnet.authentication_services=(nfs)

oracle_sid是操作系统级的参数
instance_name是数据库级的参数
spfile 是服务器参数文件
pfile 是文本参数文件
create pfile=/oracle/test.ora from spfile .
show parameter spfile . 后如果value值是零,则没有使用spfile。
启动数据库是可以指定是用pfile还是用spfile启动 如下:
startup pfile=/oracle/test.ora

show parameter instance
show parameter db

alter system set job_queue_processes=50
comment =temporaty change on
scope = memory|spfile|both .

alter session set

concat(good, string) goodstring
substr(string,1,3) str
length(string) 6
instr(string, r) 3
lpad(sal,10,*) ******5000

union
union all
minus 第一个查询减去第二个查询
intersect 交集

sql> 0select replace(itpub oracle,oracle,training) itpub from dual
/

itpub
itpub training

translate
sql> 0select translate(this is second trianing of itpub in beijing!,abcde,12345) itpub
2 from dual.

itpub

this is s53on4 tri1ning of itpu2 in b5ijing!

floor
sql> 0select floor(4.55) from dual.

floor(4.55)

4
ceil
sql> 0select ceil(4.55) from dual.
ceil(4.55)

5

round: 4舍5入到指定的小数位
round(45.926, 2) 45.93
trunc: 将值截断到指定的小数位
trunc(45.926, 2) 45.92
mod: 返回相除后的余数
mod(1600, 300) 100

0select trunc(sysdate, d) - 3 from dual.

trunc(sysdate, d), 截取到本周的第一天(0:00)
trunc(sysdate, m), 截取到本月的第一天(0:00)
trunc(sysdate, dd), 截取到本日的0:00
trunc(sysdate,yyyy)得到今年的第一天的0:00.

十进制与十六进制
eygle@vilen> 0select to_char(2463,xxxx) from dual.

to_ch

99f

已选择 1 行。
十六进制与十进制
eygle@vilen> 0select to_number(99f,xxxx) from dual.

to_number(99f,xxxx)

2463

sql> 0select ename,sal,
2 case job when manager then 1.1*sal
3 when analyst then 1.2*sal
4 when clerk then 1.5*sal
5 else sal end "new_sal"
6 from emp.

ename sal new_sal

smith 800 1200
allen 1600 1600
ward 1250 1250
jones 2975 3272.5
martin 1250 1250
blake 2850 3135
clark 2450 2695
scott 3000 3600
king 5000 5000
turner 1500 1500
adams 1100 1650
james 950 1425
ford 3000 3600
miller 1300 1950

sql> 0select job, sal,
2 decode(job, analyst sal*1.1,
3 clerk, sal*1.15,
4 manager, sal*1.20,
5 sal)
6 revised_salary
7 from emp.
job sal revised_salary

president 5000 5000
manager 2850 3420
manager 2450 2940

将空值转换为实际的值
数据格式可以是日期,字符,数字
数据类型必须匹配
nvl(comm,0)
nvl(hiredate,01-jan-97)
nvl(job,no job yet)

nvl2(expr1,expr2,expr3)

如果expr1不为null,返回expr2,如果expr1为null,返回expr3。
expr1可以为任何数据类型

nullif(expr1,expr2)
比较两个表达式,如果相等返回空值,如果不等返回第一个值。

coalesce(expr1,expr2,...,exprn)
返回表达式列表里的第一个非空表达式

错误:

在启动数据库时出现ora-01157,ora-01110或操作系统级错误例如ora-07360,
  在关闭数据库(使用shutdown normal或shutdown immediate) 时将导致错误ora
  -01116,ora-01110以及操作系统级错误ora-07368

解决:

以下有两种解决方案:

1.用户的表空间可以被轻易地重建

即最近导出的对象是可用的或表空间中的对象可以被轻易地重建等.在这种情况下,最简单的方法是offline并删除该数据文件,删除表空间并重建表空间以及所有的对象.

svrmgrl> startup mount
  svrmgrl> alter database datafile filename offline 0drop.
  svrmgrl> alter database open.
  svrmgrl> 0drop tablespace tablespace_name including contents.
  重建表空间及所有对象.

2.用户的表空间不能够被轻易地重建

在大多数情况下,重建表空间是不可能及太辛苦的工作.方法是倒备份及做介质恢复.如果您的系统运行在noarchivelog模式下,则只有丢失的数据在online redo log中方可被恢复。

相关文章


ORACLE与SQLSERVER语言比较
OracleMetalink帐号重要更改策略
Eclipse是如何连接Oracle数据库的
Oracle的TNS-12502错误原因及解决
入门基础——Oracle快速入门
OracleSQL内置函数大全之二
Oracle9i数据库WITH查询语法小议
如何选择知识管理系统的数据库平台(1)
OracleSQL内置函数大全之一
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛