- --导出数据库
- exp test2/[email protected] file=e:\test2.dmp owner=test2
- --导入数据库
- imp test2/[email protected] file=‘e:\test.dmp‘ fromuser=test touser=test2
- --查看oracle当前的连接数
- select * from v$session where username is not null
- --查看不同用户的连接数
- select username,count(username) from v$session where username is not null group by username
- --连接数
- select count(*) from v$session
- --并发连接数
- Select count(*) from v$session where status=‘ACTIVE‘
- --查看当前有哪些用户正在使用数据
- SELECT osuser, a.username,cpu_time/executions/1000000||‘s‘, sql_fulltext,machine
- from v$session a, v$sqlarea b where a.sql_address =b.address order by cpu_time/executions desc;
- --oracle 服务
- OracleDBConsoleorcl --可以不启动,用于管理Oracle的企业管理器的服务;
- OracleJobSchedulerORCL --通常不启动,用于定期操作任务的服务;
- OracleOraDb10g_home1iSQL*Plus --可以不启动,这是isqlplus服务,用于用网页执行sql执行,11g已经取消了这个功能;
- OracleOraDb10g_home1TNSListener --必须启动,这是监听,用于远程客户端连接你的Oracle;
- OracleServiceORCL --必须启动,这是Oracle数据库的服务。
- 可以用命令启动:
- #启动listener:lsnrctl start
- #启动数据库:net start OracleServiceORCL
- --创建用户
- CREATE USER sa IDENTIFIED BY trp;
- --授予DBA权限
- GRANT DBA to sa;
- --授予创建连接权限,否则用户不能正常登陆
- GRANT CREATE SESSION TO sa
- --删除用户
- DROP USER sa
- --创建临时表空间
- create temporary tablespace test_temp tempfile ‘E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf‘ size 32m autoextend onnext 32m maxsize 2048m extent management local;
- --创建数据表空间
- create tablespace test_data logging datafile ‘E:\oracle\product\10.2.0\oradata\testserver\test_data01.dbf‘ size 32m autoextend on next 32m maxsize 2048m extent management local;
- --创建用户并指定表空间
- create user testserver_user identified by testserver_user default tablespace test_data temporary tablespace test_temp;
- 数据导出:
- 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
- exp system/[email protected] file=d:daochu.dmp full=y
- 2 将数据库中system用户与sys用户的表导出
- exp system/[email protected] file=d:daochu.dmp owner=(system,sys)
- 3 将数据库中的表inner_notify、notify_staff_relat导出
- exp aichannel/[email protected] file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
- 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
- exp system/[email protected] file=d:daochu.dmp tables=(table1) query=" where filed1 like ‘00%‘"
- 数据的导入
- 1 将D:daochu.dmp 中的数据导入 TEST数据库中。
- imp system/[email protected] file=d:daochu.dmp
- imp aichannel/[email protected] full=y file=d:datanewsmgnt.dmp ignore=y
- 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
- 在后面加上 ignore=y 就可以了。
- 2 将d:daochu.dmp中的表table1 导入
- imp system/[email protected] file=d:daochu.dmp tables=(table1)
- 常见错误
- 1.ORA-00257: 归档程序错误。在释放之前仅限于内部连接【由于不断归档导致磁盘空间,可调整归档空间大小,或删除部分以前的归档】
- 解决方法1:先手工删除D:\oracle\product\10.2.0\flash_recovery_area里面的日志,然后用户用rman(Recovory Manager)进入把归档日志删除
- 1)rman登陆命令>rman target /
- 2)命令>crosscheck archivelog all;
- 3)命令>delete expired archivelog all;
- 4)命令>exit
- 或
- --删除100天前日志
- delete NOPROMPT archivelog until time "sysdate-100";
- 解决方法2:调整FLASH_RECOVERY_AREA的大小:
- 登陆命令>sqlplus / as sysdba
- 修改命令>alter system set db_recovery_file_dest_size=8G scope=both;
- 查看命令>show parameter db_recovery_file_dest_size;
- 关闭登陆>shutdown immediate;
- 重启>startup
时间: 2024-10-24 20:38:56