初接触Oracle数据库,常见问题与解决(转)

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

 

1. 使用cmd登录sqlplus的方法

 

> S qlplus sys/12345678@ordb1 as sysdba

O rdb1是数据库服务器名称

 

 

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 服务。

如果忘记em URL ,可以应用 >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 sysdba CONN SYS/PASS_WORD AS SYSDBA;

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

    ALTER   USER  < username IDENTIFIED   BY  < new   pass > ;

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

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

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

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

 

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) 关闭主机A B 上的所有 Oracle 服务;

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

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

5) 完成。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值