好久沒寫博客了,最近這段項目再在遷移所以有點忙.下面是這段時間學習并用到的命令.
首先查詢當前 目錄信息?select * from dba_directories ;
1.導出數據庫.首先賦予用戶對目錄的權限,然后再導出 log為日志.
Ⅰ:
SQL >> create or replace directory exportDIR as '/opt/oracle/oradata';
Ⅱ:
SQL >> grant read,write on directory exportDIR to userX;
Ⅲ:
[cmd] >> expdp userX/userX directory=exportDIR dumpfile=userX_date.dump logfile=userX_date.log;
2.導入數據庫.首先賦予用戶對目錄的權限,然后再導入.
Ⅰ:
SQL >> create or replace directory importDIR as '/opt/oracle/oradata';
Ⅱ:
SQL >> grant read,write on directory importDIR, exp_full_database to userX;
Ⅲ:
[cmd] >> impdp userX/userX directory=importDIR dumpfile=userX_date.dump;
3.新建用戶并授權.
Ⅰ:
SQL >> create tablespace userSpace datafile '/opt/oracle/tablespace/userSpace.dbf' size 50M reuse autoextend off;
------------用戶名--------------密碼---------------------表空間-------------------臨時表空間--
Ⅱ:
SQL >> create user userX identified by userX default tablespace userSpace temporary tablespace TEMP;
Ⅲ:
SQL >> grant create table,drop any table,create sequence,
alter any trigger, create trigger, drop any trigger,
alter any type, create type, drop any type,
create database link,
create view, drop any view,
create indextype,
create procedure,
create synonym,
create materialized view,
unlimited tablespace,
create session to userX;
4.用戶登錄獲取sysdba權限.
linux
Ⅰ:
[cmd] >> su - oracle;
Ⅱ:
SQL?>> conn / as sysdba;
window
Ⅰ:
[cmd] >> sqlplus
Ⅱ: 按提示輸入用戶名和口令 用戶名為system 口令為建立數據庫時設置的口令 1234
Ⅲ: 當不記得口令是可以嘗試
[cmd] >> sqlplus /nolog;
SQL >> conn / as sysdba;
5.常用的 SQL
Ⅰ.查詢表空間
SQL >> SELECT A.TABLESPACE_NAME "表空間名稱",
100 - ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100, 2) "占用率(%)",
ROUND(A.BYTES_ALLOC / 1024 / 1024, 2) "容量(M)",
ROUND((A.BYTES_ALLOC - NVL(B.BYTES_FREE, 0)) / 1024 / 1024, 2) "使用(M)",
ROUND(NVL(B.BYTES_FREE, 0) / 1024 / 1024, 2) "空閑(M)",
ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100, 2) "空閑率(%)",
TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') "采樣時間"
FROM (SELECT F.TABLESPACE_NAME,
SUM(F.BYTES) BYTES_ALLOC,
SUM(DECODE(F.AUTOEXTENSIBLE, 'YES', F.MAXBYTES, 'NO', F.BYTES)) MAXBYTES
FROM DBA_DATA_FILES F
GROUP BY TABLESPACE_NAME) A,
(SELECT F.TABLESPACE_NAME, SUM(F.BYTES) BYTES_FREE
FROM DBA_FREE_SPACE F
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME;
Ⅱ.DBA權限查看導出目錄
SQL >> ?select * from dba_directories;
Ⅲ.數據庫啟動關閉
=======================================================
--查詢數據庫啟動狀態
SQL >> select status from v$instance; || [cmd] >> ps -ef | grep oracle;
--關閉監聽
[cmd] >> $lsnrctl stop
--登陸sqlplus
[cmd] >> $ sqlplus / as sysdba
--關閉數據庫
SQL >>?shutdown immediate;
--重啟數據庫
SQL >> startup;
--退出sqlplus
SQL >> exit
--打開監聽
[cmd] >> lsnrctl start
=======================================================
Ⅳ.查看數據庫一共有多少條數據
SQL >> select sum(num_rows) from dba_tables;
Ⅴ.查看當前用戶多少表
SQL >> select * from user_tables;
Ⅵ.刪除用戶
SQL >> drop user userX cascade;
Ⅶ.刪除表空間
SQL> drop tablespace userSpace including contents and datafiles cascade constraints;
6.遇到的問題.
Ⅰ:存儲過程不能debug調試.用戶權限不夠。
SQL>> grant debug any procedure,debug connect session to userX;
Ⅱ:oracle環境變量設置
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.1.0/db_1
export ORA_CRS_HOME=/opt/oracrs
export ORACLE_SID=orcl--數據庫名字
?
? ? ??Ⅲ:exp導出功能
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
