刚刚接触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) 完成。