oracle自学入门教程,Oracle学习快速入门基础教程

修改密码方法:1.SQL>; grant connect to USRNAME identified by USRPWD ;2.SQL>; alter user USRNAME identified by USRPWD ;3.SQL>; password USRNAME ;更改 USRNMAE 的口令旧口令:××××××新口令:××××××重新键入新口令:××××××[@more@]修改成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>; 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.

十进制与十六进制>; select to_char(2463,'xxxx') from dual;

TO_CH

-----

99f

已选择 1 行。

十六进制与十进制>; 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;

目录如下: 1 Oracle 结构组件 目标 1-2 基本结构概述 1-3 Oracle 服务器 1-4 Oracle 实例 1-5 建立连接和创建会话 1-6 Oracle 数据库 1-7 物理结构 1-8 内存结构 1-9 系统全局区(SGA) 1-10 共享池 1-12 库缓存 1-13 数据字典缓冲区 1-14 数据库缓冲区 1-15 重做日志缓冲区 1-18 大储存池 1-19 JAVA 池 1-20 程序全局区(PGA) 1-21 进程结构 1-22 用户进程 1-23 服务进程 1-24 后台进程 1-25 数据库写进程(DBWn) 1-26 日志写进程(LGWR) 1-27 系统监控器(SMON) 1-28 进程监控器(PMON) 1-29 检查点进程(CKPT) 1-30 归档进程(ARCn) 1-31 逻辑结构 1-32 执行一个 SQL 语句 1-33 小结 1-34 2 Oracle 服务器入门 目标 2-2 数据库管理工具 2-3 Oracle 通用安装程序 2-4 交互式安装 2-5 使用反应文件的非交互式安装 2-6 Oracle 数据库配置助手 2-8 最优灵活体系结构(OFA) 2-9 Oracle 软件和文件位置 2-10 数据库管理员用户 2-11 ii 数据管理员的验证方式 2-12 使用密码文件验证 2-13 SQL*PLUS 2-14 Oracle 企业管理器 2-15 Oracle 企业管理器结构:基于 JAVA 的控制台和应用程序 2-16 Oracle 企业管理器结构:管理节点 2-17 Oracle 企业管理器控制台 2-18 DBA 工具 2-19 小结 2-20 3 管理 Oracle 实例 目标 3-2 初始化参数文件 3-3 PFILE initSID.ora 3-5 PFILE 例子 3-6 SPFILE spfileSID.ora 3-7 创建一个 SPFILE 3-8 SPFILE 例子 3-9 Oracle 管理文件 3-10 Oracle 管理文件例子 3-11 打开一个数据库 3-12 STARTUP 命令 3-15 ALTER DATABASE 命令 3-16 以受限模式打开数据库 3-17 以只读模式打开数据库 3-18 关闭数据库 3-19 关闭选项 3-20 用检测诊断文件管理一个实例 3-22 警报日志文件 3-23 后台跟踪文件 3-24 用户跟踪文件 3-25 允许和禁止用户跟踪 3-26 小结 3-26 4 创建数据库 目标 4-2 管理和组织一个数据库 4-3 创建的前提条件 4-4 规划数据文件的位置 4-5 创建数据库的方法 4-6 操作系统环境 4-7 使用数据库配置助手 4-8 创建数据库 4-9 数据库信息 4-10 iii 典型或用户自定义安装 4-11 其它参数 4-12 完成数据库创建 4-13 手动创建数据库 4-14 准备参数文件 4-15 创建 SPFILE 4-15 启动实例 4-16 创建数据库 4-17 使用 OMF 创建数据库 4-19 差错检测 4-20 数据库创建以后 4-21 小结 4-22 5 数据字典内容和使用 目标 5-2 数据字典 5-3 数据字典内容 5-5 如何使用数据字典 5-6 数据字典视图种类 5-7 动态性能表 5-8 查询数据字典和动态性能视图 5-9 数据字典例子 5-10 小结 5-10 6 维护控制文件 目标 6-2 控制文件 6-3 控制文件的内容 6-4 使用 SPFILE 多重控制文件 6-5 使用 init.ora 多重控制文件 6-6 用 OMF 管理控制文件 6-7 获得控制文件的信息 6-8 小结 6-9 7 维护重做日志文件 目标 7-2 使用重做日志文件 7-3 重做日志文件的结构 7-4 重做日志是如何工作的 7-5 强制日志切换和检查点 7-6 增加联机重做日志组 7-7 增加联机重做日志成员 7-8 删除联机重做日志组 7-9 删除联机重做日志成员 7-10 iv 清除、重定位或重命名联机重做日志文件 7-11 联机重做日志的配置 7-12 用 OMF 管理联机重做日志 7-13 获取组和成员的信息 7-14 归档重做日志文件 7-16 小结 7-18 8 管理表空间和数据文件 目标 8-2 概述 8-3 数据库的储存层次 8-5 SYSTEM 和非 SYSTEM 表空间 8-7 创建表空间 8-8 表空间的空间管理 8-9 本地管理表空间 8-10 字典管理表空间 8-11 改变存储设置 8-12 回滚表空间 8-13 临时表空间 8-14 缺省临时表空间 8-15 缺省临时表空间的限制 8-16 脱机状态 8-17 只读表空间 8-19 删除表空间 8-20 改变表空间的大小 8-21 允许数据文件的自动增长 8-22 手工改变数据文件的大小 8-23 给表空间添加数据文件 8-24 移动数据文件:ALTER TABLESPACE 8-25 为表空间的创建设置 ORACLE 管理文件(OMF) 8-27 使用 OMF 创建表空间 8-28 获得表空间的信息 8-29 小结 8-29 9 储存结构与关系 目标 9-2 概述 9-3 段的类型 9-4 储存子句的优先次序 9-7 片的分配和重新分配 9-8 使用和释放片 9-9 数据块 9-10 数据块的内容 9-11 块空间的利用的参数 9-12 v 自动段空间管理 9-14 设置自动段空间管理 9-16 手动数块管理 9-17 块空间的用法 9-18 数据字典视图 9-19 获取储存信息 9-20 小结 9-21 10 管理回滚段 目标 10-2 回滚段管理概述 10-3 回滚段 10-4 回滚段:用途 10-5 读一致性 10-6 回滚段的类型 10-7 自动回滚管理:概念 10-8 自动回滚管理:设置 10-9 自动回滚管理:初始化参数 10-10 自动回滚管理:UNDO 表空间 10-11 自动回滚管理:改变和 UNDO 表空间 10-12 自动回滚管理:转换 UNDO 表空间 10-13 自动回滚管理:删除一个 UNDO 表空间 10-14 自动回滚管理:其它参数 10-15 回滚数据的状态 10-16 自动回滚管理:调整 UNDO 表空间大小 10-17 自动回滚管理回滚配额 10-18 获取回滚段信息 10-19 小结 10-20 11 管理表 目标 11-2 储存用户数据 11-3 Oracle 数据类型 11-5 ROWID 格式 11-8 行的结构 11-10 创建一张表 11-11 创建临时表 11-13 创建表:指南 11-14 修改储存参数 11-15 手工分配片 11-16 重构非分区表 11-17 截断一张表 11-18 删除一张表 11-19 删除一列 11-20 vi 使用 UNUSED 选项 11-21 获取表的信息 11-23 小结 11-25 12 管理索引 目标 12-2 索引的分类 12-3 B 树索引 12-4 位图索引 12-6 B 树索引和位图索引的比较 12-7 创建普通 B 树索引 12-8 创建索引:指导 12-10 创建位图索引 12-11 修改索引的储存参数 12-12 分配和回收索引空间 12-13 重构索引 12-14 联机重构索引 12-16 合并索引 12-17 检查索引的有效性 12-18 删除索引 12-19 确认不使用的索引 12-20 获取索引信息 12-21 小结 12-21 13 维护数据的完整性 目标 13-2 数据的完整性 13-3 约束的类型 13-4 约束的状态 13-5 约束的检测 13-7 定义即时约束或延迟约束 13-8 强制主键和唯一键 13-9 外部关键字的考虑 13-10 在建表时定义完整性约束 13-11 定义约束的指导原则 13-13 允许约束 13-14 使用 EXCEPTIONS 表 13-16 获取约束信息 13-18 小结 13-20 14 管理密码安全和资源 目标 14-2 配置文件 14-3 密码管理 14-4 vii 允许密码管理 14-5 帐号密码锁定 14-6 密码寿命和过期 14-7 密码历史 14-8 密码验证 14-9 用户自定义密码函数 14-10 密码验证函数 VERIFY_FUNCTION 14-11 创建配置文件:密码设置 14-12 修改配置文件:密码设置 14-14 删除配置文件:密码设置 14-15 资源管理 14-16 允许资源限制 14-17 在会话级别设置资源限制 14-18 在调用级别设置资源限制 14-19 创建配置文件:资源限制 14-20 使用数据库资源管理器管理资源的使用 14-22 资源计划指示 14-24 获取密码和资源限制的信息 14-25 小结 14-26 15 管理用户 目标 15-2 用户和安全 15-3 数据库方案 15-4 检查创建用户 15-5 创建新用户:数据库验证 15-6 创建新用户:操作系统验证 15-8 改变用户的表空间限额 15-9 删除用户 15-10 获取用户的信息 15-11 小结 15-12 16 管理权限 目标 16-2 管理权限 16-3 系统权限 16-4 系统权限:例子 16-5 授予系统权限 16-6 SYSDBA 和 SYSOPER 权限 16-7 系统权限限制 16-8 回收系统权限 16-9 使用 WITH ADMIN OPTION 选项时回收系统权限 16-10 对象权限 16-11 授予对象权限 16-12 viii 回收对象权限 16-13 使用 WITH GRANT OPTION 选项时回收对象权限 16-14 获取权限信息 16-15 审计 16-16 审计指南 16-17 审计种类 16-19 数据库审计 16-20 审计选项 16-21 查看审计选项 16-23 获取审计记录 16-24 小结 16-25 17 管理角色 目标 17-2 角色 17-3 角色的优点 17-4 创建角色 17-5 预定义的角色 17-6 修改角色 17-7 分配角色 17-8 建立默认角色 17-9 应用程序角色 17-10 允许和禁止角色 17-11 撤销用户角色 17-13 删除角色 17-14 创建角色指南 17-15 使用密码和默认角色指导原则 17-16 显示角色信息 17-17 小结 17-18 18 使用全球支持 目标 18-2 全球支持特性 18-3 不同类型的方案编码 18-4 数据库的字符集和国家字符集 18-6 选择 Oracle 数据库字符集的指导原则 18-7 选择 Oracle 数据库国家字符集的指导原则 18-8 为双字节字符数据库选择一种统一代码方案 18-9 为双字节字符数据类型选择一种统一代码方案 18-10 指定语言相关行为 18-11 为服务器指定语言相关行为 18-12 语言和地区相关的缺省值 18-13 为会话指定语言相关的行为 18-14 客户端-服务器体系中的字符集 18-15 ix 为会话指定语言相关的行为 18-16 语言排序 18-17 NLS 排序 18-18 在 SQL 函数中使用 NLS 参数 18-20 语言索引支持 18-23 使用 NLS 导入和装载数据 18-24 获取字符集相关的信息 18-25 获取 NLS 相关的设置信息 18-26 全球支持实用工具 18-30 小结 18-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值