分享
 
 
 

Oracle学习快速入门基础教程

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

修改密码方法: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 = memoryspfileboth ;

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>; select replace('itpub oracle','oracle','training') itpub from dual /

ITPUB

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

itpub training

Translate SQL>; select 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>; select floor(4.55) from dual;

FLOOR(4.55)

-----------

4 Ceil SQL>; select 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

select 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>; select to_char(2463,'xxxx') from dual;

TO_CH

-----

99f

已选择 1 行。

十六进制与十进制EYGLE@vilen>; select to_number('99f','xxxx') from dual;

TO_NUMBER('99F','XXXX')

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

2463

SQL>; select 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>; SELECT 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 drop;svrmgrl>; alter database open;svrmgrl>; drop tablespace tablespace_name including contents;重建表空间及所有对象。

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

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

步骤如下:

1)Restore the lost datafile from a backup 2)svrmgrl>; startup mount 3)svrmgrl>; select v1.group#,member,sequence#,first_change#

>; from v$log v1,v$logfile v2

>; where v1.group#=v2.group#;

4)假如数据库运行在NOARCHIVELOG模式下则:svrmgrl>; select file#,change# from v$recover_file;假如 CHANGE# 大于最小的FIRST_CHANGE#则数据文件可以被恢复。假如 CHANGE# 小于最小的FIRST_CHANGE#则数据文件不可恢复。 恢复最近一次的全备份或采用方案一。

5)svrmgrl>; recover datafile filename;6)确认恢复成功7)svrmgrl>; alter database open resetlogs;

3.只读表空间无需做介质恢复,只要将备份恢复即可。唯一的例外是:

表空间在最后一次备份后被改为read-write 模式表空间在最后一次备份后被改为read-only 模式在这种情况下,均需进行介质恢复

二、临时表空间

临时表空间并不包含真正的数据,恢复的方法是删除临时表空间并重建即可。

三、系统表空间

假如备份不可用,则只能采用重建数据库的方法

四、回滚表空间

有两种情况:

1、数据库已经完全关闭(使用shutdown immediate或shutdown命令)

1) 确认数据库完全关闭2) 修改init.ora文件,注释"rollback-segment" 3) svrmgrl>; startup restrict mount 4) svrmgrl>; alter database datafile filename offline drop;5) svrmgrl>; alter database open;基于出现的结果:"statement processed" 转(7)

"ORA-00604,ORA-00376,ORA-01110"转(6)

6) svrmgrl>; shutdown immediate修改init.ora文件,增加如下一行:_corrupted_rollback_segments = (,……)

svrmgrl>; startup restrict 7) svrmgrl>; drop tablespace tablespace_name including contents;重建表空间及回滚段9) svrmgrl>; alter system disable restricted session;10) 修改init.ora文件

2、数据库未完全关闭(数据库崩溃或使用shutdown abort命令关闭数据库)

1) 恢复备份2) svrmgrl>; startup mount 3) svrmgrl>; select file#,name,status from v$datafile;svrmgrl>; alter database datafile filename online;4) svrmgrl>; select v1.group#,member,sequence#,first_change#

>; from v$log v1,v$logfile v2

>; where v1.group#=v2.group#;

5) svrmgrl>; select file#,change# from v$recover_file;见一方案2-4 6) svrmgrl>; recover datafile filename;7) svrmgrl>; alter database open;

3、数据库处于打开状态

1) 删除回滚段和表空间2) 重建表空间和回滚段

五、控制文件恢复

1.所有的控制文件均被破坏

将备份的控制文件拷贝至原目录下对于RAW DEVICE,则:dd if='con.bak' of='/dev/rdrd/drd1' seek=128

2.并非所有的控制文件均被破坏用其他的控制文件启动数据库。

3. 数据文件上所存储的表select a.segment_name from dba_extents a,dba_data_files b where a.file_id = b.file_id and b.file_name = '文件名全路径' and a.segment_type = 'TABLE'

job不能自动运行check db parameters

job_queue_processes

if it set to 0 then set it larger than 0

job_queue_processes=1

问题描述

执行如下语句select session_id,object_name from v$locked_object a,dba_objects b where a.object_id=b.object_id

error: ora-03212 Temporary Segment cannt be cteated in locally-managed tablespace.

更改为sys 用户 以dba登录,可以查询。

SHUTDOWN IMMEDIATE;STARTUP MOUNT;RECOVER DATABASE;ALTER DATABASE OPEN;

查看表大小!

select segment_name,(bytes/1024)/1024'M' 大小,((BLOCKS*DB_BLOCK_SIZE)/1024)/1024'M'占用空间from dba_segments where segment_name = ……

db_block_size 是参数

查询未提交事务select username, SID',' SERIAL# ses, T.STATUS , START_TIME, RN.NAME, USED_UBLK, USED_UREC from v$transaction T, v$session S, v$rollstat RS, v$rollname RN where T.SES_ADDR = S.SADDR and T.XIDUSN = RS.USN and RN.USN = RS.USN order by USED_UBLK;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有