刚刚接触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服务。
如果忘记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)完成。