当前位置:  数据库>oracle
本页文章导读:
    ▪Oarcle导出导入数据库      Oarcle导出、导入数据库:导出:exp cu/cu@db owner=cu file=D:\cu.dmp  导入:imp cu/mycu@db fromuser=CU touser=SA file=d:\cu.dmp ignore=y    imp:命令类型    cu/mycu@db:导入的数据库登陆(用户.........
    ▪Oracle 数据库、实例、配置文件的个人理解      一 Oracle配置文件 主要介绍Oracle的网络配置文件:listener.ora、sqlnet.ora、tnsnames.ora;都是放在$ORACLE_HOME/network/admin目录下; 提示:不记得$ORACLE_HOME的目录的话,可以用plsql dev登录后数据库后:.........
    ▪通过exp向ORACLE导入数据,报出ORA-00257错误          前几天帮同事装了台ORACLE数据库服务器,装完他就用之前导出的数据进行导入测试,结果发现以往大概只需要7、8分钟的文件居然用了20多分钟没导完。连上去一看,发现好像是.........

[1]Oarcle导出导入数据库
    来源:    发布时间: 2013-10-29

Oarcle导出、导入数据库:
导出:exp cu/cu@db owner=cu file=D:\cu.dmp  

导入:imp cu/mycu@db fromuser=CU touser=SA file=d:\cu.dmp ignore=y

    imp:命令类型
    cu/mycu@db:导入的数据库登陆(用户名/密码@数据库)
    fromuser:文件的指定用户
    touser:指定导入到当前登录的数据库某个用户
    file:需要导入的数据文件
    ignore:是否忽略创建错误

本文链接


    
[2]Oracle 数据库、实例、配置文件的个人理解
    来源:    发布时间: 2013-10-29

一 Oracle配置文件

主要介绍Oracle的网络配置文件:listener.ora、sqlnet.ora、tnsnames.ora;都是放在$ORACLE_HOME/network/admin目录下;

提示:不记得$ORACLE_HOME的目录的话,可以用plsql dev登录后数据库后:进行菜单栏的Help(帮助)菜单下的Support Info的子菜单,如下图:

从中找到TNS File的相关路径信息,即可找到下面将要介绍的三个文件所在目录。

1.  sqlnet.ora-----通过这个文件来决定怎么样找一个连接中出现的连接字符串。
例如我们客户端输入

l 用sql plus登录
sqlplus plms/lyplms@dedev

l 或者用PL/SQL DEV登录

假如我的sqlnet.ora是下面这个样子
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
那么,客户端就会首先在tnsnames.ora文件中找dbdev的记录.如果没有相应的记录则尝试把dedev 当作一个主机名,通过网络的途径去解析它的 ip地址然后去连接这个ip上GLOBAL_DBNAME=dbdev这个实例,当然我这里dbdev并不是一个主机名

如果我是这个样子
NAMES.DIRECTORY_PATH= (TNSNAMES)
那么客户端就只会从tnsnames.ora查找ora的记录,括号中还有其他选项,如LDAP等并不常用。

2.  tnsnames.ora------这个文件类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应。
只有当sqlnet.ora中类似NAMES.DIRECTORY_PATH= (TNSNAMES) 这样,也就是客户端解析连接字符串的顺序中有TNSNAMES是,才会尝试使用这个文件。
例子:
dbdev =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = dbdev)

)

)

dbdev:客户端连接服务器端使用的服务别名。注意一定要顶行书写,否则会无法识别服务别名。
PROTOCOL:客户端与服务器端通讯的协议,一般为TCP,该内容一般不用改。
HOST:ORACLE服务器端IP地址或者hostname。确保服务器端的监听启动正常。
PORT:数据库侦听正在侦听的端口,可以察看服务器端的listener.ora文件或在数据库侦听所在的机器的命令提示符下通过lnsrctl status [listener name]命令察看。此处Port的值一定要与数据库侦听正在侦听的端口一样。
SERVICE_NAME:在服务器端,用system用户登陆后,sqlplus> show parameter service_name命令查看。

3.  listener.ora------listener监听器进程的配置文件
关于listener进程就不多说了,接受远程对数据库的接入申请并转交给oracle的服务器进程。所以如果不是使用的远程的连接,listener进程就不是必需的,同样的如果关闭listener进程并不会影响已经存在的数据库连接。
例子:
#listener.ora Network Configuration File: #E:/oracle/product/10.1.0/Db_2/NETWORK/ADMIN/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
    (SID_LIST =
         (SID_DESC =
             (GLOBAL_DBNAME = dbdev)
             (ORACLE_HOME = G:\oracle\product\10.2.0\db_1)
             (SID_NAME = dbdev)
         )
    )

LISTENER =
    (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
    )

LISTENER :监听名称,可以配置多个监听,多个监听的端口号要区分开来。
GLOBAL_DBNAME :全局数据库名。通过select * from global_name; 查询得出
ORACLE_HOME :oracle软件的跟目录
SID_NAME :服务器端(本机)的SID
PROTOCOL:监听协议,一般都使用TCP
HOST:本机IP地址,双机时候使用浮动IP
PORT:监听的端口号,使用netstat –an 检查该端口不被占用。

当你输入sqlplus plms/lyplms@dedev的时候
1. 查询sqlnet.ora看看名称的解析方式,发现是TNSNAME
2. 则查询tnsnames.ora文件,从里边找dbdev的记录,并且找到主机名,端口和service_name
3. 如果listener进程没有问题的话,建立与listener进程的连接。
4. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端就连接上了数据库的server process。
5. 这时候网络连接已经建立,listener进程的历史使命也就完成了。

sql*plus运行基本机理:
在用户输入sqlplus system/manager@test后,sqlplus程序会自动到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN参数,假如该参数存在,则将该参数中的值取出,加到网络服务名的后面,即此例中你的输入由sqlplus system/manager@test自动变为sqlplus system/manager@test.server.com ,然后再到tnsnames.ora文件中找test.server.com网络服务名,这当然找不到了,因为该文件中只有test网络服务名,所以报错。解决的办法就是将sqlnet.ora文件中的NAMES.DEFAULT_DOMAIN参数注释掉即可,如 #NAMES.DEFAULT_DOMAIN = server.com。假如NAMES.DEFAULT_DOMAIN参数不存在,则sqlplus程序会直接到tnsnames.ora文件中找 test网络服务名,然后取出其中的host ,port,tcp,service_name,利用这些信息将连接请求发送到正确的数据库服务器上。

参考资料:

二 数据库与实例

数据库(database):物理操作系统文件或磁盘(disk)的集合(例如:数据文件、临时文件、重做日志文件和控制文件)。使用Oracle 10g的自动存储管理(Automatic Storage Management,ASM)或RAW分区时,数据库可能不作为操作系统中单独的文件,但定义仍然不变。

实例(instance):一组Oracle后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。也许实例不能算是世界上最有用的事物,不过你完全可以把它想成是最有用的事物,这有助于对实例和数据库划清界线。
这两个词有时可互换使用,不过二者的概念完全不同。实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库!

实例的主要工作包括:

1,维护所有进程需要访问的多种内部数据结构;

2,缓存磁盘上得数据,另外重做数据写至磁盘之前先在这里缓存

3,保存已解析的sql计划等

已DBA角色登陆运行下面的命令查看数据库和实例

SQL> show parameter service_name;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

service_names string dbdev

SQL> show parameter instance_name;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

instance_name string dbdev

SQL> show parameter db_name;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

db_name string dbdev

本文链接


    
[3]通过exp向ORACLE导入数据,报出ORA-00257错误
    来源: .net/c#/asp.net iis7站长之家   发布时间: 2013-10-29

    前几天帮同事装了台ORACLE数据库服务器,装完他就用之前导出的数据进行导入测试,结果发现以往大概只需要7、8分钟的文件居然用了20多分钟没导完。连上去一看,发现好像是已经挂起了,导入到某个表就不继续执行下去了,程序挂起。使用PLSQL登陆,发现有异常信息报出,内容为ORA-00257。 经过分析,存储空间分配得很充裕,按道理应该不是日志空间的问题,那又是什么呢?安装的过程中有个地方设置 Flash Recovery恢复区,指定到了ASM存储卷组中,而且设置的默认值是不到4G。 检查空间使用情况:select * from v$flash_recovery_area_usage; 发现确实已经几乎耗尽。因此,按照实际情况,适当地对该空间进行了拓展。修改语句如下: alter system set DB_RECOVERY_FILE_DEST_SIZE=20g; 修改完毕后,重新进行测试,发现已经恢复正常。

本文链接


    
最新技术文章:
▪current online redo log缺失后的恢复
▪ORA-600 2662错误解决实例
▪ORA-00600 2662错误解决方法
▪Oracle Hidden Parameter:_allow_resetlogs_corruption
▪Oracle诊断事件列表
▪Oracle 隐含参数 _disable_logging 详解
▪ORA-00600 [2662]错误解决过程
▪Oracle里常见的执行计划
▪Oracle里另外一些典型的执行计划
▪Oracle服务器自动备份
▪Oracle固定SQL的执行计划(一)---SQL Profile
▪Oracle固定SQL的执行计划(二)---SPM
▪同一环境下新建Standby RAC库
▪Oracle快速克隆安装
▪Oracle单实例启动多个实例
▪Oracle的PLSQL别名中文出现乱码解决方法
▪ORA-00379: no free buffers available in buffer pool DEFAULT ...
▪RMAN-06023: no backup or copy of datafile 16 found to restor...
▪RMAN还原数据库报错问题解决案例
▪OEL6.8_X86平台部署Oracle 10gR2检测失败问题
▪Oracle 性能优化建议
▪Oracle SQL语句优化心得
▪Oracle慢SQL监控脚本实现
▪Oracle dblink 查询 tns:无法解析指定的连接标识...
▪Red Hat Enterprise Linux 6使用udev配置Oracle ASM总结...
▪Linux6.6及以上版本配置Oracle ASM共享储存-UDEV
▪Oracle 12C 开启数据库归档模式
▪Solairs系统中配置Oracle 12c 开机启动
▪重建DBMS_STATS解决ORA-31626 ORA-21633以及ORA-04063 ORA...
▪Oracle ASMM 与AMM之间相互切换
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3