oracle有sysdata,Oracle基础
1、默認事例:
用戶名:scott密碼:tiger 主機字符串:本機可以為空
2、啟動方法:
運行:sqlplusscott/tiger@lhd
3、SQLPLUS基本命令:
Desc:顯示表、視圖結構? desc 表名,視圖
List:列出SQL緩沖區區中的一行或多行命令語句
Exit:退出
4、常用的數據字典(三種前綴:USER,ALL,DBA)
USER_TABLES:用戶所有表信息
USER_VIEWS:用戶所有視圖
USER_CONSTRAINTS:記錄創建表結構的約束
USER_DEPENDENCIES:記錄用戶表之間的關系及自定義類型之間的關系
USER_TAB_COLUMNS:有關各表的列信息
USER_TRIGGERS:用戶觸發器的信息
5、顯示控制:
set linesize 500
set pagesize 100
"/"與"run"執行剛才執行的語句、也可以用“r”
"分號"代表語句結束提交到后臺執行
6、設置時間輸出格式:
alter session set NLS_date_format='YYYY-MM-DD'
7、清屏:clear screen
8、查詢某用戶下的表名:
SELECT * FROM dba_tables WHERE owner='HSA6'
9、查詢有幾個用戶
select * from dba_users
10、導入DMP格式數據:
1).新建成表空間和用戶名
2).impsystem/123456@orclfile='d:/data/test.dmp' log='d:/data/test.log' fromuser='hsa6' touser='hsa7'
fromuser是指dmp格式包中的某表空間的用戶,TOUSER 是指要導入的表空間的用戶
11、更改某值:
sqlserver:
update ca_company set dwmc=substring(dwmc,1,2)+'B'+substring(dwmc,4,10)
oracle:
UPDATE ca_company SET c4='b'|| substr(c4,2,LENGTH(c4)) WHERE c4 LIKE 'a%'
查詢系統所有用戶:select distince owner from dba_segments;
查看與多少個表空間:select?? tablespace_name from dba_tablespaces;
查看表空間有多少個表:select?? tablespace_name,bytes/1024/1024 file_size_mb file_name??? from dba_data_files;
1.連接:sqlplusscott/tiger@oracle或者 sqlplus / as sysdba;
2.退出:quit或exit;
3.查看當前用戶:show user;
4.重新連接:/ as sysdba;
5.創建表空間:create tablespace sales datafile 'd:/hello.dbf' size 4m;
6.查看當前時間:select sysdata from daul(有select?? 必有from);
7.查看表結構:desc dual (虛表);
8.創建用戶名和密碼:create user rose identified by rose;
9.授權( 使用oracle的資源): grant dba,connect,resource to rose;
10.用戶登陸:connect?? rose/rose;
11.鎖定用戶:alter user rose account lock;
12.解鎖用戶:alter user rose account unlock;
13. 刪除用戶:drop user rose;
14.在線:alter tablespace sales online;
15.離線:alter tablespace sales offline;
16.修改密碼:alter user rose identified by rose "012";
17.將表放到指定的表空間里:create table dept(did int) tablespace sales;
18.查詢指定的表在哪個表空間里:select tablespace_name from user_table where table_name="DEPT"(這里表空間的名字要大寫);
19.給表空間增加數據文件:alter tablespace sales add datafile 'd:/hello02.dbf' size 2m autoextend on next 6m;
20.修改大小:alter tablespace?? datafile 'd:/hello.dbf' resize 30m;
21.只讀:alter tablespace sales read only;
22. 可讀可寫:alter tablespace sales read write;
23.移動表空間數據文件步驟:(1):使表空間脫機
(2):修改數據文件的名稱
(3):執行 olter tablespace rename datafile 'c:/sales01.dbf'to 'd:/*.dbf'
可以有多個數據文件,但是源文件,要在to的左邊,目的文件要在to的右邊,文件名之間用逗號分割
(4):使用表空間連機
(5):查詢dba_data_files 確認成功
24.創建用戶指定默認的表空間磁盤配額:
create user rose identified by rose default tablespace sales quota 10m on sales;
25.刪除表空間同時刪除數據文件:drop tablespace sales including contents and datafiles;
26.查看當前用戶每個表占用空間的大小:
create segment_name,sum(bytes)/1024/1024 mb from user_extents group by segment name;
27.查看每個表空間占用空間的大小:
select tablespace_name,sum(bytes)/1024/1024 mb from dba_segments group by tablespace_name;
-- 查看ORACLE 數據庫中本用戶下的所有表
SELECT table_name FROM user_tables;
-- 查看ORACLE 數據庫中所有用戶下的所有表
select user,table_name from all_tables;
-- 查看ORACLE 數據庫中本用戶下的所有列
select table_name,column_name from user_tab_columns;
-- 查看ORACLE 數據庫中所有用戶下的所有列
select user,table_name,column_name from all_tab_columns;
-- 查看ORACLE 數據庫中的序列號
select * from user_sequences;
-- 上面的所有對象,都可以通過下面的SQL語句查詢得到
-- 查詢所有的用戶生成的ORACLE對象
SELECT * FROM user_objects;
-- 查看ORACLE 數據庫中所有表的注釋
select table_name,comments from user_tab_comments;
-- 查看ORACLE 數據庫中所有列的注釋
select table_name,column_name,comments from user_col_comments;
-- 給表加ORACLE的注釋
COMMENT ON TABLE aa10 IS '系統參數表';
-- 給列加ORACLE的注釋
COMMENT ON COLUMN aa10.aaa100 IS '參數類別';
-- 查看表中列的屬性,包括 數據類型,是否非空等
DESC aa10;
-- 通過系統表,查看表中列的屬性,包括 數據類型,是否非空等
SELECT table_name,COLUMN_ID,column_name,data_type,data_length, DATA_PRECISION,NULLABLE
FROM user_tab_columns
ORDER BY table_name,COLUMN_ID;
-- 查看數據庫中表、索引占用的數據庫空間大小
SELECT * FROM user_segments;
-- 查看所有表的記錄數
CREATE TABLE table_count(table_name VARCHAR2(50),columns NUMBER(20));
-- 通過PB運行下面的語句,得到結果集,將結果集在PB下執行,最后提交
select 'insert into table_count values('''||table_name||''', (select count(1) from '||table_name||'));//'||comments from user_tab_comments;
-- 所有表的記錄都在table_count了
SELECT * FROM table_count;
// 將ORACLE數據庫的注釋同步到PB中 代碼開始
DELETE FROM PBCATCOL WHERE PBC_TNAM LIKE '%';
DELETE FROM PBCATTBL WHERE PBT_TNAM LIKE '%';
INSERT INTO PBCATTBL
( PBT_TNAM,
PBT_OWNR ,
PBT_CMNT)
SELECT ALL_TAB_COMMENTS.TABLE_NAME,
ALL_TAB_COMMENTS.OWNER,
ALL_TAB_COMMENTS.COMMENTS
FROM ALL_TAB_COMMENTS
WHERE ALL_TAB_COMMENTS.OWNER = 'LH'
AND TABLE_NAME LIKE '%';
// 同步字段名
INSERT INTO PBCATCOL
( PBC_TNAM,
PBC_OWNR,
PBC_CNAM,
PBC_LABL,
PBC_CMNT,
PBC_HDR)
SELECT ALL_COL_COMMENTS.TABLE_NAME,
ALL_COL_COMMENTS.OWNER,
ALL_COL_COMMENTS.COLUMN_NAME,
ALL_COL_COMMENTS.COMMENTS ,
ALL_COL_COMMENTS.COMMENTS ,
ALL_COL_COMMENTS.COMMENTS
FROM ALL_COL_COMMENTS
WHERE ALL_COL_COMMENTS.OWNER = 'LH'
AND TABLE_NAME LIKE '%';
COMMIT;
-- 將ORACLE數據庫的注釋同步到PB中 代碼結束
--將PB注釋同步到ORACLE中
select 'comment on table '||pbt_tnam||' is '''||pbt_cmnt||''';' from pbcattbl where pbt_tnam not like 'PB%'
UNION
select 'comment on column '||pbc_tnam||'.'||pbc_cnam||' is '''||pbc_cmnt||''';' from pbcatcol where pbC_tnam not like 'PB%';
--查進程
select object_id,session_id,locked_mode from v$locked_object;
select t2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time;
--殺進程 alter system kill session '3,6666';
總結
以上是生活随笔為你收集整理的oracle有sysdata,Oracle基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 27 JSX函数子元素的应用与思考
- 下一篇: 1 redux初探、用react开发数值