zoukankan      html  css  js  c++  java
  • 初接触Oracle数据库,常见问题与解决

    刚刚接触Oracle数据库,习惯了容易入手的SQL Server 2005 Manager Studio,对新东西还有些不适宜,左试试,右试试,将自己遇到的一些入门级的问题总结了一下,使用的Oracle版本是10g。

    1. 使用cmd登录sqlplus的方法

     

    >Sqlplus sys/12345678@ordb1 as sysdba

    Ordb1是数据库服务器名称

     

    2. 使用oracle的sqlplus登录sqlplus

     

     

     

    3. 远程连接Oracle数据库

     

    方法一:

    1. 打开\network\ADMIN\tnsnames.ora文件; //这里记录了一个连接名称所对应的服务器IP、端口号等信息

    2. 在其中复制修改增加如下代码:

    ORCL1 =

      (DESCRIPTION =

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

        (CONNECT_DATA =

          (SERVER = DEDICATED)

          (SERVICE_NAME = ORCL)

        )

      )

    其中,ORCL1即服务器数据库实例名,192.168.1.102即服务器地址,1521即端口,SERVICE_NAME是数据库服务器实例的名称(不是服务器的计算机名称),一般只修改这四个数据即可。

    3. 测试:

    在命令行输入:ping db服务器,看能否ping通。

    在命令行输入:tnsping db实例名,看能否成功连接到数据库。

    4. 最后可以通过数据库实例名,用户名,密码访问到数据库了。

    方法二:

    是使用Oracle的管理配置工具“Net Manager”。

    添加服务命名,

     

    其实应用这个工具的修改,最后也会被保存进"tnsnames.ora"文件中,同直接操作"tnsnames.ora"文件的效果一样。

     

    4. Oracle Enterprise Manager Console配置

     

    使用Oracle Enterprise Manager Console前,首先要启动OracleDBConsoleor<数据库实例服务名>windows服务。

    如果忘记emURL,可以应用>emca -config dbcontrol db命令进行重新配置;也可以在oracle\product\10.2.0\db_1\install目录上,打开:portlist.ini 文件进行查看。

     

    5. 创建用户,分配权限

     

    方法一:

    登录em(enterprise manager control,如http://192.168.1.65:5500/em),在其中进行用户的创建于配置;

    方法二:

    应用SQL语句,如

    CREATE USER "TESTUSER1" PROFILE "DEFAULT" IDENTIFIED BY "*******" ACCOUNT UNLOCK
    GRANT "CONNECT" TO "TESTUSER1"

     

    6. 忘记用户名、密码

     

    在服务器登录,

    >sqlplus / as sysdbaCONN SYS/PASS_WORD AS SYSDBA;

    使用如下语句修改用户的密码(除SYSSYSTEMSYSTEMSYS可使用对方的权限执行ALTER进行修改),

       ALTER USER <usernameIDENTIFIED BY <new pass>;

    如果SYSSYSTEM的密码都忘记的话,可应用ORAPWD.EXE工具修改密码。指令如下,

    Orapwd file=<文件路径+文件名> password=<新密码>,

    其中file的位置是保存密码的文件,如\oracle\product\10.2.0\db_1\database\PWDordb1.ora,文件名由“PWD+数据库服务名”组成。密码文件的位置在ORACLE_HOME目录下的\database目录下。

    这个密码是修改sys用户的密码。除syssystem其他用户的密码不会改变。

     

    7. Oracle的日志

     

    \oracle\product\10.2.0\admin\ordb1\bdump,记录了重作日志的转换,数据库启动和关闭,数据库结构的改变,回退段的修改,死锁,内部错误等信息。

     

    8. 同时执行多条sql语句

     

    方法一:

    用命令执行SQL文件,即把多条SQL语句写入在一个SQL文件中,如在D盘根目录下有一个a.sql文件,a.sql内容如下:

    insert into table values(....);

    insert into table values(....);

    insert into table values(....);

    insert into table values(....);

    我们可以用CMD命令下登录sqlplus,登录成功后输入:@d:\a.sql;即可。

    方法二:

    Toad中,输入多条SQL语句后,点击左上角工具栏中的“Execute as script”。

     

    9. 备份、还原数据库

     

    方法一:

    应用em(enterprise manager console)

    在需要进行主机身份认证时,需要在之前做如下操作,

    管理工具>本地安全策略>本地策略>用户权限分配>作为批处理作业登录,将操作系统用户添加进去即可,之后就可以使用操作系统用户进行登录了。

    方法二,应用exp, imp

    cmd下载,输入exp,登录后,可以根据提示进行备份;

    备份后,应用imp,可以对数据库进行恢复;

    登录时,用户名sys as sysdba。备份数据库表行数据时,注意每个表的前缀,及前缀.表名称。

    方法三,冷备份

    关闭数据库服务后,将控制文件,数据文件,日志文件进行备份,默认情况下,这些文件保存在一个目录下,如D:\oracle\product\10.2.0\oradata\ordb1

    参考资料,《数据库备份与恢复》,http://v.blog.sohu.com/u/vw/2102943

     

    10. SqlPlus操作数据库后,进行提交的语句

     

    Commit;

     

    11. 将数据库实例从一台电脑移动到另一台电脑

     

    使用冷备份后恢复的方式实现。

    目标如果是,将Oracle数据库实例从主机A移动到主机B

    1)在主机B上,建立与主机A上数据库实例名称相同的数据库实例;

    2)关闭主机AB上的所有Oracle服务;

    3)从主机A复制Oracle数据库实例的控制文件、数据文件、日志文件到主机B上,默认情况下这些文件会被保存在同一目录下,为$oracleRoot\oradata\<数据库服务名>

    4)启动主机B上的oracle服务;

    5)完成。

  • 相关阅读:
    一款炫酷Loading动画--载入失败
    ITK Configuring and Building in VisualStudio及hello world程序编译
    InnoDB: Error: log file .ib_logfile0 is of different size 0 10485760 bytes
    vim学习笔记(1)——vim操作
    Android数据格式解析对象JSON用法
    JSONObject与JSONArray的使用
    AsyncHttpClient来完成网页源代码的显示功能,json数据在服务器端的读取还有安卓上的读取
    android开源框架android-async-http使用
    开源框架AsyncHttpClient使用
    Android:Layout_weight的深刻理解
  • 原文地址:https://www.cnblogs.com/linc09/p/1513519.html
Copyright © 2011-2022 走看看