不是很懂你切换到其他表空间是什么意思。如果你只是想查询某个表空间上有什么表,可以这样做:
成都创新互联专注于天桥企业网站建设,响应式网站开发,商城建设。天桥网站建设公司,为天桥等地区提供建站服务。全流程按需定制开发,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
查询表空间所有表:select table_name from all_tables where TABLESPACE_NAME='表空间' 表空间名字一定要大写
如果你要查询 指定表空间上某个表,那就要先找到这个表属于什么用户,因为oracle不是根据表在哪个表空间来区分权限的,而是根据这个表所在用户区分权限的。
select owner from dba_tables where table_name='表名'; 表名也要大写。
假如查到这个表的owner是 aaa,表名是ttt,对于sys用户直接
select * from aaa.ttt 就可以了
1、将目标用户赋予dba权限,然后导入:grant dba to xxx;
2、使用有dba权限的用户来进行导入:imp xxx/xxx file=xx.dmp fromuser=原用户 touser=目标用户
3、这个关键是导入时的用户角色问题(主要是因为你导出时使用的用户为具有dba权限的用户),这个和你是否具有导入权限没有关系。
Oracle的学习主要有两个路线。
一个是Oracle的开发,主要用到Sql语句,一般来说做开发的都要用到其他的开发语言,如PB、VB、VC、Java、Delphi、.net等等,这样来配合使用开发C/S和B/s架构的程序。
一个是Oracle的管理,也就是人们常说的DBA,英文Database Administrator.
主要是维护数据库的工作。只用学会SQL语句和Oracle的结构等就可以了。
DBA需要对Oracle有一个很深的认识,否则难成大器。
然后你看看这个系统学习的方法:
来源:360oracle运维
如何进入JAZN命令环境 1.进入到目录$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/ 2.确保JAVA_HOME环境变量指向了正确的jdk(需要1.4以上)路径,可以使用oracle自带的jdk,位于$ORACLE_HOME/jdk 3.执行以下命令java -Djava.security.properties=$ORACLE_HOME/sqlplus/admin/iplus/provider -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password welcome -shell 其中realm=iSQL*Plus DBA,user=admin,这些可以从xml配置文件中看到,admin的默认密码是welcome,但是admin用户默认没有webDba权限,不能直接用于登陆isqlplus. 注意该命令一定要先进入第一步的目录后再执行,否则会报错oracle.security.jazn.JAZNRuntimeException: Configuration file "configjazn.xml" does not exist. Check your JAAS configuration settings.或者Realm [iSQL*Plus DBA] does not exist in system. 如果报以上的错误,请仔细检查你的当前目录是否和第一步中给出的目录完全一致 进入JAZN命令环境后,可以执行所有的任务: 1.新建用户ning,密码pass JAZN: adduser "iSQL*Plus DBA" ning pass 2.列出用户JAZN: listusers iSQL*Plus DBA/admin iSQL*Plus DBA/ning JAZN: listusers "iSQL*Plus DBA" admin ning 3.授予用户登陆isqlplus DBA的权限JAZN: grantrole webDba "iSQL*Plus DBA" ning 4.撤销用户登陆isqlplus DBA的权限JAZN: revokerole webDba "iSQL*Plus DBA" ning 5.删除用户JAZN: remuser "iSQL*Plus DBA" ning 6.修改用户密码JAZN: setpasswd "iSQL*Plus DBA" ning pass newpass 7.退出JAZN命令环境JAZN: exit 假设上面我们创建了一个用户ning,密码为pass,并且已经授予webDba权限。
如果不想通过sqlplus / as sysdba这样不输入密码就能登录,可以进行如下设置
1. 创建密码文件:
orapwd file=c:\orallocal.ora password=maximo entries=10
2. 在oraclehome中的network/admin下有个sqlnet.ora文件
加入或修改如下内容:
sqlnet.authentication_services=none
密码文件需要重启数据库才能生效
这样以后即使 as sysdba也需要输入正确的密码
(1)不建议以sysdba身份直接jdbc登录数据库,因为这样容易造成管理混乱。
(2)不建议sysdba用户和jdbc用户合用一个用户,因为不安全。
(3)如果需要查表等操作,个人建议授权,利用数据库的最小权限原则,如果每个人都知道sysdba的密码。那么这个人改一点,那个人改一点,数据库一定乱套。