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

Oracle常见的问题总结

阅读更多

SQL语句
1.       获取有哪些用户在使用数据库
select username from v$session;
2.       获取数据库的SID
select name from v$database;

3.       查看最大会话数
SELECT * FROM V$PARAMETER WHERE NAME LIKE 'proc%';

4.       查看数据库中所有用户及所有表
Select owner, table_name from dba_tables;

5.       分辨某个用户是从哪台机器登陆ORACLE的
SELECT machine , terminal FROM V$SESSION;

6.       查询每个用户的权限
SELECT * FROM DBA_SYS_PRIVS;

7.       查询当前用户对象
SELECT * FROM USER_OBJECTS;

表空间管理和用户管理

8.       查询表空间信息
SELECT * FROM DBA_DATA_FILES;

9.       运行SQLPLUS时不用输入用户名和密码,进入之后使用CONNECT
         SQLPLUS /NOLOG
        SQL>CONNECT SCOTT/TIGER
10.       把表移到另一个表空间
ALTER TABLE TABLENAME MOVE TABLESPACE TABLESPACENAME;
11.   创建表
CREAE TABLE TABLENAME
(COLUMN1 COLUTYPE DEFAULT(VALUE) NOT NULL)
(COLUMN2 COLUTYPE DEFAULT(VALUE) NOT NULL);
12.   建立主键
ALTER TABLE TABLENAME
ADD CONSTRAINT CONSTRAINTNAME PRIMARY KEY(COLUMN1,COLUMN2)

13.   删除约束
ALTER TABLE TABLENAME  DROP CONSTRAINT constraintname;
DROP TABLE TABLENAEM CASCADE CONSTRAINTS;(删除表后将所用的外键删除)

14.   给表增加列
ALTER TABLE TABLENAME
ADD COLUMN COLUTYPE DEFAULT(VALUE) NOT NULL;

15.   给列增加缺省值
ALTER TABLE TABLENAME
MODIFY COLUMNNAME  DEFAULT(VALUE) NOT NULL;

16.   建立主键
ALTER TABLE TABLENAME
ADD CONSTRAINT CONSTRAINTNAME PRIMARY KEY(COLUMN1,COLUMN2)
17.   给表增加外键
ALTER TABLE  TABLENAME
ADD CONSTRAINT  CONSTRAINTNAME
FOREIGN KEY(COLUMN) REFERENCES TABLE1NAME(COLUMN1);

18.   重新建立索引
ALTER INDEX INDEXNAME REBUILD TABLESPACE  TABLESPACE;

19.   创建用户、赋予权限
CREATE USER USER_DATA PROFILE DEFAULT IDENTIFIED BY  USER_DATA
    DEFAULT
    TABLESPACE USER_DATA  TEMPORARY
    TABLESPACE USER_DATA  ACCOUNT UNLOCK;

GRANT CONNECT TO USER_DATA;
GRANT RESOURCE TO USER_DATA;
20.   修改数据文件大小
ALTER DATABASE
DATAFILE 'c:\USERS01113.DBF' RESIZE 40M;

21.   删除表空间
DROP TABLESPACE USER_DATA INCLUDING CONTENTS;
22.   增加数据文件
ALTER TABLESPACE  USER_DATA
  ADD DATAFILE 'c:\USERS01113.DBF' SIZE 50M;
ALTER TABLESPACE USER_DATA
  ADD DATAFILE 'c:\USERS01114.DBF'  SIZE 50M
  AUTOEXTEND ON
23.   查看表空间和数据文件
select file_name,tablespace_name,autoextensible from dba_data_files;

24.   在SQLPLUS中调用存储过程
SET SERVEROUTPUT ON
declare
out_param varchar2(100);
begin
your_proc(1,out_param);
dbms_output.put_line(out_param);
end;
/
SET SERVEROUTPUT OFF

25.   查看当前会话

(1)    userenv() 函数
select userenv('language') from dual 字符集
        select userenv('isdba') from dual 是否DBA
        select userenv('sessionid') from dual sessionid
        select userenv('TERMINAL') from dual 客户端名字
        select userenv('INSTANCE') from dual 实例数

(2)    SYS_CONTEXT() 函数
select SYS_CONTEXT('USERENV','CURRENT_SCHEMA')  from dual;  当前模式
        select SYS_CONTEXT('USERENV','CURRENT_SCHEMAID')  from dual;  当前模式ID
        select SYS_CONTEXT('USERENV','CURRENT_USER')  from dual; 当前用户
        select SYS_CONTEXT('USERENV','DB_NAME')  from dual; 数据库
        select SYS_CONTEXT('USERENV','HOST')  from dual; 主机
select SYS_CONTEXT('USERENV','IP_ADDRESS')  from dual; 查看IP

26.   使用OEM备份或者EXP的步骤

WIN2000下:
(1). 控制面板――>管理工具―― >计算机管理――>本地用户和组――>用户――>新建用户sys和sysman(sys和sysman 的帐号要和登陆数据库的帐号相同);
(2).控制面板――>管理工具―― >本地安全策略――>本地策略――>用户权利指派――>
作为批处理作业登陆――>添加sys和sysman两个帐号。
(3).使用Enterprise Manager配置辅助工具
开始→程序→Oracle - OraHome81→Enterprise Manager→Configuration Assistant
a、使用Configuration Assistant工具来创建一个新的资料档案库。
(4).控制面板――>管理工具―― > 服务,查看OracleOraHome81ManagementServer是否启动,如果没有启动,则手动启动该服务。
(5).以sysman/oem_temp(default)登陆DBA Studio
(第二个选项:登陆到Oracle Management Server),立即修改密码为你刚才在NT下建的用户sysman的密码。
(6). 以sysman/ *** (bluesky) 从开始→程序→Oracle - OraHome81→Console 登陆到 控制台。
在 系统→首选项→首选身份证明(我的首选身份设置如下:)
DEFAULT节点:name:sysman
DEFAULT数据库:name:sys
(7). 在搜索/添加结点后,以sysman/ *** 登陆到该结点,以sys/ *** as sysdba登陆数据库(也就是在首选身份设置的结果)。
(8). 在工具→备份管理→向导→预定义备份策略(自定义备份策略)→提交备份计划
(9).从开始→程序→Oracle - OraHome81→Console 登陆到控制台,查看活动(历史记录)可以看到你的备份是否成功,如果不成功,可以点击备份看明细。(我第一次也没成功,后来我修改系统的临时目录 C:\WINNT\Temp→c:\temp\systmp,重新启动机器就ok了)

27.   修改表的列名
Oracle9i:
alter table xxx rename column xx to yy;
Oracle8i & lower version
connect sys/passed;
update col$ set name=xx where obj#=对象id and name = 字段
(一般不要这样用,会造成意想不到的结果)
注:最好是删除再建立新的列

28.   ORACLE的登录问题,用户名和密码
可以直接输入:
    internal/oracle@serivce_name
  sys/change_on_install@serivce_name
  system/manager@serivce_name
  scott/tiger@serivce_name
注意:
9i中没有internal/oracle
如果选择典型安装则有 scott用户
如果自定义可以不安装  scott用户
如果是本机则可以省略@serivce_name
oem:(ORACLE ENTERPRISE MANAGER)
sysman/oem_temp

29.   如何在Windows 2000下将Oracle完全卸载?
一、系统环境:
(1)、操作系统:Windows 2000 Server,机器内存128M
(2)、数据库: Oracle 8i R2 (8.1.6) for NT 企业版
(3)、安装路径:D:\ORACLE
二、卸载步骤:
(1)、开始->设置->控制面板->管理工具->服务
   停止所有Oracle服务。
(2)、开始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer
   卸装所有Oracle产品
(3)、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。
(4)、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口
(5)、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标
(6)、重新启动计算机,重起后才能完全删除Oracle所在目录
(7)、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,
  并从Windows 2000目录(一般为C:\WINNT)下删除以下文件
  ORACLE.INI、oradim80.INI
(8)、WIN.INI文件中若有[ORACLE]的标记段,删除该段
--------------------------------------------------------------------

30.   exp与imp的具体用法

exp username/password@mzbs_61 full=y file=yourdata.dmp grants=y rows=y
imp username/password full=y ignore=y file=yourdata.dmp grants=y
exp mzbs/mzbs@mzbs_61 file = c:\zzzzzzz.dmp grants = y rows = y
imp mzbs/mzbs@mzbs_61 file = c:\zzzzzzz.dmp grants = y ignore=y  FULL=Y

(1)
exp参数:
关键字   说明(默认) 
----------------------------------------------
USERID   用户名/口令
FULL   导出整个文件 (N)
BUFFER   数据缓冲区的大小
OWNER   所有者用户名列表
FILE   输出文件 (EXPDAT.DMP)
TABLES   表名列表
COMPRESS  导入一个范围 (Y)
RECORDLENGTH  IO 记录的长度
GRANTS   导出权限 (Y)
INCTYPE   增量导出类型
INDEXES   导出索引 (Y)
RECORD   跟踪增量导出 (Y)
ROWS   导出数据行 (Y)
PARFILE   参数文件名
CONSTRAINTS  导出限制 (Y)
CONSISTENT  交叉表一致性
LOG   屏幕输出的日志文件
STATISTICS  分析对象 (ESTIMATE)
DIRECT   直接路径 (N)
TRIGGERS  导出触发器 (Y)
FEEDBACK  显示每 x 行 (0) 的进度
FILESIZE  各转储文件的最大尺寸
QUERY   选定导出表子集的子句
imp参数:
关键字   说明(默认) 
----------------------------------------------
USERID   用户名/口令
FULL   导入整个文件 (N)
BUFFER   数据缓冲区大小
FROMUSER  所有人用户名列表
FILE   输入文件 (EXPDAT.DMP)
TOUSER   用户名列表
SHOW   只列出文件内容 (N)
TABLES   表名列表
IGNORE   忽略创建错误 (N)
RECORDLENGTH  IO 记录的长度
GRANTS   导入权限 (Y)
INCTYPE   增量导入类型
INDEXES   导入索引 (Y)
COMMIT   提交数组插入 (N)
ROWS   导入数据行 (Y)
PARFILE   参数文件名
LOG   屏幕输出的日志文件
CONSTRAINTS  导入限制 (Y)
DESTROY   覆盖表空间数据文件 (N)
INDEXFILE  将表/索引信息写入指定的文件
SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)
ANALYZE   执行转储文件中的 ANALYZE 语句 (Y)
FEEDBACK  显示每 x 行 (0) 的进度
TOID_NOVALIDATE  跳过指定类型 id 的校验
FILESIZE  各转储文件的最大尺寸
RECALCULATE_STATISTICS 重新计算统计值 (N)
(2)
一、建立一个expdata.sql文件
USERID=RMTAFIS/3       这里写你的用户名和密码
BUFFER=32768
OWNER=RMTAFIS         这里写导出的用户
FILE=E:\Exp\RMTAFIS.DMP      导出的文件,可以是相对路径
ROWs=Y
GRANTS=Y
COMPRESS=Y
CONSISTENT=Y
二、建立一个expdata.bat
exp parfile=expdata.sql
如果是805
exp80 parfile=expdata.sql
双击expdata.bat就导出数据了

30.   全数据库的导入与导出
exp username/password full=y file=yourdata.dmp grants=y rows=y
imp username/password full=y ignore=y file=yourdata.dmp grants=y

31.   单引号的插入问题
SQL> insert into a values('i''m good');       --两个''可以表示一个'
SQL> insert into a values('i'||chr(39)||'m good'); --chr(39)代表字符'
SQL> insert into a values('a'||'&'||'b');    

分享到:
评论

相关推荐

    Oracle常见问题总结

    ### Oracle常见问题总结 #### 一、Oracle 11g 导出空表设置 **问题背景** 在使用Oracle 11g进行数据备份时,可能会遇到一个问题:使用`exp`命令导出数据库时,空表(即没有任何数据的表)并不会被包含在导出文件中...

    ORACLE常见问题整理

    ### ORACLE常见问题整理 #### Oracle数据库备份与还原操作 **一、数据库备份** Oracle数据库备份是维护数据库安全稳定运行的重要环节,主要包括两种常见的备份方式: 1. **使用`exp`命令进行备份**:这种方式...

    ORACLE数据库常见问题汇总.doc

    ORACLE数据库常见问题汇总.doc

    oracle常见问题大全

    首先,让我们来看“Oracle常见傻瓜问题”。这通常涉及到初级用户在日常操作中遇到的简单但困扰的问题,例如登录失败、SQL语句错误、权限不足等。解决这些问题需要理解Oracle的用户管理、权限模型以及SQL语法基础。...

    Oracle性能问题总结

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

    oracle迁移达梦常见问题汇总

    本文主要结合之前一次oracle迁移达梦的项目,将碰到的问题以及一系列踩过的坑列举出来供大家参考,数据库版本是达梦7。(本文中涉及到的部分对象名已用sch1,tab1等方式替换) 1、整体情况 迁移过程中失败任务数低于5%...

    Oracle BIEE常见问题解决办法汇总

    Oracle BIEE 常见问题解决办法汇总 问题1:提示组合 * 添加筛选器选择对应的列 * 在筛选器属性页面,运算符中选择提示 知识点: 在 Oracle BIEE 中,添加筛选器可以根据需要选择对应的列,并在筛选器属性页面中...

    Oracle常见错误总结

    Oracle数据库是世界上最广泛使用的数据库管理系统之一,其稳定性和性能深受企业信赖。然而,在日常操作中,用户可能会遇到各种错误,这些错误可能导致...对于复杂的Oracle问题,可能还需要查阅官方文档或寻求专业支持。

    常见oracle问题的总结

    常见的oracle问题汇总,如下所示: 1. Oracle安裝完成后的初始口令? 2. ORACLE9IAS WEB CACHE的初始默认用户和密码? 3. oracle 8.0.5怎么创建数据库? 4. oracle 8.1.7怎么创建数据库? 10. 用什么语句查询字段呢? ...

    oracle常见问题解决方法(个人总结)word文档

    本文将基于提供的资源,总结一些常见的Oracle问题及其解决方案。 首先,Oracle数据库的iSQL*Plus和Enterprise Manager 10g Database Control是两个重要的管理工具。iSQL*Plus是一个基于Web的数据库管理工具,允许...

    Oracle常见问题解决方案汇总

    以上就是Oracle常见问题及其解决方案的汇总。希望本文的内容能够帮助到学习或工作中遇到Oracle数据库问题的朋友们,为大家提供一定的参考价值。同时,我们也鼓励大家对Oracle数据库的维护和管理持续学习和深入研究,...

    JDBC连接Oracle数据库常见问题及解决方法

    本文将对 JDBC 连接 Oracle 数据库常见问题进行总结和解决方法的介绍。以下是针对不同问题的解决方案: 1. Jbuilder 正确连接 Oracle 数据库需要注意的几个问题 在使用 Jbuilder 连接 Oracle 数据库时,需要注意...

    Oracle 常见故障解决方法

    下面总结了一些常见的 Oracle 故障解决方法: 1. 解决 Instance 间 Select 问题 在 RAC 过程中,发现个问题。其中有一张表约有 500 万条记录,如果其中的一个 Instance 去 Select 后,另外 2 个 Instance 在去 ...

    oracle sql项目开发中常见问题总结

    在Oracle SQL项目开发中,经常会遇到各种问题,以下是一些常见的问题及其解决方案: 1. **查询包含特殊字符的数据** 当需要查询包含特殊字符(如%或_)的数据时,可以使用`LIKE`关键字配合`ESCAPE`来指定特殊字符...

    Linux下安装oracle的常见问题小结

    本文主要针对三个常见的错误进行了总结和解决方案的提供。 **错误一:缺少libXp.so.6动态链接库** 这个问题出现在尝试运行Oracle安装程序时,系统提示找不到libXp.so.6共享对象文件。在RHEL5之前的版本,可以通过...

    oracle OCA 基本问题总结

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

    Oracle使用疑难问题汇总

    教程名称:Oracle使用疑难问题汇总课程目录:【】Oracle DBA优化数据库性能心得体会【】ORACLE 中ROWNUM用法总结【】Oracle 查询表空间使用情况(经典篇)【】Oracle下巧用bulk collect实现cursor批量fetch【】...

    CSDN Oracle 版精华帖荟萃

    21. Oracle常见问题总结:汇总常见的Oracle使用问题和解决方案,便于快速定位和处理问题。 22. Oracle经典优化教程:数据库优化是保证数据库性能和稳定运行的关键,好的优化教程能够指导开发者合理使用数据库资源。...

    Oracle常见问题与解决方案简介.pptx

    本篇主要探讨Oracle在不同模块中常见的问题及相应的解决方案。 首先,我们来看OM(Order Management)模块,这是处理订单管理和发运的主要部分。在OM模块中,问题常常涉及到库存管理、订单处理和发票创建。 1. 当...

Global site tag (gtag.js) - Google Analytics