Oracle的一些知识

导入数据到oracle
首先询问对方数据库的表空间名称和大小,然后在你的oracle中建立相应表空间,最后使用imp命令导入数据:
第一,启动sql*puls
第二,以system/manager登陆
第三,create user 你的用户名子 IDENTIFIED BY 你的密码
第四, GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY
VIEW ,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 你的用户名子
-----------
grant create user,drop user,alter user,create any view,drop any view,exp_full_database,imp_full_database,dba,connect,resource,create session to d4;
-----------
第五,import你的dmp
imp username/password@SID file=XXX.dmp fromuser=XXX touser=XXX tables=(XXX,XXX)

其中,fromuser若为多个表空间的话,使用()将其括起来:fromuser=(a,b);
touser参数仿fromuser参数;
若只导入一部分表,使用tables参数,用()括起要导入的表;如果想全部导入,不需要指定tables参数
1.要新建一个数据库;
2.若你的oracle安装在Unix/Linux上,直接在shell中使用imp;如果你的oracle安装在Windows上,随便在哪里开启一个CMD窗口就可以执行imp;
3.username/password指的是你的数据库的登录用户名和密码;
4.fromuser指对方数据库用户名,touser指你的数据库的用户名;
5.使用oracle的管理端在“表空间”中即可创建;
6.要导入所有的表最方便,不用写tables参数就成,不需要知道对方的表名。
grant select on v_$session to ds;

exp: imp zhs/zhs@porsche file=d:\database\porschetest20080825_1545.dmp fromuser=porschetest touser=zhs IGNORE='Y'

imp ds/ds@porsche file=d:\database\porschetest20080825_1545.dmp fromuser=porschetest touser=ds IGNORE='Y' statistics=none

imp ds/ds@porsche full=y file=xxx

----------------------------------------------------------------------------------------
用sys登陆:
1. 先 ssh root@127.0.0.1 pw:123
2. TEST2A:~ # sqlplus
3. Enter user-name: sys as sysdba
Enter password: 12345
在图形化sqlplus下:
User Name: sys
Password: 12345
==,
Host String: dmbservice as sysdba

----------------------------------------------------------------------------------------
重启oracle:
1. 停应用层的各种程序
2. 停Oralce的监听进程
 $ lsnrctl stop
3. 在独占的系统用户下,备份控制文件:
 $ sqlplus "/as sysdba"
 SQL> alter database backup controlfile to trace;
4. 在独占的系统用户下,手工切换重作日志文件,确保当前已修改过的数据存入文件:
 SQL> alter system switch logfile;
5. 在独占的系统用户下,运行下面SQL语句,生成杀数据库用户连接的kill_all_session.sql文件:
 SQL> set head off;
 SQL> set feedback off;
 SQL> set newpage none;
 SQL> spool ./kill_session.sql
 SQL> select 'alter system kill session '''||sid||','||serial#||''';' from v$session where username is not null;
 SQL> spool off;
6. 在独占的系统用户下,执行杀数据库用户连接的kill_session.sql文件
 SQL> @./kill_session.sql
7. 在独占的系统用户下,用immediate方式关闭数据库:
 SQL> shutdown immediate;
 或者
 SVRMGRL> shutdown immediate;
8. 启动oralce的监听进程
 $ lsnrctl start
9. 进入独占的系统用户下,启动Oralce数据库
 $ sqlplus /nolog
 SQL> connect / as sysdba
 SQL> startup;
 或者
 $ svrmgrl
 SVRMGRL> connect internal;
 SVRMGRL> startup;
10.启动应用层的各种程序
// 用oracle用户登陆: ssh oracle@192.168.0.137 密码:123456 再运行restart_oracle.sh。


如果"lsnrctl start"出现如下错误:
NL-00278: cannot open log file
SNL-00016: snlfohd: error opening file
Linux Error: 13: Permission denied
解决办法:
Hello, it's a permission problem. You just have to give more permission to you're directory, go to you're
directory /oracle/app/oracle/product/8.0.4/network/log
and apply that UNIX command => chmod a+x+w listener.log.
So, you're listener.log file will have the permission in execution, and everything should be fine.

-----------------------------------------------------------------------------
linux下的oracle从10g以后其启动与关闭与以前版本有所不同
9i 之后已经没有 svrmgrl 了,所有的管理工作都通过 sqlplus 来完成
启动数据库步骤如下:

注:$ORACLE_HOME为oracle的安装路径

1,以oracle用户登录
su oracle
2,启动TNS监听器
$ORACLE_HOME/bin/lsnrctl start
3,用sqlplus启动数据库
$ORACLE_HOME/bin/sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> startup

-------------------------------------------------------------------------------

查看本机linux主机是不是在vmare下:
ifconfig -a | grep -i -e "00-05-69" -e "00-0C-29" -e "00-50-56" ; dmesg | grep -i vmware
如果有输出,呵呵,是vmare无疑,白忙活了。

----------------------------------------------------------------------------------------
直接在X环境下停掉GDM服务:
sudo update-rc.d -f gdm remove
重新启动(进入文字命令行模式):
sudo reboot -n
如果想在命令行模式直接进入X环境的话,则需输入:
startx
如果想改回开机启动回到X环境的话,则需开启GDM服务即可:
sudo update-rc.d gdm defaults

以上操作都在ubuntu 8.04中测试,均可行!!!
根本就不需要去删除什么rc2.d等等的复杂操作..

----------------------------------------------------------------------------------------
查看ORACLE表空间:
SELECT TABLESPACE_NAME,SUM(BYTES) / 1024 / 1024 MB FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值