<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    轉載一篇文章oracle的一些操作

    Posted on 2011-08-03 10:33 瘋狂 閱讀(919) 評論(0)  編輯  收藏 所屬分類: databasejava性能
    轉自: http://renjie120.iteye.com/

    注意:數據庫版本是10g,不過大部分9i的也適用,閃回9i就沒有.

     

    1.曾經不小心把開發庫的數據庫表全部刪除,當時嚇的要死。結果找到下面的語句恢復到了1個小時之前的數據!很簡單。

    注意使用管理員登錄系統:

    select * from 表名 as of timestamp sysdate-1/12   //查詢兩個小時前的某表數據!既然兩小時以前的數據都得到了,繼續怎么做,知道了吧。。

     

    如果drop了表,怎么辦??見下面:

    drop table 表名;


    數據庫誤刪除表之后恢復:(
    絕對ok,我就做過這樣的事情,汗 )不過要記得刪除了哪些表名。
    flashback table 表名 to before drop;

     

    2.查詢得到當前數據庫中鎖,以及解鎖:

    查鎖
    SELECT /*+ rule */ s.username,
    decode(l.type,'TM','TABLE LOCK',
    'TX','ROW LOCK',
    NULL) LOCK_LEVEL,
    o.owner,o.object_name,o.object_type,
    s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
    FROM v$session s,v$lock l,dba_objects o
    WHERE l.sid = s.sid
    AND l.id1 = o.object_id(+)
    AND s.username is NOT NULL;

    解鎖
    alter system kill session 'sid,serial';
    如果解不了。直接倒os下kill進程kill -9 spid

     

     ORA-28000:賬戶被鎖定

    因為密碼輸入錯誤多次用戶自動被鎖定.

    解決辦法:alter user user_name account unlock;

     

    3.關于查詢數據庫用戶,權限的相關語句:

    Sql代碼 復制代碼 收藏代碼
    1. 1.查看所有用戶:   
    2. select * from dba_user;   
    3. select * from all_users;   
    4. select * from user_users;   
    5.   
    6.   
    7. 2.查看用戶系統權限:   
    8. select * from dba_sys_privs;   
    9. select * from all_sys_privs;   
    10. select * from user_sys_privs;   
    11.   
    12.   
    13. 3.查看用戶對象權限:   
    14. select * from dba_tab_privs;   
    15. select * from all_tab_privs;   
    16. select * from user_tab_privs;   
    17.   
    18.   
    19. 4.查看所有角色:   
    20. select * from dba_roles;   
    21.   
    22.   
    23. 5.查看用戶所擁有的角色:   
    24. select * from dba_role_privs;   
    25. select * from user_role_privs;  

     

    4.幾個經常用到的oracle視圖:注意表名使用大寫....................

    Sql代碼 復制代碼 收藏代碼
    1. 1. 查詢oracle中所有用戶信息   
    2.        select  * from dba_user;   
    3.    2. 只查詢用戶和密碼   
    4.        select username,password from dba_users;   
    5.    3. 查詢當前用戶信息   
    6.        select * from dba_ustats;   
    7.    4. 查詢用戶可以訪問的視圖文本   
    8.        select * from dba_varrays;   
    9.    5. 查詢數據庫中所有視圖的文本   
    10.        select * from dba_views;   
    11. 6.查詢全部索引    
    12. select * from user_indexes;   
    13. 查詢全部表格   
    14.       select * from user_tables;   
    15.          查詢全部約束   
    16.       select * from user_constraints;   
    17.           查詢全部對象   
    18.       select * from user_objects;  

     

    5.查看當前數據庫中正在執行的語句,然后可以繼續做很多很多事情,例如查詢執行計劃等等

    Sql代碼 復制代碼 收藏代碼
    1. (1).查看相關進程在數據庫中的會話      
    2.   Select   a.sid,a.serial#,a.program,   a.status   ,      
    3.   substr(a.machine,1,20),   a.terminal,b.spid      
    4.   from   v$session   a,   v$process   b      
    5.   where   a.paddr=b.addr      
    6.   and   b.spid   =   &spid;      
    7.        
    8.   (2).查看數據庫中被鎖住的對象和相關會話      
    9.   select   a.sid,a.serial#,a.username,a.program,      
    10.   c.owner,   c.object_name        
    11.   from   v$session   a,   v$locked_object   b,   all_objects   c      
    12.   where   a.sid=b.session_id   and      
    13.   c.object_id   =   b.object_id;      
    14.        
    15.   (3).查看相關會話正在執行的SQL      
    16.   select   sql_text   from   v$sqlarea   where   address   =        
    17.   (   select   sql_address   from   v$session   where   sid   =   &sid   );     

     

    6.查詢表的結構:表名大寫!!

    select t.COLUMN_NAME,
           t.DATA_TYPE,
           nvl(t.DATA_PRECISION, t.DATA_LENGTH),
           nvl(T.DATA_SCALE, 0),
           c.comments
      from all_tab_columns t, user_col_comments c
     whEre t.TABLE_NAME = c.table_name
       and t.COLUMN_NAME = c.column_name
       and t.TABLE_NAME = UPPER('OM_EMPLOYEE_T')
     order by t.COLUMN_ID     

     

    7.行列互換:

    Sql代碼 復制代碼 收藏代碼
    1. 建立一個例子表:   
    2. CREATE TABLE t_col_row(    
    3. ID INT,    
    4. c1 VARCHAR2(10),    
    5. c2 VARCHAR2(10),    
    6. c3 VARCHAR2(10));    
    7. INSERT INTO t_col_row VALUES (1, 'v11''v21''v31');    
    8. INSERT INTO t_col_row VALUES (2, 'v12''v22'NULL);    
    9. INSERT INTO t_col_row VALUES (3, 'v13'NULL'v33');    
    10. INSERT INTO t_col_row VALUES (4, NULL'v24''v34');    
    11. INSERT INTO t_col_row VALUES (5, 'v15'NULLNULL);    
    12. INSERT INTO t_col_row VALUES (6, NULLNULL'v35');    
    13. INSERT INTO t_col_row VALUES (7, NULLNULLNULL);    
    14. COMMIT;    
    15.   
    16. 下面的是列轉行:創建了一個視圖   
    17. CREATE view v_row_col AS  
    18. SELECT id, 'c1' cn, c1 cv   
    19. FROM t_col_row   
    20. UNION ALL  
    21. SELECT id, 'c2' cn, c2 cv   
    22. FROM t_col_row   
    23. UNION ALL  
    24. SELECT id, 'c3' cn, c3 cv FROM t_col_row;   
    25.   
    26. 下面是創建了沒有空值的一個豎表:   
    27. CREATE view v_row_col_notnull AS  
    28. SELECT id, 'c1' cn, c1 cv   
    29.  FROM t_col_row    
    30. where c1 is not null  
    31. UNION ALL  
    32. SELECT id, 'c2' cn, c2 cv   
    33.  FROM t_col_row   
    34. where c2 is not null  
    35. UNION ALL  
    36. SELECT id, 'c3' cn, c3 cv   
    37.  FROM t_col_row    
    38. where c3 is not null;  

     

    8.下面可能是dba經常使用的oracle視圖吧。呵呵

    Sql代碼 復制代碼 收藏代碼
    1. 1.示例:已知hash_value:3111103299,查詢sql語句:   
    2. select * from v$sqltext    
    3. where hashvalue='3111103299'  
    4. order by piece    
    5. 2.查看消耗資源最多的SQL:   
    6. SELECT hash_value, executions, buffer_gets, disk_reads, parse_calls   
    7. FROM V$SQLAREA   
    8. WHERE buffer_gets > 10000000OR disk_reads > 1000000   
    9. ORDERBY buffer_gets + 100 * disk_reads DESC;   
    10.   
    11. 3.查看某條SQL語句的資源消耗:   
    12. SELECT hash_value, buffer_gets, disk_reads, executions, parse_calls   
    13. FROM V$SQLAREA   
    14. WHERE hash_Value = 228801498AND address = hextoraw('CBD8E4B0');   
    15.   
    16. 4.查詢sql語句的動態執行計劃:   
    17.         首先使用下面的語句找到語句的在執行計劃中的address和hash_code   
    18.         SELECT sql_text, address, hash_value FROM v$sql t   
    19.                 where (sql_text like '%FUNCTION_T(表名大寫!)%')   
    20.         然后:   
    21.         SELECT operation, options, object_name, cost FROM v$sql_plan   
    22.                 WHERE address = 'C00000016BD6D248' AND hash_value = 664376056;   
    23.   
    24. 5.查詢oracle的版本:   
    25. select * from v$version;   
    26.   
    27. 6.查詢數據庫的一些參數:   
    28. select * from v$parameter   
    29.   
    30. 7.查找你的session信息   
    31. SELECT SID, OSUSER, USERNAME, MACHINE, PROCESS   
    32. FROM V$SESSION WHERE audsid = userenv('SESSIONID');   
    33.   
    34. 8.當machine已知的情況下查找session   
    35. SELECT SID, OSUSER, USERNAME, MACHINE, TERMINAL   
    36. FROM V$SESSION   
    37. WHERE terminal = 'pts/tl' AND machine = 'rgmdbs1';   
    38.   
    39. 9.查找當前被某個指定session正在運行的sql語句。假設sessionID為100   
    40. select b.sql_text    
    41. from v$session a,v$sqlarea b    
    42. where a.sql_hashvalue=b.hash_value and a.sid=100  

     

    9.樹形結構connect by 排序:

    Sql代碼 復制代碼 收藏代碼
    1. 查詢樹形的數據結構,同時對一層里面的數據進行排序   
    2. SELECT last_name, employee_id, manager_id, LEVEL  
    3.       FROM employees   
    4.       START WITH employee_id = 100   
    5.       CONNECT BY PRIOR employee_id = manager_id   
    6.      <SPAN style="BACKGROUND-COLOR: #ff0000"ORDER SIBLINGS BY last_name;</SPAN>   
    7.   
    8.   
    9.   
    10.   
    11.   
    12.   
    13. 下面是查詢結果   
    14. LAST_NAME                 EMPLOYEE_ID MANAGER_ID      LEVEL  
    15. ------------------------- ----------- ---------- ----------   
    16. King                              100                     1   
    17. Cambrault                         148        100          2   
    18. Bates                             172        148          3   
    19. Bloom                             169        148          3   
    20. Fox                               170        148          3   
    21. Kumar                             173        148          3   
    22. Ozer                              168        148          3   
    23. Smith                             171        148          3   
    24. De Haan                           102        100          2   
    25. Hunold                            103        102          3   
    26. Austin                            105        103          4   
    27. Ernst                             104        103          4   
    28. Lorentz                           107        103          4   
    29. Pataballa                         106        103          4   
    30. Errazuriz                         147        100          2   
    31. Ande                              166        147          3   
    32. Banda                             167        147          3   
    33.    

     

    10.有時候寫多了東西,居然還忘記最基本的sql語法,下面全部寫出來,基本的oracle語句都在這里可以找到了。是很基礎的語句!

    Sql代碼 復制代碼 收藏代碼
    1. 1.在數據字典查詢約束的相關信息:   
    2. SELECT constraint_name, constraint_type,search_condition   
    3. FROM        user_constraints WHERE        table_name = 'EMPLOYEES';   
    4.         //這里的表名都是大寫!   
    5. 2對表結構進行說明:   
    6.    desc Tablename   
    7. 3查看用戶下面有哪些表   
    8.    select table_name from user_tables;   
    9. 4查看約束在那個列上建立:   
    10.    SELECT constraint_name, column_name   
    11.    FROM        user_cons_columns   
    12.    WHERE          table_name = 'EMPLOYEES';   
    13. 10結合變量查找相關某個表中約束的相關列名:   
    14.   select constraint_name,column_name from user_cons_columns where table_name = '&tablename'  
    15. 12查詢數據字典看中間的元素:   
    16. SELECT   object_name, object_type   
    17. FROM     user_objects   
    18. WHERE    object_name LIKE 'EMP%'        
    19. OR       object_name LIKE 'DEPT%'  
    20. 14查詢對象類型:   
    21. SELECT DISTINCT object_type FROM           user_objects ;   
    22. 17改變對象名:(表名,視圖,序列)   
    23.   rename  emp to emp_newTable   
    24. 18添加表的注釋:   
    25.   COMMENT ON TABLE employees IS 'Employee Information';   
    26. 20查看視圖結構:   
    27.    describe view_name   
    28. 23在數據字典中查看視圖信息:   
    29.   select viewe_name,text from user_views   
    30. 25查看數據字典中的序列:   
    31.   select * from user_sequences   
    32. 33得到所有的時區名字信息:   
    33.         select  * from v$timezone_names   
    34. 34顯示對時區‘US/Eastern’的時區偏移量   
    35.         select TZ_OFFSET('US/Eastern'from DUAL--dual英文意思是‘雙重的’   
    36.    顯示當前會話時區中的當前日期和時間:   
    37.    ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';--修改顯示時間的方式的設置   
    38.    ALTER SESSION SET TIME_ZONE = '-5:0';--修改時區   
    39.    SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;--真正有用的語句!   
    40.   SELECT CURRENT_TIMESTAMP FROM DUAL;--返回的時間是當前日期和時間,含有時區   
    41.   SELECT CURRENT_TIMESTAMP FROM DUAL;--返回的時間是當前日期和時間,不含有時區!!!     
    42. 35顯示數據庫時區和會話時區的值:   
    43.         select datimezone,sessiontimezone from dual;   
    44.   
    45. 13普通的建表語句:   
    46. CREATE TABLE dept   
    47. (deptno         NUMBER(2),   
    48. dname         VARCHAR2(14),   
    49. loc         VARCHAR2(13));   
    50. 15使用子查詢建立表:   
    51.  CREATE TABLE         dept80   
    52.   AS  SELECT  employee_id, last_name,    
    53.             salary*12 ANNSAL,    
    54.             hire_date   FROM    employees   WHERE   department_id = 80;   
    55. 6添加列:// alter table EMP add column (dept_id number(7));錯誤!!   
    56.   alter table EMP add (dept_id number(7));   
    57. 7刪除一列:   
    58.   alter table emp drop column dept_id;   
    59. 8添加列名同時和約束:   
    60.  alter table EMP add (dept_id number(7)    
    61.    constraint my_emp_dept_id_fk  references dept(ID));   
    62. 9改變列://注意約束不能夠修改 的!!   
    63.  alter table dept80 modify(last_name varchar2(30));//這里使用的是modify而不是alter!   
    64. 24增加一行:   
    65.   insert into table_name values();   
    66.   
    67. 5添加主鍵:   
    68.  alter Table EMP  add constraint my_emp_id_pk primary key (ID);   
    69. 11添加一個有check約束的新列:   
    70.   alter table EMP   
    71.   add (COMMISSION number(2) constraint emp_commission_ck check(commission>0))   
    72. 16刪除表:   
    73.    drop table emp;   
    74. 19創建視圖:   
    75.    CREATE VIEW         empvu80   
    76.  AS SELECT  employee_id, last_name, salary   
    77.     FROM    employees     WHERE   department_id = 80;   
    78. 21刪除視圖:   
    79.    drop view view_name   
    80. 22找到工資最高的5個人。(top-n分析)(行內視圖)   
    81.  select rownum,employee_id from (select employee_id,salary from  
    82.  employees order by salary desc)   
    83.   where rownum<5;   
    84. 26建立同義詞:   
    85.   create synonym 同義詞名 for 原來的名字   
    86. 或者  create public synonym 同義詞名 for 原來的名字   
    87. 27建立序列:(注意,這里并沒有出現說是哪個表里面的序列!!)   
    88.   CREATE SEQUENCE dept_deptid_seq   
    89.                 INCREMENT BY 10   
    90.                 START WITH 120   
    91.                 MAXVALUE 9999   
    92.                 NOCACHE   
    93.                 NOCYCLE     
    94. 28使用序列:   
    95.         insert into dept(ID,NAMEvalues(DEPT_ID_SEQ.nextval,'Administration');   
    96. 29建立索引://默認就是nonunique索引,除非使用了關鍵字:unique  
    97.         CREATE INDEX emp_last_name_idx ON employees(last_name);   
    98. 30建立用戶:(可能有錯,詳細查看幫助)   
    99.         create user  username(用戶名)   
    100.         identified by oracle(密碼)   
    101.         default tablespace  data01(表空間名//默認存在system表空間里面)   
    102.         quota 10M(設置大小,最大為unlimited)  on 表空間名//必須分配配額!   
    103. 31創建角色:create ROLE manager   
    104.     賦予角色權限:grant create table,create view to manage   
    105.     賦予用戶角色:grant manager to DENHAAN,KOCHHAR( 兩個用戶)   
    106. 32分配權限:   
    107.         GRANT  update (department_name, location_id)   
    108.         ON     departments   
    109.         TO     scott, manager;   
    110.     回收權限   
    111.         REVOKE  selectinsert  
    112.         ON      departments   
    113.         FROM    scott;   
    114. 36從時間中提取年,月,日:使用函數extract   
    115.         select extract(year from sysdate) year,extract(month from sysdate),   
    116. extract(day from sysdate) from dual;   
    117. 37使用函數得到數月之后的日期:to_yminterval(‘01-02’)表示加上1年2月,不能夠到天!!   
    118.         select hire_date,hire_date +to_yminterval('01-02'as hire_date_new from employees where department_id=20   
    119.     得到多少天之后的日期:直接日期加數字!   
    120.         select hire_date +3 from employees where department_id=20   
    121. 38一般的時間函數:   
    122.         MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')--兩個日期之間的月數,返回一個浮點數   
    123.         ADD_MONTHS ('11-JAN-94',6)--添加月數   
    124.           NEXT_DAY ('01-SEP-95','FRIDAY'--下一個星期五的日期   
    125.         LAST_DAY('01-FEB-95')--當月的最后一天!   
    126.         ROUND(SYSDATE,'MONTH')         --四舍五入月   
    127.         ROUND(SYSDATE ,'YEAR')       --四舍五入年   
    128.         TRUNC(SYSDATE ,'MONTH')        --階段月   
    129.          TRUNC(SYSDATE ,'YEAR')        --截斷年     
    130. 39 group語句:和高級的應用語句:   
    131.         SELECT   department_id, job_id, SUM(salary),  COUNT(employee_id) FROM     employees   
    132.                 GROUP BY department_id, job_id ;   
    133.         使用having進行約束:   
    134.         1.group by rollup:對n列組合得到n+1種情況   
    135.         SELECT   department_id, job_id, SUM(salary)        FROM     employees  WHERE    department_id < 60 GROUP BY ROLLUP(department_id, job_id);   
    136.         2.group by cube:得到2的n次方種情況   
    137.         SELECT   department_id, job_id, SUM(salary) FROM     employees  WHERE    department_id < 60 GROUP BY CUBE (department_id, job_id) ;   
    138.         3.使用grouping得到一行中構成列的情況,只是返回1和0:是空的話就返回1,否則返回0(注意不要弄反了!)   
    139.         SELECT   department_id DEPTID, job_id JOB,  SUM(salary),    GROUPING(department_id) GRP_DEPT,    GROUPING(job_id) GRP_JOB   
    140.                 FROM     employees WHERE    department_id < 50 GROUP BY ROLLUP(department_id, job_id);   
    141.         4.grouping sets:根據需要得到制定的組合情況   
    142.         SELECT   department_id, job_id, manager_id,avg(salary) FROM     employees GROUP BY GROUPING SETS ((department_id,job_id), (job_id,manager_id));   
    143. 40from中使用子查詢:返回每個部門中大于改部門平均工資的與員工信息   
    144.         SELECT  a.last_name, a.salary, a.department_id, b.salavg  FROM    employees a,--下面的地方就是子查詢了,主要返回的是一組數據!   
    145.          (SELECT   department_id, AVG(salary) salavg   FROM     employees  GROUP BY department_id) b   
    146.         WHERE   a.department_id = b.department_id   
    147.         AND     a.salary > b.salavg;   
    148. 41exists語句的使用:   
    149.         SELECT employee_id, last_name, job_id, department_id   
    150.         FROM   employees outer--下面的 exists里面的select選擇出來的是隨便的一個字符或者數字都可以   
    151.         WHERE  EXISTS ( SELECT 'X'   FROM   employees WHERE  manager_id =  outer.employee_id);   
    152. 42厲害的with語句:   
    153.         WITH    
    154.          dept_costs  AS (--定義了一個臨時的表   
    155.                    SELECT  d.department_name, SUM(e.salary) AS dept_total--其間定義了一個臨時的列dept_total   
    156.                    FROM    employees e, departments d   
    157.                    WHERE   e.department_id = d.department_id   
    158.                    GROUP BY d.department_name),/*注意這里有逗號*/   
    159.         avg_cost    AS (   
    160.            SELECT SUM(dept_total)/COUNT(*) AS dept_avg   
    161.            FROM   dept_costs)--這里的第二張臨時表里面就引用了前面定義的臨時表和之間的列!   
    162.         SELECT *  FROM   dept_costs  WHERE  dept_total >  (SELECT dept_avg   FROM avg_cost) ORDER BY department_name;---最后的查詢語句中使用了前面的臨時表   
    163. 43遍歷樹:   
    164.         SELECT employee_id, last_name, job_id, manager_id   
    165.         FROM   employees   
    166.         START  WITH  employee_id = 101   
    167.         CONNECT BY PRIOR manager_id = employee_id ;--自底向上的遍歷樹。   
    168.   
    169. 44.更新語句   
    170. UPDATE employees SET    
    171.     job_id = 'SA_MAN', salary = salary + 1000, department_id = 120    
    172.     WHERE first_name||' '||last_name = 'Douglas Grant';    
    173.   
    174. UPDATE TABLE (SELECT projs    
    175.            FROM dept d WHERE d.dno = 123)  p    
    176.   SET p.budgets = p.budgets + 1    
    177.   WHERE p.pno IN (123, 456);  

     

    11.導入導出dmp文件:

    imp 用戶名/密碼@數據庫 ignore=y file=備份文件 log=D:\DBtest\db_bak\imp.log

     

    exp system/manager@TEST file=d:\daochu.dmp full=y

     

     12.大對象字段blob:查看blob字段的大小:

       select  dbms_lob.getLength (字段名)  from 表名 ; 

     

    13.下面收集的是有意思的sql語句,說不定正是你需要的:

     

    Java代碼 復制代碼 收藏代碼
    1. --創建一個只允許在工作時間訪問的視圖   
    2. create or replace view newviewemp   
    3. as   
    4. select * from 表名   
    5.  where exists(select 1 from dual where sysdate >=   
    6.        to_date(to_char(sysdate, 'yyyy-mm-dd ') || '08:00:00''yyyy-mm-dd hh24:mi:ss')   
    7.    and sysdate <   
    8.        to_date(to_char(sysdate, 'yyyy-mm-dd ') || '18:00:00''yyyy-mm-dd hh24:mi:ss'))   
    9.    

     

    14.存儲過程中執行ddl語句:

    Create Or Replace Procedure My_Proc As
    Sqlddl Varchar2(1000);
    Begin
    Sqlddl := 'create table MyTable(ID Number(5), Name Varchar2(20))';
    Dbms_Output.Put_Line(Sqlddl);
    Execute Immediate Sqlddl;
    End;

    主站蜘蛛池模板: 免费视频一区二区| 午夜成人免费视频| 日韩亚洲国产高清免费视频| 猫咪社区免费资源在线观看| 性生大片视频免费观看一级| 亚洲国产精品国自产拍AV| 亚洲免费视频播放| 色视频在线观看免费| 国产精品久久久亚洲| 毛片网站免费在线观看| 久久久久久av无码免费看大片| 亚洲无成人网77777| 亚洲成a人片在线观看国产| 免费A级毛片在线播放| 黄色毛片免费网站| 亚洲福利视频网址| ZZIJZZIJ亚洲日本少妇JIZJIZ| 亚洲美女免费视频| 一级特黄录像免费播放肥| 色老板亚洲视频免在线观| 在线a亚洲v天堂网2019无码| 女人被免费视频网站| 日韩成人免费视频| 免费夜色污私人影院网站| 国产成人精品亚洲2020| 久久综合九九亚洲一区| 国产一级做a爱免费视频| 1000部免费啪啪十八未年禁止观看| 又粗又长又爽又长黄免费视频| 精品久久久久久亚洲精品| 亚洲爆乳精品无码一区二区三区| 四虎影视在线永久免费观看| 免费观看无遮挡www的小视频| 中文字幕无码免费久久9一区9| 性色av极品无码专区亚洲| 亚洲国产亚洲片在线观看播放| 亚洲人成无码网站| 亚洲国产天堂久久久久久| 免费看美女被靠到爽的视频| 精品久久8x国产免费观看| 精品免费tv久久久久久久|