更换ORACLE表对象所属用户
以前有个项目将用户表建立在了system用户所属下,后来发觉危害相当大,准备将表对象转移到新建立的LAND用户下,没找到直接的办法,用以下办法得以实现:
1、建立新的LAND用户,在服务器的Oracle Enterprise Manager里分配 对象权限 ,添加对system中数据表对象的 select 权限。
2、以 LAND 用户登录,使用命令: create table <table_name> as select * from system.<table_name>来将数据原样复制到LAND用户下。
相关文档:
sql*plus 命令
//执行脚本
@和start d:/a.txt;
//修改脚本
edit d:/a.txt;
//将内容输入到文本中
sloop d:/a.txt; //开始记录屏幕内容
sloop off; //记录结束
//链接登录数据库
connect system/919959 as sysdba/sysoper; //权限最大dba
connect sys/919959;
connect scott/ti ......
全数据库备份建议用oracle自带的 exp命令。
导某张表的话,或者备份某个用户的信息,可以到
Tool-》export table 导表
Tool-》export user object 导用户的数据。
-----------------------------------------------------------------------------------------
在oracle中,执行sql文件,可以写一个批处理文件
sqlplus& ......
Oracle执行外部文件:
c:>sqlplus user/pwd@db
sql>@new.sql
执行多个sql文件:
1.把所有的文件都放在同一个目录下,然后在命令行里执行命令:
c:>dir/b > d:\1.sql
会把所有的sql文件名都输出到一个sql文件中。
2.用UltraEdit打开生成的 ......
Oracle中的存储过程和游标:
select myFunc(参数1,参数2..) to dual; --可以执行一些业务逻辑
一:Oracle中的函数与存储过程的区别:
A:函数必须有返回值,而过程没有.
B:函数可以单独执行.而过程必须通过execute执行.
C:函数可以嵌入到SQL语句中执行.而过程不行.
其实我们可以将比较复杂的查询写成函数.然后到存储过程 ......
症状:oracle sqlplus没反应
oracle10g的有十几个机器客户端10.2.0.1.0,执行sqlplus这个命令没反映。此时cpu使用为99.9%,观察了一会,不释放。
oracle其他命令都好使。
环境变量、ping tnsname等都没问题。。且这些机器都是至少运行了200多天左右,
但一旦重启OS就好使了。。
或者不重启OS,换成9i的客户端,sqlplus ......