`
xw302
  • 浏览: 123923 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle DB 操作问题总结

阅读更多
一、备份DB
首先设置Oracle环境(ORACLE_HOME,ORACLE_SID)

引用
Connected to an idle instance.
这是环境设置有问题,修改正确即可,参照:
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1/
export ORACLE_SID=hub
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/opmn/bin:$ORACLE_HOME/OPatch/:$PATH


然后给数据库用户OSL建立备份文件以及赋予相应的权限,再用expdp命令备份
$sqlplus /nolog
SQL> conn /as sysdba
SQL> CREATE OR REPLACE DIRECTORY dir_dump AS '/home/oracle/dump';
SQL> GRANT read,write ON DIRECTORY dir_dump TO OSL;
SQL> exit

(查询已有的directory:select * from dba_directories;)

$expdp OSL/OSL@osl DIRECTORY=dir_dump DUMPFILE=X0326.dmp LOGFILE=X0326.log


恢复备份
impdp OSL/OSL@osl DIRECTORY=dir_dump DUMPFILE=X0326.dmp


自动备份
在当前用户下建立一个文件DB_AutoBackup_cron:
5 * * * * /home/oracle/DB_AutoBackup.sh

引用
crontab中处理的文件格式为 分钟 小时 日期 月 星期 执行的文件名 *代表所有条件,5 * * * * 表示第5分钟。
# 文件格式说明
#  ——分钟 (0 - 59)
# |  ——小时 (0 - 23)
# | |  ——日   (1 - 31)
# | | |  ——月   (1 - 12)
# | | | |  ——星期 (0 - 7)(星期日=0或7)
# | | | | |
# * * * * * 被执行的命令


在DB_AutoBackup.sh中:
#Oracle environment
source db.env

#backup time
BTime=`date +%Y%m%d`
echo $BTime

#expdp username/passwd@SID/servername

#LT&LT Admin
expdp OSL/OSL@hub DIRECTORY=dir_dump DUMPFILE=DB_$BTime.dmp LOGFILE=DB_$BTime.log


注意:`date +%Y%m%d`这儿是用的反引号,Esc下面的`,非单引号';另外一种写法$(date +%Y%m%d)。

然后运行crontab:
crontab DB_AutoBackup_cron

引用
  crontab [-u user] file
        crontab [-u user] [ -e | -l | -r ]
                (default operation is replace, per 1003.2)
        -e      (edit user's crontab)
        -l      (list user's crontab)
        -r      (delete user's crontab)
        -i      (prompt before deleting user's crontab)
        -s      (selinux context)



Drop user
drop user xxx cascade

如果不成功
关闭db监听,重启数据库(不启动监听)即可
lsnrctl stop


Create tablespace
CREATE TABLESPACE xxx_DATA DATAFILE 'xxx_DATA.dat' SIZE 500K REUSE AUTOEXTEND ON NEXT 500K MAXSIZE 100M;


Create user
create user User identified by "passwd" default tablespace User_DATA;
grant connect to User;
grant resource to User;
grant create tablespace to User;
grant create view to User;
grant create sequence to User;


Modify tablespace size
alter database datafile 'oslfucn.dat' resize 100M;



二、如何把dump文件导入到不同用户(schema)不同表空间时,用如下参数即可:
REMAP_TABLESPACE
Default: There is no default

Purpose
Remaps all objects selected for import with persistent data in the source tablespace to be created in the target tablespace.

Syntax and Description
REMAP_TABLESPACE=source_tablespace:target_tablespace
Multiple REMAP_TABLESPACE parameters can be specified, but no two can have the same source tablespace. The target schema must have sufficient quota in the target tablespace.

REMAP_SCHEMA
Default: There is no default

Purpose
Loads all objects from the source schema into a target schema.

Syntax and Description
REMAP_SCHEMA=source_schema:target_schema
Multiple REMAP_SCHEMA lines can be specified, but the source schema must be different for each one. However, different source schemas can map to the same target schema. The mapping may not be 100 percent complete, because there are certain schema references that Import is not capable of finding. For example, Import will not find schema references embedded within the body of definitions of types, views, procedures, and packages.

For example:
impdp system/passwd remap_schema=olderSchema:newSchema REMAP_TABLESPACE=olderSpace:newSpace DIRECTORY=DATA_DUMP_DIR DUMPFILE=***.dmp


Other parameters:
REMAP_DATA
REMAP_DATAFILE
REMAP_TABLE


三、启动关闭服务命令详解
1、SHUTDOWN有四个参数:NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不带任何参数时表示是NORMAL。
SHUTDOWN NORMAL:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
SHUTDOWN TRANSACTIONAL:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
SHUTDOWN IMMEDIATE:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。
SHUTDOWN ABORT:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。
另外,对于NORMAL、TRANSACTIONAL、IMMEDIATE,DB Buffer Cache的内容写入了数据文件,没有提交的事务被回滚,所有的资源被释放,数据库被“干净”的关闭。
对于ABORT,DB Buffer Cache的内容没有写入数据文件,没有提交的事务也没有回滚。数据库没有dismount和关闭,数据文件也没有关闭。当数据库启动时,需要通过redo log恢复数据,通过回滚段对事务回滚,对资源进行释放。

2、STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ database] | MOUNT | NOMOUNT]
STARTUP OPEN:STARTUP缺省的参数就是OPEN,打开数据库,允许数据库的访问。当前实例的控制文件中所描述的所有文件都已经打开。
STARTUP MOUNT:MOUNT数据库,仅仅给DBA进行管理操作,不允许数据库的用户访问。仅仅只是当前实例的控制文件被打开,数据文件未打开。
STARTUP NOMOUNT:仅仅通过初始化文件,分配出SGA区,启动数据库后台进程,没有打开控制文件和数据文件。不能任何访问数据库。
STARTUP PFILE= filename:以filename为初始化文件启动数据库,不是采用缺省初始化文件。
STARTUP FORCE:中止当前数据库的运行,并开始重新正常的启动数据库。
STARTUP RESTRICT:只允许具有RESTRICTED SESSION权限的用户访问数据库。
STARTUP RECOVER:数据库启动,并开始介质恢复。

四、drop all tables and sequences in oracle

tables:
SELECT 'DROP TABLE ' || TABLE_NAME || ' CASCADE CONSTRAINTS;' FROM user_tables;


sequences:
SELECT 'DROP SEQUENCE ' || sequence_name || ';' FROM user_sequences;



五、字符集问题
查询字符集
select * from nls_database_parameters
NLS_NCHAR_CHARACTERSET
AL16UTF16


六、查询被锁的表及进程的方法介绍
查看被锁的表
select p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$process p,v$session a, v$locked_object b,all_objects c where p.addr=a.paddr and a.process=b.process and c.object_id=b.object_id


查看连接的进程

SELECT sid, serial#, username, osuser FROM v$session;


杀掉进程

alter system kill session 'sid,serial#';


查看当前用户下表的占用空间

Select Segment_Name, Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name


查询所有对象占用空间

select owner, segment_name,sum(bytes/1024/1024)   from   dba_segments   
group by owner,segment_name


查询数据库中各对象占用空间大小
Select Segment_Name,b.object_type, Sum(bytes)/1024/1024 From User_Extents a,user_objects b
where a.segment_name=b.object_name Group By Segment_Name,b.object_type order by object_type, Segment_Name


oracle中去除字段中的回车符
update ywj_yxglobj set table_name = replace(table_name,chr(10),'')
where table_name like 'ACCT_INFO%'


其他常见ca
启动EM控制台:
$ORACLE_HOME/bin/emctl start dbconsole


其他常见操作
启动EM控制台:
$ORACLE_HOME/bin/emctl start dbconsole


修改用户密码过期为永不过期
select * from dba_profiles
where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
alter profile default limit password_life_time unlimited;

修改用户密码
alter user username identified by password;



0
0
分享到:
评论

相关推荐

    Oracle DB优化总结

    【Oracle DB优化总结】 在数据库管理系统中,Oracle Database(Oracle DB)因其稳定性和高性能而备受赞誉,但随着数据量的增长,优化数据库性能显得至关重要。本文将深入探讨Oracle DB的优化策略,包括优化器的选择...

    oracledb.zip

    总结,`oracledb.zip`提供的封装`oracledb`模块旨在简化Oracle数据库在Node.js环境下的操作,提高开发效率。通过阅读`README`文档和使用示例,可以快速掌握其用法,实现高效稳定的数据库交互。在实际项目中,结合...

    实践Oracle与DB2区别及问题解决

    总结,Oracle和DB2各有优势,选择哪种数据库主要取决于业务需求、预算和现有的技术栈。理解两者之间的差异以及如何解决可能出现的问题,对于数据库管理员和开发人员来说至关重要。在实践中,不断学习和适应新的...

    Oracle Provider for OLE DB Developer's Guide.pdf

    它作为OLE DB和Oracle数据库之间的桥梁,使开发者能够通过OLE DB API直接操作Oracle数据库,从而实现了跨平台的数据访问能力。 #### 三、安装与配置 **1. 安装Oracle Provider for OLE DB** - **下载安装包**:...

    ORACLE转DB2对照全解

    ### ORACLE转DB2对照全解 #### 一、Oracle SQL PL与DB2 inline SQL PL对比 本章节主要介绍Oracle SQL PL与DB2 inline SQL PL之间的对比,包括但不限于存储过程、触发器、用户定义函数(UDF)、条件语句及流程控制...

    db2和oracle的区别.docx

    总结来说,DB2和Oracle在操作系统支持、数据库实例创建、SQL语法、性能特性、安全性和高可用性等方面存在显著差异。选择哪个数据库系统取决于特定的应用需求、性能要求、企业规模以及团队的技能和经验。

    AIX and Oracle DB 12C

    标题《AIX和Oracle DB 12C》和描述《IBM官方AIX操作系统支持Oracle 12C操作系统版本与补丁要求》揭示了两个重要的IT技术领域之间的紧密联系:AIX操作系统和Oracle数据库12C版本。 AIX是IBM开发的一种基于UNIX的商业...

    Laravel开发-oracledb

    总结起来,本文介绍了如何在Laravel 5项目中集成Oracle数据库,包括安装`Laravel-OracleDB`扩展、配置数据库连接,以及如何在Laravel的环境中利用Oracle数据库进行开发。这个过程使得开发者可以在充分利用Laravel...

    ORACLE与DB2的区别和转换

    ### ORACLE与DB2的区别和转换 #### 一、简介 在数据库领域,Oracle和DB2都是非常流行的数据库管理系统。它们各自具有独特的特性和优势,并且广泛应用于不同的业务场景中。对于那些需要在Oracle和DB2之间进行数据...

    DB2 to Oracle 迁移培训

    通过理论讲解与实际操作相结合的方式,不仅能够帮助学员快速掌握 DB2 的基础知识,还能让他们深入了解如何有效地将现有 Oracle 数据库迁移至 DB2。此外,该课程还特别强调了 DB2 在数据并发控制和 XML 数据处理方面...

    Oracle性能问题总结

    Oracle 性能问题总结 Oracle 性能问题是数据库管理员和开发者经常遇到的一个棘手问题,本文总结了 Oracle 性能问题的解决方案,涵盖了物理模型优化、索引相关、SQL 相关、表设计和其他几个方面。 在物理模型优化...

    Oracle XML DB应用开发Oracle Database 11g

    总结来说,Oracle XML DB是Oracle Database 11g中一个强大而全面的XML处理工具,它提供了一种高效、安全、灵活的方式来存储、管理和操作XML数据。开发者可以利用其丰富的功能和API,构建出能够充分利用XML优势的应用...

    oracle+mysql+db2 驱动包Jar

    总结来说,"JDBC_oracle+mysql+db2"这个压缩包包含了与Oracle、MySQL和DB2数据库交互所需的JDBC驱动,它们是Java开发者连接这三种数据库的重要工具。正确理解和使用这些驱动,能够帮助开发者高效地实现数据库操作,...

    oracle OCA 基本问题总结

    ### Oracle OCA 基本问题总结 #### 一、OCA认证介绍 OCA(Oracle Certified Associate)是Oracle认证中的初级认证,适用于那些希望在Oracle数据库管理领域获得职业发展的人员。通过OCA认证,可以证明持证人掌握了...

    ORACLE DB升级性能保障利器SPA最佳实践

    SPA是Oracle提供的一个强大的性能监控和分析工具,专门用于评估数据库变更前后SQL语句的性能变化,以保证在进行系统更改如升级、打补丁、改变数据库参数或Schema等操作时,能够预测和控制SQL语句的执行时间和资源...

    Oracle XML DB

    ### Oracle XML DB:详解与应用 #### 一、引言 随着互联网的发展和企业信息化建设的需求不断升级,数据处理和管理的方式也在发生着深刻的变化。其中,XML(可扩展标记语言)作为一种重要的数据交换格式,在现代...

    ORACLE DB故障解决技巧

    总结而言,ORACLE数据库故障解决和诊断需要DBA具备扎实的技术功底和丰富的经验。在面对问题时,DBA应根据错误信息和系统日志,结合各种诊断工具来快速定位问题所在,从而采取相应的解决措施。同时,DBA还需要关注...

Global site tag (gtag.js) - Google Analytics