`
xw302
  • 浏览: 120718 次
  • 性别: 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数据库学习指南

    38.优化调整Oracle 8i数据库(从操作系统) 39.在Internet上运作公司是一项艰苦的任务--关键任务 40.在oracle中限制返回结果集的大小 41.在远端如何建立standby数据库 42.怎样分析你的SQL语句的效率 43....

    [手工整理]208个Oracle安装文档,包含各个平台各个版本的单实例RAC以及DataGuard(1).xlsx

    59 Install Oracle 12C 18C 19C 操作系统兼容列表及配置要求 60 Install Oracle 12C linux7安装文档 61 Install Oracle 12C linux7安装文档 62 Install Oracle 9i 10g 11g 操作系统兼容列表及配置要求 63 ...

    db2-技术经验总结

    1.6. DB2实现类型ORACLE的一些功能 29 1.7. 字符数据类型转换的时候需要注意的问题(原) 30 1.8. 本地谓词的使用注意(原) 31 1.9. windows/Linux或Unix下查看DB2端口号 31 1.10. 尽量让fetch first n row only或者...

    深入解析Oracle.DBA入门进阶与诊断案例

    包括详细的操作步骤,具有很强的实战性和可操作性,适用于具备一定数据库基础、打算深入学习Oracle技术的数据库从业人员,尤其适用于入门、进阶以及希望深入研究Oracle技术的数据库管理人员。 第1章 数据库的启动...

    Oracle优化日记:一个金牌DBA的故事 白鳝.扫描版

    南京的死锁问题今日点评优化小技巧 Oracle的死锁优化小技巧 几个常用的与锁相关的脚本5月20日 凌晨的邮件通知短信今日点评优化小技巧 /10028事件优化小技巧 PL/SQL 优化工具profiler5月22日 ODS系统和RAC优化小技巧 ...

    oracle10g课堂练习II(1)

    数据库体系结构:结构组件汇总 1-19 小结 1-20 2 配置 Oracle Recovery Manager 课程目标 2-2 备份和恢复:概述 2-3 Oracle Recovery Manager 的功能 2-4 Oracle Recovery Manager 组件 2-6 配置 RMAN 的...

    Oracle数据库性能优化的艺术 (文平) 高清PDF扫描版

    全书一共12章:第1章从系统工程的角度总结了性能问题可以分为哪些阶段去考虑、性能问题有哪些种类,以及性能改进的工程方法等;第2章详细讲解了在数据库的设计阶段如何去考虑数据库的性能问题;第3~6章从物理数据库...

    2021数据仓库服务常见问题汇总-华为-51页.pdf

    5.9 Oracle 数据如何导入/迁移到GaussDB(DWS)? 5.10 GDS 导入数据时是否支持使用公网/外网导入? 6 帐户、密码、权限 6.1 数据库密码到期了,如何修改? 6.2 如何查看数据库中的所有用户和权限信息? 6.3 如何...

    oracle10g课堂练习II(2)

    数据库体系结构:结构组件汇总 1-19 小结 1-20 2 配置 Oracle Recovery Manager 课程目标 2-2 备份和恢复:概述 2-3 Oracle Recovery Manager 的功能 2-4 Oracle Recovery Manager 组件 2-6 配置 RMAN 的...

    关于java数据库基本操作

    所以,就此问题我根据平常使用总结出一些经验和大家交流一下。1、java数据库操作基本流程2、几个常用的重要技巧:·可滚动、更新的记录集·批量更新·事务处理java数据库操作基本流程:取得数据库连接-执行sql语句-处理...

    TianleSoftware Oracle中文学习手册

    在Oracle 几年的学习中,做了很多的实验,也遇到了很多的问题, 在这个过程中,积累了一些学习文档。也更新到了blog上。 因为太多,不便于查阅。 根据自己对 Oracle 的理解,把这些 blog 进行了分类,并进行了一些...

    SQL数据操作语句大全

    SQL数据操作语句大全 oracle、sql server 、db2 个人总结很好很全面

    Oracle 数据库 9i/10g/11g 扫描,优化提示,安全提示

    1,数据库配置报告:版本,用户,文件,空间,对象,队列,db-links,jobs,参数等 2,数据库alert.log日志分析,,,,(提示,日志不要太大了,6000行以下很快。) 3,数据库性能报告:事件,等待,TOP-SQL,TOP-...

    数据库编程技术总结ODBC API、ADO、ADO.NET、OCI、OTL

    当前各种主流数据库有很多,包括Oracle, MS SQL Server, Sybase, Informix, MySQL, DB2, Interbase / Firebird, PostgreSQL, SQLite, SAP/DB, TimesTen, MS ACCESS等等。数据库编程是对数据库的创建、读写等一列的...

    大数据常用数据库汇总.pdf

    ⼤数据常⽤数据库汇总 通常数据库分为关系型数据库和⾮关系型数据库,关系型数据库的优势到现在也是⽆可替代的,⽐如MySQL、SQL Server、Oracle、 DB2、SyBase、Informix、PostgreSQL以及⽐较⼩型的Access等等数据库...

    Linux常用命令汇总

    Linux常用命令汇总,用于初学者学习Linux知识 “Hello everybody out there using minix ---- I’m doing a free operating system” 1991.8,网络上出现了一篇以该句开头的一个帖子,发帖人就是一个芬兰的Linus ...

    PHP+MariaDB数据库操作基本技巧备忘总结

    本文实例总结了PHP+MariaDB数据库操作基本技巧。分享给大家供大家参考,具体如下: PHP+MySQL是比较常见的搭配,由于我主观上不太喜欢Oracle,而MySQL被它收购后,骨子里也发生了一些变化,因此我更换了MariaDB,...

    ThinkPHP连接数据库的方式汇总

    把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库适配器来处理,目前的数据库包括Mysql、MsSQL、PgSQL、Sqlite、Oracle、...

    数据库编程总结

    当前各种主流数据库有很多,包括Oracle,MSSQLServer,Sybase,Informix,MySQL,DB2,Interbase/Firebird,PostgreSQL,SQLite,SAP/DB,TimesTen,MSACCESS等等。数据库编程是对数据库的创建、读写等一列的操作。数据库编程...

    SQL必知必会(第3版)--详细书签版

     注意:提醒可能出现的问题,避免出现事故。    新术语,提供新的基本词汇的清晰定义。  表示读者可以自己输入的代码。  强调某个程序执行时的输出。  告诉读者将对程序代码进行逐行分析。...  

Global site tag (gtag.js) - Google Analytics