Oracle基本操作培训
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢ 解决办法
– 1.通过“SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME' ” 语句查询密码的有效期设置,LIMIT字段是密码有效天数。
– 2.长久对应可通过“ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ”语句将口令有效 期默认值180天修改成“无限制”。
删除用户和表空间
➢ 删除用户语句
– drop user topo cascade; – cascade:级联删除,即在删除用户时加上这个关键字,会在删除这个用户的同时删除和该用户有关系的所有对
象,包括表、索引、视图等等
➢ 删除表空间和临时表空间语句
– drop tablespace topo including contents and datafiles ; – drop tablespace topo_tmp including contents and datafiles;
Oracle基本操作培训
服务支持部 谢亚涛
议题
1 Oracle常用命令 2 产品实施数据库操作 3 常用SQL语句
tnsping命令
➢ Oracle Net 工具(命令)tnsping,是一个OSI会话层的工具,它用来:
– 验证名字解析(oracle自己的网络服务名) – 测试与远端数据库服务连接是否正常
FROM (SELECT resource_name, current_utilization, max_utilization, TO_NUMBER(initial_allocation) LIMIT
FROM v$resource_limit WHERE resource_name IN ('processes', 'sessions')
➢ 导出语句
– exp topo/topo file=d:/dbbak/topo_db_20140221.dmp log=d:/dbbak/topo_db_20140221_exp.log – 注意:该语句在dos窗口下执行,而非数据库中
导入数据库(恢复)
➢ 恢复的前提
– 必须停止用户对应业务系统模块,如NCC、BCC、COSS – 确保该用户没有任何会话连接 – 待恢复用户的表空间和DMP文件的表空间名称必须一致
➢ 现在的数据规模和数据量增长迅速,以前几百M或者几G可以使用IMP/EXP工具导入导出,也花 不了多久,但对于现在动不动就几十G或上百G的数据量,再使用IMP/EXP工具就显得力不从 心了,大量时间浪费在等待上。而Data Pump的执行速度比IMP/EXP要快数倍,也是Oracle 推荐的数据导入导出工具。
创建表空间
➢ 创建语句
– create tablespace topo datafile 'd:\oracle\product\10.2.0\oradata\orcl\topo.dbf' size 2048M autoextend on next 100M maxsize unlimited logging extent management local segment space management auto;
lsnrctlHale Waihona Puke Baidu令
➢ lsnrctl命令有三个选项start/stop/status,分别用来启动/停止/查看监听,如 果是windows系统这些操作也可以在系统服务中完成,因此该命令主要用于 linux系统上安装的数据库
启动关闭数据库
➢ 启动数据库
– 启动命令:startup – 启动顺序(过程):nomount mount open
创建用户及权限授予
➢ 创建语句
– create user topo identified by topo default tablespace topo temporary tablespace topo_tmp account unlock;
– 创建用户名为topo,密码为topo,使用默认表空间为topo,默认临时表空间为topo_tmp,并且用户 状态未锁定
➢ 创建顺序
– 创建表空间 – 创建临时表空间 – 创建用户 – 用户权限授予
➢ 删除顺序
– 删除用户及相关对象(确保用户未连接) – 删除表空间和临时表空间 – 注意:如果不是特别清理原因,没有必要删除表空间
➢ 以上操作必须由system用户执行
导出数据库(备份)
➢ 备份的必要性
– 避免服务器硬盘损坏导致数据丢失 – 迁移数据或者用户,升级业务系统 – 优化性能
log=d:/dbbak/topo_db_20140221_imp.log
使用脚本备份数据库
➢ 修改脚本内容以符合现场环境要求 ➢ 测试脚本执行是否有报错,并检查数据备份结果 ➢ 添加计划任务 ➢ 观察计划任务执行情况
数据泵方式备份恢复数据库
➢ Data Pump是Oracle 10g版本开始支持的新特性,支持并行处理导入、导出任务;支持暂停和 重启动导入、导出任务;支持导入时通过加入参数实现导入过程中修改对象属主、数据文件和 表空间等。
➢ 修改某个用户的密码
– alter user topo identified by newpass;
➢ 普通用户登录
– sqlplus topo/topo
➢ 显示当前有哪些表
– select tname from tab;
➢ 显示表结构
– desc tab;
查询会话及连接数总体情况
SELECT resource_name, current_utilization, max_utilization, LIMIT, ROUND(max_utilization / LIMIT * 100) || '%' rate
➢ 权限授予语句
– role privileges(角色权限)
• grant connect to topo; • grant oem_monitor to topo; • grant resource to topo;
– system privileges (系统权限)
• grant create view to topo; • grant unlimited tablespace to topo;
➢ 备份命令:expdp,恢复命令:impdp,具体使用方法详见相关文档
议题
1 Oracle常用命令 2 产品实施数据库操作 3 常用SQL语句
常用SQL(维护类)
➢ 显示当前有哪些用户
– select name from user$
➢ 显示当前的会话
– select SID,USERNAME,TERMINAL,MACHINE,PROGRAM,CLIENT_IDENTIFIER,LOGON_TIME from v$session
ORACLE 11G密码使用期限限制修改
➢ 经过一定时间的运行,oracle 11g可能会报“ORA-28001: the password has expired ”的 错误。
➢ 此错误的原因是由oracle 11g新特性造成的,Oracle 11G创建用户时缺省密码过期限制是180 天,如果超过180天用户密码未做修改则该用户无法登录
本地测试数据库监听
➢ 使用netca命令测试监听是否存在异常
查看数据库当前状态
➢ 登录到数据库后查询这个动态性能视图:v$database
– 执行语句:select open_mode from v$database;
• 如果数据库状态为nomount,会显示“ora-01507”错误; • 如果为mount,会显示mounted; • 如果是open,会显示read write或read only等。
– segment space management auto:表示段空间管理为自动方式
创建临时表空间
➢ 创建语句
– create temporary tablespace topo_tmp tempfile 'd:\oracle\product\10.2.0\oradata\orcl\topo_tmp.dbf' size 500M autoextend on next 10M maxsize unlimited extent management local uniform size 1m;
议题
1 Oracle常用命令 2 产品实施数据库操作 3 常用SQL语句
数据库操作的原则
➢ 命令输入完成后,在确认或者回车的时候一定要仔细检查
➢ 多注意将自己操作的信息进行日志记录
– 命令行方式:
• 将命令行和输出信息,用文本文件备份
– 图形方式:
• 将操作的步骤,尤其是确定和提交的地方,尽可能截图备份
AND max_utilization > 0);
查询当前连接数
select count(*) from v$process;
查询数据库所有用户的当前连接数
select username,count(username) from v$session where username is not null group by username;
➢ 删除的三个选项:
– including contents :指删除表空间中的segments – including contents and datafiles :指删除segments和datafiles – cascade constraints:删除所有与该空间相关的完整性约束条件
创建和删除顺序
– extent management 有两种方式 extent management local(本地管理),extent management dictionary(数据字典管理),默认的是local
– 本地管理表空间有自动分配(AUTOALLOCATE)和统一大小分配(UNIFORM)两种空间分配方式,自动分配 方式(AUTOALLOCATE)是由系统来自动决定extents大小,而统一大小分配(UNIFORM)则是由用户指定 extents大小,这两种分配方式都提高了空间管理效率,uniform:默认为1M大小,在temp表空间里 为默认的,但是不能被应用在undo表空间
➢ 恢复过程
– 第一步:清理原来的用户
• 删除用户 • 重建用户 • 用户授权
– 第二步:用imp命令恢复数据(两种)
• imp topo/topo file=d:/dbbak/topo_db_20140221.dmp log=d:/dbbak/topo_db_20140221_imp.log • imp system/system fromuser=topo touser=topo1 file=d:/dbbak/topo_db_20140221.dmp
– Logging:这个子句声明这个表空间上所有的用户对象的日志属性(缺省是logging),包括表,索 引,分区,物化视图,物化视图上的索引,分区
– extent management local 设置表空间的区管理为本地管理,为的是减少分配extent的时候产生的 内部递归sql,提高数据库分配空间的效率
– 3.如果密码将要过期或已经过期时,可通过“ALTER USER 用户名 IDENTIFIED BY 密码;”语句进行修改密码, 密码修改后该用户才可正常连接数据库。
查询指定表空间中占用空间最大的表
➢ select owner,segment_name,partition_name,tablespace_name,bytes/1024/1024 as MB from (select * from dba_segments where tablespace_name=‘CARRIER' order by bytes desc) where rownum<10
• nomount状态:打开参数文件,分配SGA,启动后台进程 • mount状态:将数据库与之前启动的实例关联,定位并打开控制文件 • open状态:打开联机数据文件和重做日志文件
➢ 关闭数据库
– 一致性关闭:shutdown immediate – 强制关闭(类似于断电):shutdown abort
– 1.通过“SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME' ” 语句查询密码的有效期设置,LIMIT字段是密码有效天数。
– 2.长久对应可通过“ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ”语句将口令有效 期默认值180天修改成“无限制”。
删除用户和表空间
➢ 删除用户语句
– drop user topo cascade; – cascade:级联删除,即在删除用户时加上这个关键字,会在删除这个用户的同时删除和该用户有关系的所有对
象,包括表、索引、视图等等
➢ 删除表空间和临时表空间语句
– drop tablespace topo including contents and datafiles ; – drop tablespace topo_tmp including contents and datafiles;
Oracle基本操作培训
服务支持部 谢亚涛
议题
1 Oracle常用命令 2 产品实施数据库操作 3 常用SQL语句
tnsping命令
➢ Oracle Net 工具(命令)tnsping,是一个OSI会话层的工具,它用来:
– 验证名字解析(oracle自己的网络服务名) – 测试与远端数据库服务连接是否正常
FROM (SELECT resource_name, current_utilization, max_utilization, TO_NUMBER(initial_allocation) LIMIT
FROM v$resource_limit WHERE resource_name IN ('processes', 'sessions')
➢ 导出语句
– exp topo/topo file=d:/dbbak/topo_db_20140221.dmp log=d:/dbbak/topo_db_20140221_exp.log – 注意:该语句在dos窗口下执行,而非数据库中
导入数据库(恢复)
➢ 恢复的前提
– 必须停止用户对应业务系统模块,如NCC、BCC、COSS – 确保该用户没有任何会话连接 – 待恢复用户的表空间和DMP文件的表空间名称必须一致
➢ 现在的数据规模和数据量增长迅速,以前几百M或者几G可以使用IMP/EXP工具导入导出,也花 不了多久,但对于现在动不动就几十G或上百G的数据量,再使用IMP/EXP工具就显得力不从 心了,大量时间浪费在等待上。而Data Pump的执行速度比IMP/EXP要快数倍,也是Oracle 推荐的数据导入导出工具。
创建表空间
➢ 创建语句
– create tablespace topo datafile 'd:\oracle\product\10.2.0\oradata\orcl\topo.dbf' size 2048M autoextend on next 100M maxsize unlimited logging extent management local segment space management auto;
lsnrctlHale Waihona Puke Baidu令
➢ lsnrctl命令有三个选项start/stop/status,分别用来启动/停止/查看监听,如 果是windows系统这些操作也可以在系统服务中完成,因此该命令主要用于 linux系统上安装的数据库
启动关闭数据库
➢ 启动数据库
– 启动命令:startup – 启动顺序(过程):nomount mount open
创建用户及权限授予
➢ 创建语句
– create user topo identified by topo default tablespace topo temporary tablespace topo_tmp account unlock;
– 创建用户名为topo,密码为topo,使用默认表空间为topo,默认临时表空间为topo_tmp,并且用户 状态未锁定
➢ 创建顺序
– 创建表空间 – 创建临时表空间 – 创建用户 – 用户权限授予
➢ 删除顺序
– 删除用户及相关对象(确保用户未连接) – 删除表空间和临时表空间 – 注意:如果不是特别清理原因,没有必要删除表空间
➢ 以上操作必须由system用户执行
导出数据库(备份)
➢ 备份的必要性
– 避免服务器硬盘损坏导致数据丢失 – 迁移数据或者用户,升级业务系统 – 优化性能
log=d:/dbbak/topo_db_20140221_imp.log
使用脚本备份数据库
➢ 修改脚本内容以符合现场环境要求 ➢ 测试脚本执行是否有报错,并检查数据备份结果 ➢ 添加计划任务 ➢ 观察计划任务执行情况
数据泵方式备份恢复数据库
➢ Data Pump是Oracle 10g版本开始支持的新特性,支持并行处理导入、导出任务;支持暂停和 重启动导入、导出任务;支持导入时通过加入参数实现导入过程中修改对象属主、数据文件和 表空间等。
➢ 修改某个用户的密码
– alter user topo identified by newpass;
➢ 普通用户登录
– sqlplus topo/topo
➢ 显示当前有哪些表
– select tname from tab;
➢ 显示表结构
– desc tab;
查询会话及连接数总体情况
SELECT resource_name, current_utilization, max_utilization, LIMIT, ROUND(max_utilization / LIMIT * 100) || '%' rate
➢ 权限授予语句
– role privileges(角色权限)
• grant connect to topo; • grant oem_monitor to topo; • grant resource to topo;
– system privileges (系统权限)
• grant create view to topo; • grant unlimited tablespace to topo;
➢ 备份命令:expdp,恢复命令:impdp,具体使用方法详见相关文档
议题
1 Oracle常用命令 2 产品实施数据库操作 3 常用SQL语句
常用SQL(维护类)
➢ 显示当前有哪些用户
– select name from user$
➢ 显示当前的会话
– select SID,USERNAME,TERMINAL,MACHINE,PROGRAM,CLIENT_IDENTIFIER,LOGON_TIME from v$session
ORACLE 11G密码使用期限限制修改
➢ 经过一定时间的运行,oracle 11g可能会报“ORA-28001: the password has expired ”的 错误。
➢ 此错误的原因是由oracle 11g新特性造成的,Oracle 11G创建用户时缺省密码过期限制是180 天,如果超过180天用户密码未做修改则该用户无法登录
本地测试数据库监听
➢ 使用netca命令测试监听是否存在异常
查看数据库当前状态
➢ 登录到数据库后查询这个动态性能视图:v$database
– 执行语句:select open_mode from v$database;
• 如果数据库状态为nomount,会显示“ora-01507”错误; • 如果为mount,会显示mounted; • 如果是open,会显示read write或read only等。
– segment space management auto:表示段空间管理为自动方式
创建临时表空间
➢ 创建语句
– create temporary tablespace topo_tmp tempfile 'd:\oracle\product\10.2.0\oradata\orcl\topo_tmp.dbf' size 500M autoextend on next 10M maxsize unlimited extent management local uniform size 1m;
议题
1 Oracle常用命令 2 产品实施数据库操作 3 常用SQL语句
数据库操作的原则
➢ 命令输入完成后,在确认或者回车的时候一定要仔细检查
➢ 多注意将自己操作的信息进行日志记录
– 命令行方式:
• 将命令行和输出信息,用文本文件备份
– 图形方式:
• 将操作的步骤,尤其是确定和提交的地方,尽可能截图备份
AND max_utilization > 0);
查询当前连接数
select count(*) from v$process;
查询数据库所有用户的当前连接数
select username,count(username) from v$session where username is not null group by username;
➢ 删除的三个选项:
– including contents :指删除表空间中的segments – including contents and datafiles :指删除segments和datafiles – cascade constraints:删除所有与该空间相关的完整性约束条件
创建和删除顺序
– extent management 有两种方式 extent management local(本地管理),extent management dictionary(数据字典管理),默认的是local
– 本地管理表空间有自动分配(AUTOALLOCATE)和统一大小分配(UNIFORM)两种空间分配方式,自动分配 方式(AUTOALLOCATE)是由系统来自动决定extents大小,而统一大小分配(UNIFORM)则是由用户指定 extents大小,这两种分配方式都提高了空间管理效率,uniform:默认为1M大小,在temp表空间里 为默认的,但是不能被应用在undo表空间
➢ 恢复过程
– 第一步:清理原来的用户
• 删除用户 • 重建用户 • 用户授权
– 第二步:用imp命令恢复数据(两种)
• imp topo/topo file=d:/dbbak/topo_db_20140221.dmp log=d:/dbbak/topo_db_20140221_imp.log • imp system/system fromuser=topo touser=topo1 file=d:/dbbak/topo_db_20140221.dmp
– Logging:这个子句声明这个表空间上所有的用户对象的日志属性(缺省是logging),包括表,索 引,分区,物化视图,物化视图上的索引,分区
– extent management local 设置表空间的区管理为本地管理,为的是减少分配extent的时候产生的 内部递归sql,提高数据库分配空间的效率
– 3.如果密码将要过期或已经过期时,可通过“ALTER USER 用户名 IDENTIFIED BY 密码;”语句进行修改密码, 密码修改后该用户才可正常连接数据库。
查询指定表空间中占用空间最大的表
➢ select owner,segment_name,partition_name,tablespace_name,bytes/1024/1024 as MB from (select * from dba_segments where tablespace_name=‘CARRIER' order by bytes desc) where rownum<10
• nomount状态:打开参数文件,分配SGA,启动后台进程 • mount状态:将数据库与之前启动的实例关联,定位并打开控制文件 • open状态:打开联机数据文件和重做日志文件
➢ 关闭数据库
– 一致性关闭:shutdown immediate – 强制关闭(类似于断电):shutdown abort